.elementor-widget-html:has(.pl-video){width:100%!important;flex:1 1 100%!important;align-self:stretch!important;}
.pl-video{width:100%;}
.pl-video .pl-ratio{position:relative;width:100%;height:0;padding-bottom:56.25%;background:#000;overflow:hidden;}
.pl-video .pl-ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}

html{scroll-behavior:smooth;}
#albums-e1,#albums-e2,#albums-ef,#videos-e1,#videos-e2,
#saison-afl-2025-2026,#tournois-post-saison-2026,#matchs-afl-2025-2026{scroll-margin-top:100px;}



/* ===== Paris Lacrosse : kit du design system (paris-lacrosse.css) ===== */
/* ==========================================================================
   Paris Lacrosse · CSS du site (WordPress + Elementor)
   À coller dans Apparence > Personnaliser > CSS additionnel.
   Polices : installées avec l'extension gratuite « Custom Fonts »,
   familles nommées exactement « Golden Varsity » et « Montserrat ».
   Généré depuis le Paris Lacrosse Design System : ne pas modifier à la main,
   changer les tokens dans le design system puis régénérer.
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
  --pp-black: #000000;
  --pp-red: #dd1f1f;
  --pp-orange: #f7931e;
  --pp-white: #ffffff;
  --pp-red-deep: #b01616;
  --pp-red-tint: #fbe4e4;
  --pp-red-light: #ff6b6b;
  --pp-ink-800: #141414;
  --pp-ink-700: #1f1f1f;
  --pp-line-dark: #2b2b2b;
  --pp-grey-1: #bcbcbc;
  --pp-grey-2: #636363;
  --pp-grey-3: #767676;
  --pp-grey-4: #e4e4e4;
  --pp-grey-5: #f4f4f4;
  --color-brand: var(--pp-red);
  --color-brand-strong: var(--pp-red-deep);
  --color-accent: var(--pp-orange);
  --surface-page: var(--pp-white);
  --surface-card: var(--pp-white);
  --surface-muted: var(--pp-grey-5);
  --text-primary: var(--pp-black);
  --text-secondary: var(--pp-grey-2);
  --text-muted: var(--pp-grey-3);
  --text-accent: var(--pp-red);
  --text-brand: var(--pp-red);
  --text-on-brand: var(--pp-white);
  --border-default: var(--pp-grey-4);
  --border-strong: var(--pp-grey-3);
  --color-success: #16804a;
  --on-success: var(--pp-white);
  --color-danger: var(--pp-red);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.10);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-brand: 0 8px 24px rgba(221, 31, 31, 0.28);
  --focus-ring: 0 0 0 3px #dd1f1f;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 6rem;
  --border-width: 1.5px;
  --border-width-bold: 3px;
  --container-max: 1200px;
  --tap-min: 44px;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --text-2xs: 0.6875rem;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.25rem;
  --text-3xl: 3rem;
  --text-4xl: 4rem;
  --text-5xl: 5.5rem;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-black: 900;
  --leading-tight: 1.04;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
  --tracking-display: 0.01em;
  --tracking-wider: 0.08em;
  --tracking-widest: 0.16em;
  --font-display: "Golden Varsity", "Arial Narrow", sans-serif;
  --font-body: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Bandeau sombre : classe pp-dark sur un conteneur Elementor */
.pp-dark {
  --surface-page: var(--pp-black);
  --surface-card: var(--pp-ink-700);
  --surface-muted: var(--pp-ink-800);
  --text-primary: var(--pp-white);
  --text-secondary: var(--pp-grey-1);
  --text-muted: #8f8f8f;
  --text-accent: var(--pp-orange);
  --text-brand: var(--pp-red-light);
  --border-default: var(--pp-line-dark);
  --color-success: #3dbb74;
  --on-success: var(--pp-black);
  --color-danger: var(--pp-red-light);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.60);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.60);
  background-color: var(--surface-page);
  color: var(--text-primary);
}
.pp-muted { background-color: var(--surface-muted); }
/* pp-section : marges verticales de section (96 px, 64 px tablette, 48 px mobile) */
.pp-section { padding-top: 96px; padding-bottom: 96px; }

/* 2. Base ------------------------------------------------------------------ */
body { font-family: var(--font-body); color: var(--text-primary); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-md); }

/* 3. Titres (widget Titre) ------------------------------------------------- */
/* pp-title : titre varsity. pp-title--xl : grand titre de bandeau. */
.pp-title .elementor-heading-title, h1.pp-title, h2.pp-title, h3.pp-title {
  font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
  letter-spacing: var(--tracking-display); line-height: var(--leading-tight); color: var(--text-primary);
}
.pp-title .elementor-heading-title { font-size: var(--text-3xl); }
.pp-title--xl .elementor-heading-title { font-size: clamp(3rem, 9vw, 7.5rem); }
.pp-title--sm .elementor-heading-title { font-size: var(--text-lg); }

/* pp-eyebrow : surtitre en majuscules avec trait (widget Titre, balise p ou span) */
.pp-eyebrow .elementor-heading-title, .pp-eyebrow:not(.elementor-element) {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs);
  letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-accent);
}
.pp-eyebrow .elementor-heading-title::before, .pp-eyebrow:not(.elementor-element)::before {
  content: ""; width: 22px; height: 3px; background: currentColor;
}

/* Texte (widget Éditeur de texte) */
.pp-lead { font-size: var(--text-md); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.pp-secondary { color: var(--text-secondary); }

/* 4. Boutons (widget Bouton) ---------------------------------------------- */
/* pp-btn = principal rouge ; + pp-btn--dark ou pp-btn--outline ; + pp-btn--sm ou pp-btn--lg */
.pp-btn .elementor-button, a.pp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm);
  text-transform: uppercase; letter-spacing: var(--tracking-wider); white-space: nowrap;
  padding: 12px 24px; min-height: var(--tap-min); border-radius: var(--radius-md); text-decoration: none;
  background: var(--color-brand); color: var(--text-on-brand); border: var(--border-width) solid var(--color-brand);
  transition: filter 200ms var(--ease-out), transform 120ms var(--ease-out);
}
.pp-btn .elementor-button:hover, a.pp-btn:hover { filter: brightness(0.9); color: var(--text-on-brand); }
.pp-btn .elementor-button:active, a.pp-btn:active { transform: scale(0.96); }
.pp-btn--dark .elementor-button, a.pp-btn--dark { background: var(--text-primary); color: var(--surface-page); border-color: var(--text-primary); }
.pp-btn--dark .elementor-button:hover, a.pp-btn--dark:hover { color: var(--surface-page); }
.pp-btn--outline .elementor-button, a.pp-btn--outline { background: transparent; color: var(--text-primary); border: var(--border-width-bold) solid var(--text-primary); }
.pp-btn--outline .elementor-button:hover, a.pp-btn--outline:hover { color: var(--text-primary); }
.pp-btn--sm .elementor-button, a.pp-btn--sm { padding: 8px 16px; min-height: 36px; font-size: var(--text-xs); }
.pp-btn--lg .elementor-button, a.pp-btn--lg { padding: 16px 34px; min-height: 52px; font-size: var(--text-base); }
.pp-btn--glow .elementor-button { box-shadow: var(--shadow-brand); }

/* 5. Badges (dans un Éditeur de texte : <span class="pp-badge">Live</span>) */
.pp-badge {
  display: inline-flex; align-items: center; gap: var(--space-2); padding: 5px 10px; line-height: 1;
  border-radius: var(--radius-pill); font-family: var(--font-body); font-weight: var(--fw-bold);
  font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; white-space: nowrap;
  background: var(--color-brand); color: var(--text-on-brand); border: 1.5px solid var(--color-brand);
}
.pp-badge--black { background: var(--text-primary); color: var(--surface-page); border-color: var(--text-primary); }
.pp-badge--orange { background: var(--color-accent); color: #000; border-color: var(--color-accent); }
.pp-badge--grey { background: var(--pp-grey-2); color: #fff; border-color: var(--pp-grey-2); }
.pp-badge--success { background: var(--color-success); color: var(--on-success); border-color: var(--color-success); }
.pp-badge--outline { background: transparent; color: var(--text-brand); }
.pp-badge--outline.pp-badge--black { color: var(--text-primary); }

/* 6. Cartes (classe sur un Conteneur) ------------------------------------- */
.pp-card {
  position: relative; overflow: hidden; background: var(--surface-card); color: var(--text-primary);
  border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm); padding: var(--space-5);
  transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
}
.pp-card--accent::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.pp-card--hover:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pp-card--title { background: var(--color-brand); border-color: var(--color-brand); color: var(--text-on-brand); }
.pp-card--title * { color: var(--text-on-brand) !important; }

/* 7. Chiffres (widget Compteur) -------------------------------------------- */
.pp-stat .elementor-counter-number-wrapper { font-family: var(--font-display); font-size: var(--text-4xl); line-height: 1; color: var(--text-primary); justify-content: flex-start; }
.pp-stat .elementor-counter-title {
  display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-2);
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs);
  letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary);
}
.pp-stat .elementor-counter-title::before { content: ""; width: 14px; height: 2px; background: var(--text-accent); }
.pp-stat--brand .elementor-counter-number-wrapper { color: var(--color-brand); }

/* 8. Cartes d'info (classe pp-info sur un Conteneur : Titre + Éditeur de texte) */
.pp-info { position: relative; overflow: hidden; background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5) var(--space-5); }
.pp-info::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.pp-info .elementor-heading-title { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--text-lg); color: var(--text-primary); }
.pp-info .elementor-widget-text-editor { font-size: var(--text-sm); color: var(--text-secondary); }

/* 9. Formulaires ----------------------------------------------------------- */
.pp-form input:not([type="checkbox"]):not([type="radio"]), .pp-form textarea, .pp-form select {
  font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-primary); background: var(--surface-card);
  border: var(--border-width) solid var(--border-strong); border-radius: var(--radius-md); padding: 11px 14px; min-height: var(--tap-min);
}
.pp-form .elementor-field-required .elementor-field-label::after { color: var(--color-brand); }
.pp-form .elementor-message { font-weight: var(--fw-bold); padding: var(--space-3) var(--space-4); border: var(--border-width-bold) solid currentColor; border-radius: var(--radius-lg); }
.pp-form .elementor-message-success { color: var(--color-success); }
.pp-form .elementor-message-danger, .pp-form .elementor-error { color: var(--color-danger); }
.pp-form .elementor-message::before { display: none; }
.pp-form .elementor-field-group.elementor-error input, .pp-form .elementor-field-group.elementor-error textarea { border-color: var(--color-danger); }
.pp-form .elementor-button { min-height: var(--tap-min); }
.pp-form input:focus, .pp-form textarea:focus, .pp-form select:focus { border-color: var(--color-brand); box-shadow: var(--focus-ring); outline: none; }
.pp-form label { font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }

/* 10. Partenaires (widget Image dans un Conteneur) ------------------------- */
.pp-partner-tile { display: flex; align-items: center; justify-content: center; background: #fff; border: var(--border-width) solid var(--pp-grey-4); border-radius: var(--radius-lg); min-height: 110px; padding: var(--space-4); }
.pp-partner-tile--main { min-height: 180px; }
.pp-partner-tile img { max-height: 56px; width: auto; object-fit: contain; }
.pp-partner-tile--main img { max-height: 96px; }

/* 11. Message (classe sur un Conteneur) : pp-alert + pp-alert--success ou pp-alert--error */
.pp-alert { background: var(--surface-card); border: var(--border-width-bold) solid var(--text-primary); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); }
.pp-alert--success { border-color: var(--color-success); }
.pp-alert--error { border-color: var(--color-danger); }
.pp-alert .elementor-heading-title { font-family: var(--font-body); font-weight: var(--fw-black); font-size: var(--text-base); }
.pp-alert--success .elementor-heading-title { color: var(--color-success); }
.pp-alert--error .elementor-heading-title { color: var(--color-danger); }

/* 12. Questions fréquentes (widget Accordéon ou Bascule) : pp-faq */
.pp-faq .elementor-accordion-item, .pp-faq .elementor-toggle-item, .pp-faq .e-n-accordion-item { border: 0; border-bottom: 1px solid var(--border-default); }
.pp-faq .elementor-accordion, .pp-faq .elementor-toggle, .pp-faq .e-n-accordion { border-top: 1px solid var(--border-default); }
.pp-faq .elementor-tab-title, .pp-faq .e-n-accordion-item-title {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: var(--tap-min);
  padding: var(--space-4) 0; border: 0; background: transparent;
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-base); color: var(--text-primary);
}
.pp-faq .elementor-tab-title a, .pp-faq .e-n-accordion-item-title-text { color: var(--text-primary); }
.pp-faq .elementor-accordion-icon, .pp-faq .elementor-toggle-icon, .pp-faq .e-n-accordion-item-title-icon { color: var(--text-accent); fill: var(--text-accent); order: 2; }
.pp-faq .elementor-tab-content, .pp-faq .e-n-accordion-item > [role="region"] { border: 0; padding: 0 0 var(--space-5); font-size: var(--text-base); line-height: var(--leading-normal); color: var(--text-secondary); max-width: 720px; }

/* 13. Étapes (Conteneur pp-steps, un Conteneur enfant pp-step par étape) */
/* Les numéros 01, 02, 03 s'écrivent seuls. */
.pp-steps { counter-reset: pp-step; }
.pp-step { counter-increment: pp-step; border-top: var(--border-width-bold) solid var(--color-brand); padding-top: var(--space-4); }
.pp-step::before { content: counter(pp-step, decimal-leading-zero); display: block; font-family: var(--font-display); font-size: var(--text-4xl); line-height: 1; color: var(--color-brand); margin-bottom: var(--space-2); }
.pp-step .elementor-heading-title { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--text-lg); color: var(--text-primary); }

/* 14. Agenda (Conteneur pp-event par ligne : pp-event__date, puis titre et infos, puis pp-event__tag) */
.pp-event { display: flex; flex-direction: row; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-2); border-bottom: 1px solid var(--border-default); }
.pp-event__date { width: 64px; flex: none; text-align: center; }
.pp-event__date .elementor-heading-title { font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); line-height: 1; color: var(--text-accent); }
.pp-event__date .elementor-heading-title + * , .pp-event__date p { font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }

/* 15. Galerie (widget Galerie de base) : pp-gallery */
.pp-gallery .gallery { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: var(--space-4); margin: 0 !important; }
.pp-gallery .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.pp-gallery .gallery-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-sm); border: 0 !important; }
.pp-gallery .gallery-caption { margin-top: var(--space-2); font-size: var(--text-sm); color: var(--text-secondary); text-align: left; }

/* 16. Grille automatique (Conteneur en mode Grille ou Flex) : pp-grid, pp-grid--wide pour 2 colonnes */
.pp-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--space-4); }
.pp-grid--wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }

/* 17. Mobile ---------------------------------------------------------------- */
@media (max-width: 1024px) {
  .pp-section { padding-top: 64px; padding-bottom: 64px; }
}
@media (max-width: 600px) {
  .pp-section { padding-top: 48px; padding-bottom: 48px; }
  .pp-title .elementor-heading-title { font-size: 32px; }
  .pp-title--xl .elementor-heading-title { font-size: 56px; }
  .pp-title--sm .elementor-heading-title { font-size: 22px; }
  .pp-stat .elementor-counter-number-wrapper { font-size: 44px; }
  .pp-step::before { font-size: 44px; }
  .pp-hero-actions .elementor-widget-button, .pp-hero-actions .elementor-button { width: 100%; }
  .pp-event__tag { display: none; }
  .pp-card, .pp-info { padding: var(--space-4); }
}

@media (prefers-reduced-motion: reduce) { .pp-btn .elementor-button, .pp-card { transition: none; } }


/* ===== Paris Lacrosse : complément Elementor 4 (paris-lacrosse-elementor4.css) ===== */
/* ==========================================================================
   Paris Lacrosse · complément Elementor 4 (éléments atomiques)
   À coller dans Apparence > Personnaliser > CSS additionnel,
   JUSTE APRÈS le contenu de paris-lacrosse.css.
   Sur Elementor 4, la classe tapée dans « Classes » (onglet Style) est posée
   directement sur la balise (h2, p, a, div). Ces règles ciblent cette structure
   et passent devant les réglages locaux grâce au préfixe .elementor.
   ========================================================================== */

/* 1. Bandeaux, sections, grilles, cartes ------------------------------------ */
.elementor .pp-dark { background-color: var(--surface-page); color: var(--text-primary); }
.elementor .pp-muted { background-color: var(--surface-muted); }
.elementor .pp-section { padding-top: 96px; padding-bottom: 96px; }
/* Contenu centré à 1200 px dans une section : Flexbox enfant avec pp-container */
.elementor .pp-container { width: 100%; max-width: var(--container-max); margin-left: auto; margin-right: auto; padding-left: var(--space-5); padding-right: var(--space-5); box-sizing: border-box; display: flex; flex-direction: column; gap: var(--space-6); }
.elementor .pp-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--space-4); }
.elementor .pp-grid--wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.elementor .pp-card { background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-5); }
.elementor .pp-card--title { background: var(--color-brand); border-color: var(--color-brand); }
.elementor .pp-info { background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5) var(--space-5); }

/* Hero : même hauteur partout. pp-hero sur l'accueil (640 px),
   pp-hero pp-hero--page sur toutes les autres pages (520 px). Contenu calé en bas. */
.elementor .pp-hero { min-height: 640px; display: flex; flex-direction: column; justify-content: flex-end; }
.elementor .pp-hero--page { min-height: 520px; }

/* 2. Textes ------------------------------------------------------------------ */
/* Titre (élément Titre) : pp-title, pp-title--xl (hero), pp-title--sm (cartes) */
.elementor .pp-title {
  margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
  letter-spacing: var(--tracking-display); line-height: var(--leading-tight);
  font-size: var(--text-3xl); color: var(--text-primary);
}
.elementor .pp-title--xl { font-size: clamp(3rem, 9vw, 7.5rem); }
.elementor .pp-title--sm { font-size: var(--text-lg); }
/* Surtitre (élément Titre en balise p) */
.elementor .pp-eyebrow {
  margin: 0; display: inline-flex; align-items: center; gap: var(--space-2);
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs);
  letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-accent);
}
/* Chapeau (élément Paragraphe) */
.elementor .pp-lead { margin: 0; font-size: var(--text-md); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.elementor .pp-secondary { color: var(--text-secondary); }
/* Badge (élément Titre ou Paragraphe avec pp-badge + variante) */
.elementor .pp-badge { margin: 0; width: fit-content; }

/* 3. Boutons (élément Bouton) ------------------------------------------------ */
.elementor a.pp-btn, .elementor button.pp-btn { font-family: var(--font-body); font-weight: var(--fw-bold); text-transform: uppercase; border-radius: var(--radius-md); min-height: var(--tap-min); }
.elementor a.pp-btn--glow { box-shadow: var(--shadow-brand); }

/* 4. Chiffre clé : Flexbox pp-stat > Titre (nombre) + Paragraphe (libellé) ---- */
.elementor .pp-stat .e-heading-base { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-4xl); line-height: 1; color: var(--text-primary); }
.elementor .pp-stat--brand .e-heading-base { color: var(--color-brand); }
.elementor .pp-stat .e-paragraph-base {
  margin: var(--space-2) 0 0; display: inline-flex; align-items: center; gap: var(--space-2);
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs);
  letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary);
}
.elementor .pp-stat .e-paragraph-base::before { content: ""; width: 14px; height: 2px; background: var(--text-accent); }

/* 5. Titres dans les cartes d'info, étapes, alertes, agenda ------------------ */
.elementor .pp-info .e-heading-base, .elementor .pp-step .e-heading-base {
  margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--text-lg); color: var(--text-primary);
}
.elementor .pp-info .e-paragraph-base { margin: var(--space-2) 0 0; font-size: var(--text-sm); color: var(--text-secondary); }
.elementor .pp-step .e-paragraph-base { margin: var(--space-2) 0 0; color: var(--text-secondary); }
.elementor .pp-alert .e-heading-base { margin: 0; font-family: var(--font-body); font-weight: var(--fw-black); font-size: var(--text-base); }
.elementor .pp-alert--success .e-heading-base { color: var(--color-success); }
.elementor .pp-alert--error .e-heading-base { color: var(--color-danger); }

/* 6. Agenda automatique : widget « Liste d'événements » de The Events Calendar,
      placé dans un conteneur avec la classe pp-agenda ----------------------- */
.pp-agenda .tribe-events-widget-events-list__header { display: none; }
.pp-agenda .tribe-events-widget-events-list__event-row { display: flex; align-items: center; gap: var(--space-4); margin: 0; padding: var(--space-4) var(--space-2); border-bottom: 1px solid var(--border-default); }
.pp-agenda .tribe-events-widget-events-list__event-date-tag { width: 64px; flex: none; text-align: center; }
.pp-agenda .tribe-events-widget-events-list__event-date-tag-month { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-agenda .tribe-events-widget-events-list__event-date-tag-daynum { font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); line-height: 1; color: var(--text-accent); }
.pp-agenda .tribe-events-widget-events-list__event-title, .pp-agenda .tribe-events-widget-events-list__event-title-link { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-base); color: var(--text-primary); text-decoration: none; }
.pp-agenda .tribe-events-widget-events-list__event-datetime-wrapper, .pp-agenda .tribe-events-widget-events-list__event-venue { font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-secondary); }
.pp-agenda .tribe-events-widget-events-list__view-more-link { display: inline-flex; align-items: center; min-height: var(--tap-min); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); }

/* 7. En-tête Kadence : burger jusqu'à 1080 px (bp-nav) ----------------------- */
@media (min-width: 1025px) and (max-width: 1080px) {
  #main-header { display: none !important; }
  #mobile-header { display: block !important; }
}

/* 8. Tablette et mobile ------------------------------------------------------ */
@media (max-width: 1024px) {
  .elementor .pp-section { padding-top: 64px; padding-bottom: 64px; }
}
@media (max-width: 600px) {
  .elementor .pp-section { padding-top: 48px; padding-bottom: 48px; }
  .elementor .pp-title { font-size: 32px; }
  .elementor .pp-title--xl { font-size: 56px; }
  .elementor .pp-title--sm { font-size: 22px; }
  .elementor .pp-stat .e-heading-base { font-size: 44px; }
  .elementor .pp-hero-actions .e-button-base { width: 100%; justify-content: center; }
  .elementor .pp-card, .elementor .pp-info { padding: var(--space-4); }
  .elementor .pp-container { padding-left: var(--space-4); padding-right: var(--space-4); }
  .elementor .pp-hero { min-height: 520px; }
  .elementor .pp-hero--page { min-height: 420px; }
}

/* ===== Ajouts du 14/10/2026 (A1 à A6) ===== */
/* A1. Pied de page Kadence (fond clair) -------------------------------------- */
.site-footer .wp-block-heading { color: var(--text-primary); }

/* A2. Liste d'événements : priorité face au CSS de The Events Calendar ------- */
.pp-agenda .tribe-common-g-row.tribe-events-widget-events-list__event-row { flex-wrap: nowrap; }
.pp-agenda .tribe-common-g-col.tribe-events-widget-events-list__event-date-tag { width: 64px; flex: none; padding: 0; }
.pp-agenda .tribe-common-g-col.tribe-events-widget-events-list__event-wrapper { width: auto; flex: 1 1 auto; padding: 0; }
.pp-agenda .tribe-common .tribe-events-widget-events-list__event-date-tag-daynum { font-size: var(--text-2xl); line-height: 1; }
.pp-agenda .tribe-events-widget-events-list__event-date-tag-datetime { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.pp-agenda .tribe-common .tribe-events-widget-events-list__event-datetime-wrapper, .pp-agenda .tribe-common .tribe-events-widget-events-list__event-datetime { font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--fw-semibold, 600); color: var(--text-secondary); }
.pp-agenda .tribe-events-widget-events-list__view-more { display: none; }

/* A3. Chiffres (compteur Elementor) : alignés à gauche ----------------------- */
.pp-stat .elementor-counter-number-prefix, .pp-stat .elementor-counter-number-suffix { flex-grow: 0; }
.pp-stat .elementor-counter-title { justify-content: flex-start; }

/* A4. Grille boutique : 4 colonnes, 2 sur tablette et mobile ------------------ */
.elementor .pp-grid--shop { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .elementor .pp-grid--shop { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .elementor .pp-grid--shop { gap: var(--space-3); }
  .elementor .pp-grid--shop .pp-card { padding: var(--space-3); }
  .elementor .pp-grid--shop .pp-btn .elementor-button { width: 100%; justify-content: center; padding-left: var(--space-2); padding-right: var(--space-2); }
}

/* A5. Chiffres : 2 colonnes sur mobile ---------------------------------------- */
@media (max-width: 600px) { .elementor .pp-grid--stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* A6. Étapes : le numéro reste dans le flux (Elementor place ::before en absolu) */
.elementor .pp-step.e-con::before { position: static; inset: auto; width: auto; height: auto; opacity: 1; mix-blend-mode: normal; border-radius: 0; background: none; }

/* A7. Fiche produit boutique (= composant ProductCard de la maquette) --------- */
.elementor .pp-grid--shop .pp-card { padding: 0; gap: var(--space-2); }
.elementor .pp-grid--shop .pp-card > .elementor-widget { margin: 0; }
.elementor .pp-grid--shop .pp-card > .elementor-widget:not(.elementor-widget-image) { padding-left: var(--space-4); padding-right: var(--space-4); position: static; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-image { aspect-ratio: 1 / 1; background: var(--surface-muted); margin-bottom: var(--space-2); overflow: hidden; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-image img { display: block; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-image:has(img[src*="placeholder"]) { display: flex; align-items: center; justify-content: center; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-image:has(img[src*="placeholder"]) img { position: absolute; inset: 0; opacity: 0; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-image:has(img[src*="placeholder"])::after { content: "Photo à venir"; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-muted, #767676); }
html[lang^="en"] .elementor .pp-grid--shop .pp-card > .elementor-widget-image:has(img[src*="placeholder"])::after { content: "Photo coming soon"; }
.elementor .pp-grid--shop .pp-card .pp-eyebrow { color: var(--text-secondary); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); }
.elementor .pp-grid--shop .pp-card .pp-eyebrow::before { display: none; }
.elementor .pp-grid--shop .pp-card .pp-title .elementor-heading-title { font-size: var(--text-lg); }
.elementor .pp-grid--shop .pp-card strong { font-weight: var(--fw-black); font-size: var(--text-md); }
.elementor .pp-grid--shop .pp-card p { margin: 0; }
.elementor .pp-grid--shop .pp-card .pp-badge { position: absolute; top: 12px; left: 12px; z-index: 1; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-button { margin-top: auto; padding-top: var(--space-2); padding-bottom: var(--space-4); }
.elementor .pp-grid--shop .pp-card > .elementor-widget-button .elementor-button { width: 100%; justify-content: center; padding-top: 8px; padding-bottom: 8px; min-height: 40px; }

/* A8. Pied de page (= composant Footer de la maquette) ---------------------- */
.site-footer .site-middle-footer-wrap { border-top: 3px solid var(--color-brand); background: var(--surface-muted); }
.site-footer .site-middle-footer-inner-wrap { padding-top: var(--space-8); padding-bottom: var(--space-8); column-gap: var(--space-7); row-gap: var(--space-7); }
.site-footer .site-footer-section { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: var(--space-3); text-align: left; }
.site-footer .site-footer-section > * { margin: 0; width: 100%; }
.site-footer .widget { margin: 0; }
.site-footer .pl-footer-logo img, .site-footer .footer-widget1 img { height: 56px; width: auto; max-width: none; }
.site-footer .footer-widget1 p { max-width: 300px; margin: var(--space-3) 0 0; font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.site-footer .wp-block-heading.pl-footer-title, .site-footer h6.pl-footer-title {
  margin: 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs);
  text-transform: uppercase; letter-spacing: var(--tracking-widest); color: var(--text-accent); line-height: 1.4; }
.site-footer .footer-navigation .menu, .site-footer .footer-navigation .footer-menu-container > ul { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 0; padding: 0; }
.site-footer .footer-navigation .menu > li { margin: 0; padding: 0; }
.site-footer .footer-navigation .menu > li > a, .site-footer .pl-footer-social a {
  display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--tap-min); padding: 0;
  font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--fw-medium); color: var(--text-primary); text-decoration: none; }
.site-footer .footer-navigation .menu > li > a:hover, .site-footer .pl-footer-social a:hover { color: var(--text-accent); }
.site-footer .pl-footer-social { list-style: none; margin: 0; padding: 0; }
.site-footer .pl-footer-social li { margin: 0; }
.site-footer .pl-footer-social a span { color: var(--text-secondary); font-weight: var(--fw-regular); }
.site-footer .site-bottom-footer-wrap { background: var(--surface-muted); }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid var(--border-default); }
.site-footer .site-bottom-footer-inner-wrap { padding-top: var(--space-5); padding-bottom: var(--space-5); align-items: center; }
.site-footer .footer-html, .site-footer .footer-html p { margin: 0; font-size: var(--text-xs); color: var(--text-secondary); }
.site-footer .pl-footer-motto, .site-footer .footer-widget2 p {
  margin: 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs);
  text-transform: uppercase; letter-spacing: var(--tracking-widest); color: var(--text-primary); text-align: right; }
@media (max-width: 1024px) {
  .site-footer .site-middle-footer-inner-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer .site-footer-middle-section-1 { grid-column: 1 / -1; }
}
@media (max-width: 719px) {
  .site-footer .site-middle-footer-inner-wrap { grid-template-columns: 1fr; padding-top: var(--space-7); padding-bottom: var(--space-7); }
  .site-footer .site-bottom-footer-inner-wrap { grid-template-columns: 1fr; row-gap: var(--space-2); }
  .site-footer .pl-footer-motto, .site-footer .footer-widget2 p { text-align: left; }
  .site-footer .site-bottom-footer-inner-wrap .site-footer-section { align-items: flex-start; }
}

/* A9. En-tête (= composant NavBar de la maquette) + alignement des conteneurs */
.site-header .site-container, .site-footer .site-footer-row-container-inner > .site-container { max-width: calc(var(--container-max) + 2 * var(--space-5)); padding-left: var(--space-5); padding-right: var(--space-5); }
.site-header .custom-logo, .site-header .site-branding img { height: 44px !important; width: auto !important; max-height: 44px; }
.site-main-header-wrap .site-header-main-section-left { flex: 1 1 auto; gap: var(--space-6); }
.site-main-header-wrap .site-header-item-main-navigation { flex: 1 1 auto; }
.site-main-header-wrap .main-navigation .primary-menu-container > ul.menu { display: flex; width: 100%; }
.site-main-header-wrap .main-navigation .menu > li.lang-item { margin-left: auto; }
.site-main-header-wrap .site-header-main-section-right { margin-left: var(--space-4); }
.site-main-header-wrap .main-navigation .menu > li > a { min-height: var(--tap-min); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; }
.site-main-header-wrap .main-navigation .menu > li.current-menu-item > a, .site-main-header-wrap .main-navigation .menu > li > a[aria-current="page"] { color: var(--text-accent); }
.site-main-header-wrap .header-button { min-height: 36px; padding: 8px 16px; font-size: var(--text-xs); }
@media (min-width: 1025px) { .site-main-header-wrap .site-main-header-inner-wrap { grid-template-columns: minmax(0, 1fr) auto; } }
@media (min-width: 1025px) { .site-header .site-main-header-wrap .site-header-row-container-inner > .site-container { padding-left: var(--space-5); padding-right: var(--space-5); } }

/* A10. Hero (= composant Hero de la maquette) : titre sans marge Kadence, espacement space-4 */
.elementor .pp-hero .elementor-widget-heading h1.elementor-heading-title { margin: 0; }
.elementor .pp-hero > .e-con-inner, .elementor .pp-hero.e-con-full { gap: var(--space-4); }
.elementor .pp-hero .pp-hero-actions, .elementor .pp-hero > .e-con-inner > .elementor-widget-button { margin-top: var(--space-3); }

/* A11. Pied de page et burger sur tablette / mobile (maquette : colonnes auto-fit 200 px, textes alignés à gauche) */
@media (max-width: 1024px) {
  .site-footer .site-middle-footer-inner-wrap { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; }
  .site-footer .site-footer-middle-section-1 { grid-column: auto; }
  .site-footer .site-bottom-footer-inner-wrap { display: grid !important; grid-template-columns: 1fr !important; row-gap: var(--space-2); }
  .site-footer .site-bottom-footer-inner-wrap .site-footer-section, .site-footer .footer-html, .site-footer .footer-html-inner { justify-content: flex-start; text-align: left; }
  .site-footer .pl-footer-motto, .site-footer .footer-widget2 p { text-align: left; }
  .site-header .menu-toggle-open { color: var(--text-primary); min-width: var(--tap-min); min-height: var(--tap-min); justify-content: center; }
  .site-header .menu-toggle-open .kadence-svg-iconset svg { width: 24px; height: 24px; }
}
.site-footer .pl-footer-social a { flex-wrap: wrap; column-gap: var(--space-2); row-gap: 0; }
.elementor.elementor .pp-hero .elementor-widget-text-editor.pp-lead { max-width: 620px; }

/* A12. Boutique : barre de filtres (widget HTML pp-filter : « Tout » puis Homme / Femme / Accessoires), groupes pp-shop-group et micro-animations */
.elementor .pp-filter { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-default); overflow-x: auto; scrollbar-width: none; }
.elementor .pp-filter::-webkit-scrollbar { display: none; }
.elementor .pp-filter .pp-filter__btn {
  flex: 0 0 auto; appearance: none; background: transparent !important; border: 0; border-bottom: var(--border-width-bold) solid transparent; border-radius: 0; box-shadow: none;
  margin: 0 0 -1px; padding: var(--space-3) 0; min-height: var(--tap-min); cursor: pointer; white-space: nowrap;
  font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); line-height: 1.2; letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary) !important; }
.elementor .pp-filter .pp-filter__btn:hover { color: var(--text-primary) !important; }
.elementor .pp-filter .pp-filter__btn[aria-pressed="true"] { color: var(--text-accent) !important; border-bottom-color: currentColor; }
.elementor .pp-filter .pp-filter__btn:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
.elementor .pp-shop-group[hidden] { display: none !important; }
.elementor .pp-shop-group { scroll-margin-top: 96px; animation: pp-group-in .25s ease-out; }
.elementor .pp-shop-group .elementor-heading-title.pp-title { font-size: var(--text-2xl); }
@keyframes pp-group-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.elementor .pp-grid--shop .pp-card { transition: box-shadow .2s ease; }
.elementor .pp-grid--shop .pp-card:hover { box-shadow: var(--shadow-md); }
.elementor .pp-grid--shop .pp-card > .elementor-widget-image img { transition: transform .4s ease; }
.elementor .pp-grid--shop .pp-card:hover > .elementor-widget-image img { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) {
  .elementor .pp-shop-group { animation: none; }
  .elementor .pp-grid--shop .pp-card, .elementor .pp-grid--shop .pp-card img { transition: none; }
  .elementor .pp-grid--shop .pp-card:hover > .elementor-widget-image img { transform: none; }
  .elementor .pp-grid--shop .elementor-invisible { visibility: visible !important; }
  .elementor .pp-grid--shop .animated { animation: none !important; }
}

/* A13. Boutique : 3 colonnes sur tablette, badges compacts et filtres sans compteur sur mobile */
@media (max-width: 1024px) { .elementor .pp-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .elementor .pp-grid--shop { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .elementor .pp-grid--shop .pp-card .pp-badge { top: 8px; left: 8px; max-width: calc(100% - 16px); padding: 3px 6px; font-size: 9px; letter-spacing: 0.04em; line-height: 1.25; white-space: normal; }
  .elementor .pp-filter { gap: var(--space-4); }
  .elementor .pp-filter .pp-filter__n { display: none; }
}

/* A14. Boutique : prix et bouton calés en bas de fiche (prix alignés sur une même rangée) */
.elementor .pp-grid--shop .pp-card > .elementor-widget:has(+ .elementor-widget-button) { margin-top: auto; }
.elementor .pp-grid--shop .pp-card > .elementor-widget-button { margin-top: 0; }

/* A15. Hero sans bouton (ex. Photos) : on garde la place d'une rangée de boutons pour que le texte soit au même niveau sur toutes les pages */
.elementor .pp-hero:not(:has(.pp-hero-actions)) > .e-con-inner::after { content: ""; display: block; height: 52px; margin-top: var(--space-3); }
@media (max-width: 1024px) { .elementor .pp-hero--page { --justify-content: flex-start !important; } .elementor .pp-hero--page > .e-con-inner { justify-content: flex-start !important; } }

/* A16. Page Photos : grille d'albums (3 colonnes), fiches d'album, dépliants par catégorie (Accordéon imbriqué pp-album-acc) */
.elementor .pp-grid--albums { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
@media (max-width: 1024px) { .elementor .pp-grid--albums { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .elementor .pp-grid--albums { grid-template-columns: 1fr; } }
.elementor .pp-album { position: relative; padding: 0; gap: var(--space-2); overflow: hidden; color: var(--text-primary); text-decoration: none; }
.elementor .pp-album > .elementor-widget { margin: 0; }
.elementor .pp-album > .elementor-widget:not(.elementor-widget-image) { padding-left: var(--space-4); padding-right: var(--space-4); }
.elementor .pp-album > .elementor-widget:last-child { padding-bottom: var(--space-5); }
.elementor .pp-album > .elementor-widget-image { aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-muted); margin-bottom: var(--space-2); }
.elementor .pp-album > .elementor-widget-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.elementor .pp-album:hover > .elementor-widget-image img { transform: scale(1.04); }
.elementor .pp-album > .pp-album__badge { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 0 !important; }
.elementor .pp-album .pp-album__date { margin: 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.elementor .pp-album .pp-secondary { margin: 0; font-size: var(--text-sm); }
.elementor .pp-album-group__eyebrow p { margin: 0; }
.elementor .pp-album-acc .e-n-accordion-item { border: 0; }
.elementor .pp-album-acc .e-n-accordion-item-title { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); padding: 0 0 var(--space-3); border: 0; border-bottom: 1px solid var(--border-default); background: transparent; cursor: pointer; }
.elementor .pp-album-acc .e-n-accordion-item-title-header { flex: 1 1 auto; }
.elementor .pp-album-acc .e-n-accordion-item-title-text { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: var(--tracking-display); font-size: var(--text-2xl); line-height: var(--leading-tight); color: var(--text-primary); }
.elementor .pp-album-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: var(--text-accent); }
.elementor .pp-album-acc .e-n-accordion-item-title-icon { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--tap-min); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.elementor .pp-album-acc .e-n-accordion-item-title-icon svg, .elementor .pp-album-acc .e-n-accordion-item-title-icon i { width: 14px; height: 14px; fill: currentColor; color: currentColor; }
.elementor .pp-album-acc details[open] .e-n-accordion-item-title-icon::before { content: "Replier"; }
.elementor .pp-album-acc details:not([open]) .e-n-accordion-item-title-icon::before { content: "Déplier"; }
html[lang^="en"] .elementor .pp-album-acc details[open] .e-n-accordion-item-title-icon::before { content: "Collapse"; }
html[lang^="en"] .elementor .pp-album-acc details:not([open]) .e-n-accordion-item-title-icon::before { content: "Expand"; }
@media (max-width: 600px) { .elementor .pp-album-acc .e-n-accordion-item-title-text { font-size: var(--text-xl); } .elementor .pp-filter--albums { gap: var(--space-4); } }
.elementor .pp-album-acc .e-n-accordion-item-title-icon { order: 2 !important; margin-left: auto; }
.elementor .pp-album-acc .e-n-accordion-item > .e-con { border: 0 !important; padding: var(--space-5) 0 0 !important; }


/* A17 — Photos : surtitre de catégorie en ligne + libellé Replier/Déplier sans retour à la ligne */
.elementor .pp-album-group__eyebrow .pp-eyebrow { display: block; }
.elementor .pp-album-group__eyebrow .pp-eyebrow::before { display: inline-block; vertical-align: middle; margin-right: 8px; }
.elementor .pp-album-acc .e-n-accordion-item-title-icon { flex-shrink: 0; white-space: nowrap; }
.elementor .pp-album-acc .e-n-accordion-item-title-header { min-width: 0; }


/* A18 — Photos : animations légères (réapparition au filtrage, chevron qui pivote, ouverture en fondu) */
@keyframes pp-album-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.elementor .pp-album.pp-album--in { animation: pp-album-in .35s cubic-bezier(.2,.7,.2,1) both !important; }
.elementor .pp-album-group { transition: opacity .2s ease; }
.elementor .pp-album-acc .e-n-accordion-item-title-icon .e-opened { display: none !important; }
.elementor .pp-album-acc .e-n-accordion-item-title-icon .e-closed { display: inline-flex !important; transition: transform .25s ease; }
.elementor .pp-album-acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-closed { transform: rotate(180deg); }
.elementor .pp-album-acc .e-n-accordion-item[open] > .e-con { animation: pp-group-in .3s ease-out; }
.elementor .pp-filter--albums .pp-filter__btn { transition: color .2s ease, border-color .2s ease; }
@media (prefers-reduced-motion: reduce) {
  .elementor .pp-album.pp-album--in, .elementor .pp-album-acc .e-n-accordion-item[open] > .e-con, .elementor .pp-grid--albums .animated { animation: none !important; }
  .elementor .pp-grid--albums .elementor-invisible { visibility: visible !important; }
  .elementor .pp-album-acc .e-n-accordion-item-title-icon .e-closed, .elementor .pp-album, .elementor .pp-album img { transition: none; }
  .elementor .pp-album:hover > .elementor-widget-image img { transform: none; }
}


/* A19 — Photos : 64 px entre les catégories (comme la maquette) */
.elementor .pp-album-group + .pp-album-group { margin-top: var(--space-5); }


/* A20 — Contact : motifs en dépliants pleine largeur (Accordéon imbriqué pp-motif-acc), formulaires WPForms en pleine largeur */
.elementor .pp-motif-acc { --n-accordion-item-title-space-between: 0px; }
.elementor .pp-motif-acc .e-n-accordion-item { background: var(--surface-card); border: 1px solid var(--border-default) !important; border-radius: var(--radius-lg); overflow: hidden; margin: 0; }
.elementor .pp-motif-acc .e-n-accordion-item + .e-n-accordion-item { margin-top: var(--space-4); }
.elementor .pp-motif-acc .e-n-accordion-item[open] { border-top: 3px solid var(--color-brand) !important; }
.elementor .pp-motif-acc .e-n-accordion-item-title { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: var(--tap-min); padding: var(--space-4) var(--space-5) !important; border: 0 !important; background: transparent !important; cursor: pointer; }
.elementor .pp-motif-acc .e-n-accordion-item-title-header { flex: 1 1 auto; min-width: 0; }
.elementor .pp-motif-acc .e-n-accordion-item-title-text { display: flex; flex-direction: column; gap: var(--space-1); font-family: var(--font-display); font-weight: 400; font-size: 28px; line-height: 1.2; letter-spacing: .01em; text-transform: none; color: var(--text-primary) !important; }
.elementor .pp-motif-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: var(--text-accent) !important; }
.elementor .pp-motif-acc .pp-motif__sub { font-family: var(--font-body); font-weight: 400; font-size: var(--text-sm); line-height: var(--leading-normal); letter-spacing: normal; color: var(--text-secondary); }
.elementor .pp-motif-acc .e-n-accordion-item-title-icon { order: 2; margin-left: auto; flex: none; color: var(--text-accent); fill: var(--text-accent); }
.elementor .pp-motif-acc .e-n-accordion-item-title-icon svg { width: 16px; height: 16px; fill: currentColor; }
.elementor .pp-motif-acc .e-n-accordion-item-title-icon .e-opened { display: none !important; }
.elementor .pp-motif-acc .e-n-accordion-item-title-icon .e-closed { display: inline-flex !important; transition: transform .2s ease; }
.elementor .pp-motif-acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-closed { transform: rotate(45deg); }
.elementor .pp-motif-acc .e-n-accordion-item > .e-con { border: 0 !important; border-top: 1px solid var(--border-default) !important; padding: var(--space-2) var(--space-5) var(--space-5) !important; background: transparent; }
.elementor .pp-motif-acc .wpforms-container { --wpforms-field-size-input-width: 100%; margin: 0 !important; }
.elementor .pp-motif-acc .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]),
.elementor .pp-motif-acc .wpforms-container .wpforms-field select,
.elementor .pp-motif-acc .wpforms-container .wpforms-field textarea,
.elementor .pp-motif-acc .wpforms-container .wpforms-field-row { max-width: 100% !important; }
@media (max-width: 600px) {
  .elementor .pp-motif-acc .e-n-accordion-item-title-text { font-size: 22px; }
  .elementor .pp-motif-acc .e-n-accordion-item-title { padding: var(--space-4) !important; }
  .elementor .pp-motif-acc .e-n-accordion-item > .e-con { padding: var(--space-2) var(--space-4) var(--space-4) !important; }
}
@media (prefers-reduced-motion: reduce) { .elementor .pp-motif-acc .e-n-accordion-item-title-icon .e-closed { transition: none; } }

/* A21 — Contact : titres des motifs alignés à gauche, « + » rouge */
.elementor .pp-motif-acc .e-n-accordion-item-title-text { align-items: flex-start !important; text-align: left; }
.elementor .pp-motif-acc .e-n-accordion-item-title-icon svg { fill: var(--text-accent) !important; }


/* A22 — Équipes & planning : cartes d'équipe (maquette) et calendrier du club (rendu depuis The Events Calendar) */
.elementor .pp-team-card { padding: 0 !important; gap: 0 !important; display: flex; flex-direction: column; overflow: hidden; }
.elementor .pp-team-card > .pp-team-card__img { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.elementor .pp-team-card > .pp-team-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.elementor .pp-team-card:hover > .pp-team-card__img img { transform: scale(1.04); }
.elementor .pp-team-card__body { position: relative; z-index: 1; flex: 1 1 auto; margin-top: -36px !important; background: var(--surface-card); border-radius: var(--radius-lg) var(--radius-lg) 0 0; box-shadow: 0 -8px 20px rgba(0, 0, 0, .18); padding: var(--space-6) var(--space-5) var(--space-5) !important; gap: var(--space-4) !important; overflow: hidden; }
.elementor .pp-team-card__body::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.elementor .pp-team-card__body > .elementor-widget { margin: 0; }
.elementor .pp-team-card__name .elementor-heading-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.elementor .pp-team-card__stats { flex-direction: row !important; flex-wrap: wrap; gap: var(--space-6) !important; }
.elementor .pp-team-stat { width: auto !important; gap: 4px !important; }
.elementor .pp-team-stat > .elementor-widget { margin: 0; }
.elementor .pp-team-stat__v .elementor-heading-title { font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); line-height: 1; color: var(--text-primary); text-transform: uppercase; }
.elementor .pp-team-stat__l .elementor-heading-title { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.elementor .pp-team-card__desc, .elementor .pp-team-card__desc p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-normal); color: var(--text-secondary); }
.elementor .pp-team-card__link { margin-top: auto !important; }
.elementor .pp-team-card__link .elementor-button { display: inline-flex; align-items: center; min-height: var(--tap-min); padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent) !important; text-decoration: underline; text-underline-offset: 4px; }
.elementor .pp-team-card__link .elementor-button:hover { color: var(--pp-red-deep) !important; }

.pp-cal { background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); font-family: var(--font-body); color: var(--text-primary); }
.pp-cal.is-loading .pp-cal__grid, .pp-cal.is-loading .pp-cal__list { opacity: .5; transition: opacity .2s; }
.pp-cal__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); }
.pp-cal .pp-cal__title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: 28px; line-height: 1.2; letter-spacing: .01em; text-transform: none; color: var(--text-primary); }
.pp-cal__nav { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pp-cal .pp-cal__btn { appearance: none; cursor: pointer; display: inline-flex; align-items: center; min-height: 36px; padding: 8px 16px; background: transparent; color: var(--text-primary); border: var(--border-width-bold) solid var(--text-primary); border-radius: var(--radius-sm); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; line-height: 1.2; transition: background .2s ease, color .2s ease; }
.pp-cal .pp-cal__btn:hover { background: var(--text-primary); color: var(--surface-page); }
.pp-cal .pp-cal__btn:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
.pp-cal__grid { overflow-x: auto; }
.pp-cal__row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); min-width: 640px; }
.pp-cal__row--head { border-bottom: var(--border-width) solid var(--border-default); }
.pp-cal__dn { padding: var(--space-2); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-cal__cell { min-height: 108px; box-sizing: border-box; padding: var(--space-2); border-right: 1px solid var(--border-default); border-bottom: 1px solid var(--border-default); display: flex; flex-direction: column; gap: var(--space-1); }
.pp-cal__row > .pp-cal__cell:first-child { border-left: 1px solid var(--border-default); }
.pp-cal__cell.is-out { opacity: .45; }
.pp-cal__cell.is-past { opacity: .7; }
.pp-cal__cell.is-today { background: var(--pp-red-tint); }
.pp-cal__n { font-weight: 700; font-size: var(--text-sm); color: var(--text-primary); }
.pp-cal__cell.is-today .pp-cal__n { color: var(--pp-red-deep); }
.pp-cal a.pp-cal-ev { display: block; padding: 4px 6px; border-radius: var(--radius-sm); font-size: var(--text-xs); line-height: 1.3; text-decoration: none; color: var(--text-primary); background: var(--pp-grey-5); }
.pp-cal a.pp-cal-ev strong { font-weight: 700; }
.pp-cal a.pp-cal-ev--match { background: var(--color-brand); color: var(--pp-white); }
.pp-cal a.pp-cal-ev--tournoi { background: var(--pp-orange); color: var(--pp-black); }
.pp-cal a.pp-cal-ev:hover { filter: brightness(.94); }
.pp-cal__list { display: none; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-default); }
.pp-cal a.pp-cal-row { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-2); border-bottom: 1px solid var(--border-default); text-decoration: none; color: inherit; }
.pp-cal-row__d { width: 64px; flex: none; display: flex; flex-direction: column; align-items: center; line-height: 1; }
.pp-cal-row__d b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); color: var(--text-accent); }
.pp-cal-row__d small { margin-top: 4px; font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); color: var(--text-secondary); }
.pp-cal-row__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pp-cal-row__t b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-cal-row__t small { font-size: var(--text-sm); color: var(--text-secondary); }
.pp-cal__empty { padding: var(--space-4) var(--space-2); font-size: var(--text-sm); color: var(--text-secondary); }
.pp-cal__legend { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.pp-cal-badge { display: inline-flex; align-items: center; line-height: 1; padding: 5px 10px; border-radius: var(--radius-pill); white-space: nowrap; font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; border: 1.5px solid; }
.pp-cal-badge[hidden] { display: none; }
.pp-cal-badge--match { background: var(--color-brand); border-color: var(--color-brand); color: var(--pp-white); }
.pp-cal-badge--training { background: var(--pp-grey-2); border-color: var(--pp-grey-2); color: var(--pp-white); }
.pp-cal-badge--tournoi { background: var(--pp-orange); border-color: var(--pp-orange); color: var(--pp-black); }
.pp-cal-badge--outline { background: transparent; }
.pp-cal-badge--outline.pp-cal-badge--match { color: var(--text-brand, var(--color-brand)); }
.pp-cal-badge--outline.pp-cal-badge--training { color: var(--text-secondary); }
.pp-cal-badge--outline.pp-cal-badge--tournoi { color: var(--text-primary); }
@media (max-width: 600px) {
  .pp-cal { padding: var(--space-4); }
  .pp-cal__grid { display: none; }
  .pp-cal__list { display: block; }
  .pp-cal .pp-cal-row .pp-cal-badge { display: none; }
  .pp-cal__nav { width: 100%; }
  .pp-cal .pp-cal__btn { flex: 1 1 auto; justify-content: center; padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) { .elementor .pp-team-card > .pp-team-card__img img { transition: none; } .elementor .pp-team-card:hover > .pp-team-card__img img { transform: none; } }

/* A23 — Calendrier : liste mobile sans retrait de liste du thème */
.pp-cal ol.pp-cal__list { padding-left: 0 !important; margin-left: 0 !important; }
.pp-cal ol.pp-cal__list > li { margin: 0; padding: 0; }

/* A24 — Pages d'équipe : chiffres, matchs (MatchCard), classement, effectif (PlayerCard) rendus depuis le Google Sheet */
.pp-tm { font-family: var(--font-body); color: var(--text-primary); }
.pp-tm[data-part="stats"] { min-height: 84px; }
.pp-tm[data-part="matches"], .pp-tm[data-part="roster"] { min-height: 320px; }
.pp-tm-msg { margin: 0; font-size: var(--text-sm); line-height: var(--leading-normal); color: var(--text-secondary); }
.pp-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.elementor .pp-tm-back .elementor-button { display: inline-flex; align-items: center; gap: 8px; min-height: var(--tap-min); padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent) !important; }
.elementor .pp-tm-back .elementor-button:hover { color: var(--pp-red-deep) !important; text-decoration: underline; text-underline-offset: 4px; }
/* Chiffres (StatBlock sm) */
.pp-tm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: var(--space-5) var(--space-4); }
.pp-tm-stat { display: flex; flex-direction: column; align-items: flex-start; }
.pp-tm-stat__v { font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3rem); line-height: 1; letter-spacing: var(--tracking-display); color: var(--text-primary); }
.pp-tm-stat--brand .pp-tm-stat__v { color: var(--color-brand); }
.pp-tm-stat__l { margin-top: var(--space-2); display: flex; align-items: center; gap: var(--space-2); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-tm-stat__l::before { content: ""; width: 14px; height: 2px; background: var(--text-accent); flex: none; }
/* Blocs et grilles */
.pp-tm[data-part="matches"] { display: flex; flex-direction: column; gap: var(--space-7, 48px); }
.pp-tm-block { display: flex; flex-direction: column; gap: var(--space-3); }
.pp-tm-h3 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-tm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--space-4); }
/* Carte de match (MatchCard) */
.pp-match { position: relative; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); overflow: hidden; background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); color: var(--text-primary); text-decoration: none; }
.pp-match::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
a.pp-match:hover { box-shadow: var(--shadow-md); color: var(--text-primary); }
.pp-match__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.pp-match__comp { font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-match__team { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.pp-match__id { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.pp-match__logo { flex: none; width: 36px; height: 36px; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pp-match__logo.is-empty { background: var(--surface-muted); }
.pp-match__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pp-match__name { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-match__score { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1; color: var(--text-secondary); }
.pp-match__score.is-win { color: var(--text-accent); }
.pp-match__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border-default); font-size: var(--text-xs); font-weight: var(--fw-medium); color: var(--text-secondary); }
.pp-match-tbd { display: flex; flex-direction: column; justify-content: center; gap: var(--space-2); min-height: 100%; padding: var(--space-5); border: 2px dashed var(--border-default); border-radius: var(--radius-lg); box-sizing: border-box; }
.pp-match-tbd__t { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.1; text-transform: uppercase; color: var(--text-secondary); }
.pp-match-tbd p { margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }
/* Classement */
.pp-tm-table { background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); overflow: hidden; font-size: var(--text-sm); }
.pp-tm-tr { display: grid; grid-template-columns: 48px minmax(0, 1fr) 56px 56px 56px 64px; align-items: center; border-bottom: 1px solid var(--border-default); }
.pp-tm-tr:last-child { border-bottom: 0; }
.pp-tm-tr > span { padding: var(--space-3) var(--space-4); color: var(--text-primary); }
.pp-tm-tr .num { text-align: right; font-variant-numeric: tabular-nums; }
.pp-tm-tr .team { font-weight: 600; display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.pp-tm-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-tm-logo { flex: none; width: 28px; height: 28px; border-radius: var(--radius-sm); background: var(--surface-muted); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.pp-tm-logo.has { background: transparent; }
.pp-tm-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pp-tm-tr--head > span { padding-top: var(--space-2); padding-bottom: var(--space-2); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-tm-tr.is-us { background: var(--pp-red-tint); box-shadow: inset 4px 0 0 var(--color-brand); }
.pp-tm-tr.is-us > span { font-weight: 700; }
.pp-tm-tr .ff { grid-column: 3 / 7; text-align: right; color: var(--text-secondary); font-size: var(--text-2xs); font-weight: var(--fw-bold); letter-spacing: var(--tracking-wider); text-transform: uppercase; }
.pp-tm-legend { margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }
@media (max-width: 600px) { .pp-tm-tr { grid-template-columns: 32px minmax(0, 1fr) 32px 32px 32px 44px; } .pp-tm-tr > span { padding: var(--space-3) var(--space-2); } }
/* Effectif : recherche et cartes joueur (PlayerCard) */
.pp-tm[data-part="roster"] { display: flex; flex-direction: column; gap: var(--space-5); }
.pp-tm-roster__bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); }
.pp-tm-search { flex: 1 1 280px; max-width: 420px; position: relative; }
.pp-tm-search input[type="search"] { width: 100%; height: 48px; padding: 0 var(--space-4); border: 1.5px solid var(--border-strong, #BCBCBC); border-radius: var(--radius-md); background: var(--surface-card); color: var(--text-primary); font-family: var(--font-body); font-size: var(--text-base); box-sizing: border-box; }
.pp-tm-search input[type="search"]:focus { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px rgba(221, 31, 31, .2); }
.pp-tm-roster__n { font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-tm-players { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: var(--space-3); }
@media (max-width: 600px) { .pp-tm-players { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pp-player { position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); color: var(--text-primary); }
.pp-player[hidden] { display: none; }
.pp-player__ph { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface-muted); }
.pp-player__ph.is-sil { background: #BCBCBC; }
.pp-player__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pp-player__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(10, 10, 10, .85) 100%); }
.pp-player__num { position: absolute; left: var(--space-4); bottom: var(--space-3); font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1; letter-spacing: var(--tracking-display); color: #fff; }
.pp-player__roles { position: absolute; top: var(--space-3); right: var(--space-3); display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pp-player__body { position: relative; display: flex; flex-direction: column; gap: 2px; padding: var(--space-4); flex: 1; }
.pp-player__body::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.pp-player__first { font-size: var(--text-sm); color: var(--text-secondary); }
.pp-player__last { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); overflow-wrap: anywhere; }
.pp-player__foot { margin-top: var(--space-2); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.pp-player__nats { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px var(--space-2); font-size: var(--text-xs); color: var(--text-secondary); }
.pp-player__nat { display: inline-flex; align-items: center; gap: 6px; }
.pp-player__nat img { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px var(--border-default); display: block; }
/* Apparition douce */
@keyframes pp-tm-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.pp-tm-in { animation: pp-tm-in .4s var(--ease-out, ease-out) both; }
@media (prefers-reduced-motion: reduce) { .pp-tm-in { animation: none; } }
.pp-player__foot .pp-badge { white-space: normal; max-width: 100%; line-height: 1.25; }
.pp-player__last { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 600px) { .pp-player__last { font-size: var(--text-md); } .pp-player__body { padding: var(--space-3); } }

/* A25 — Pages d'équipe : marges du thème neutralisées dans les blocs dynamiques, texte indicatif de la recherche */
.pp-tm h3.pp-player__last, .pp-tm h3.pp-tm-h3, .pp-tm p.pp-tm-msg, .pp-tm p.pp-tm-legend, .pp-tm .pp-match-tbd p { margin: 0 !important; }
.pp-tm-search input[type="search"]::placeholder { color: var(--text-muted); opacity: 1; }

/* A26 — Pages d'équipe : compte à rebours des prochains matchs, compteurs des chiffres, bande des chiffres resserrée */
.pp-tm-headrow { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2) var(--space-4); }
.pp-tm-cd { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); }
.pp-tm-cd::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--color-brand); animation: pp-tm-pulse 1.6s ease-in-out infinite; }
@keyframes pp-tm-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }
.pp-match__badges { display: inline-flex; align-items: center; gap: var(--space-2); flex: none; }
.pp-match__cd { font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); white-space: nowrap; }
.pp-tm-stat__v { font-variant-numeric: tabular-nums; }
.elementor .pp-section.pp-tm-stats-sec { padding-top: 48px; padding-bottom: 56px; }
@media (max-width: 1024px) { .elementor .pp-section.pp-tm-stats-sec { padding-top: 40px; padding-bottom: 40px; } }
@media (max-width: 767px) { .elementor .pp-section.pp-tm-stats-sec { padding-top: 32px; padding-bottom: 32px; } }
@media (prefers-reduced-motion: reduce) { .pp-tm-cd::before { animation: none; } }
.pp-tm-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

/* A27 — Accueil : agenda des prochains rendez-vous (lu dans The Events Calendar), zones tactiles confortables */
.pp-ag { font-family: var(--font-body); min-height: 200px; }
.pp-ag__list { list-style: none; margin: 0 !important; padding: 0 !important; border-top: 1px solid var(--border-default); }
.pp-ag__list li { margin: 0; }
.pp-ag a.pp-ag__row { display: flex; align-items: center; gap: var(--space-4); min-height: 64px; padding: var(--space-4) var(--space-2); border-bottom: 1px solid var(--border-default); text-decoration: none; color: inherit; transition: background-color .2s ease; }
.pp-ag a.pp-ag__row:hover { background: var(--surface-muted); }
.pp-ag__d { width: 64px; flex: none; display: flex; flex-direction: column; align-items: center; line-height: 1; }
.pp-ag__d b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); color: var(--text-accent); }
.pp-ag__d small { margin-top: 4px; font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); color: var(--text-secondary); }
.pp-ag__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pp-ag__t b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-ag__t small { font-size: var(--text-sm); color: var(--text-secondary); }
.pp-ag__empty { margin: 0; padding: var(--space-4) var(--space-2); font-size: var(--text-sm); color: var(--text-secondary); }
@media (max-width: 600px) { .pp-ag .pp-cal-badge { display: none; } }
.elementor .elementor-widget-text-editor a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: 44px; }

/* A28 — Effectif : 4 cartes par ligne (3 sur tablette, 2 sur mobile) ; photos détourées et silhouette sur le même fond gris #BCBCBC (charte, « Images ») */
.pp-tm-players { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
@media (max-width: 1024px) { .pp-tm-players { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pp-tm-players { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); } }
.pp-player__ph, .pp-player__ph.is-sil { background: var(--pp-grey-1, #BCBCBC); }

/* A29 — Effectif : 5 cartes par ligne sur ordinateur (3 sur tablette, 2 sur mobile) */
.pp-tm-players { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); }
@media (max-width: 1024px) { .pp-tm-players { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pp-tm-players { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); } }

/* A30 — Découvrir (maquette Cible-Decouvrir) : équipement sur 5 colonnes, texte d'intro limité à 760 px, bloc vidéo centré, bandeau final plus compact */
.elementor .pp-grid.pp-grid--5 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.elementor .pp-lead--narrow { max-width: 760px; }
.elementor .pp-grid--wide.pp-video-grid { gap: var(--space-6); align-items: center; }
.elementor .pp-video-text { justify-content: center; align-items: flex-start; gap: var(--space-4); }
.elementor .pp-video-text .elementor-heading-title { font-family: var(--font-body); font-size: 22px; line-height: 1.2; font-weight: 700; text-transform: none; color: var(--text-primary); }
.elementor .pp-video-text .elementor-widget-text-editor { font-size: 16px; line-height: 1.5; color: var(--text-secondary); }
.elementor .pp-video-text .elementor-widget-text-editor p { margin: 0; color: var(--text-secondary); }
.elementor .pp-section.pp-section--md { padding-top: 64px; padding-bottom: 64px; }
@media (max-width: 600px) { .elementor .pp-section.pp-section--md { padding-top: 48px; padding-bottom: 48px; } }

/* A30b — Découvrir : largeur du texte d'intro (prend le pas sur la règle max-width d'Elementor) */
.elementor.elementor .e-con > .elementor-widget.pp-lead--narrow, .e-con.e-con > .e-con-inner > .elementor-widget.pp-lead--narrow { max-width: 760px; }

/* A31 — Accueil, « La vie du club » : vidéo en boucle + 2 photos, 3 colonnes de 640 px de haut (comme l'ancienne version) */
.elementor .pp-grid.pp-life { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.elementor .pp-life > .elementor-widget { width: 100%; max-width: 100%; }
.elementor .pp-life .elementor-wrapper, .elementor .pp-life .e-hosted-video { aspect-ratio: auto; height: 640px; border-radius: var(--radius-lg); overflow: hidden; background: #000; }
.elementor .pp-life video, .elementor .pp-life .elementor-widget-image img { width: 100%; max-width: none; height: 640px; object-fit: cover; border-radius: var(--radius-lg); display: block; }
.elementor .pp-life .elementor-widget-image img { background: var(--surface-muted); }
@media (max-width: 1024px) {
  .elementor .pp-life .elementor-wrapper, .elementor .pp-life .e-hosted-video, .elementor .pp-life video, .elementor .pp-life .elementor-widget-image img { height: 440px; }
}
@media (max-width: 600px) {
  .elementor .pp-grid.pp-life { grid-template-columns: 1fr; gap: var(--space-3); }
  .elementor .pp-life .elementor-wrapper, .elementor .pp-life .e-hosted-video, .elementor .pp-life video, .elementor .pp-life .elementor-widget-image img { height: 480px; }
}

/* A32 — Animations de l'Accueil et de Découvrir (script pp-motion : classe pp-motion-on sur <html>, absente si « réduire les animations ») */
@keyframes pp-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes pp-kb { from { transform: scale(1); } to { transform: scale(1.08); } }
@keyframes pp-line { from { width: 0; } to { width: 22px; } }
@keyframes pp-shine { from { transform: translateX(-120%) skewX(-18deg); } to { transform: translateX(220%) skewX(-18deg); } }
@keyframes pp-dot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }

/* 1. Hero : zoom très lent sur le fond (calque pp-hero__kb sous le voile), contenu qui monte en cascade */
.pp-motion-on .elementor .pp-hero--kb { isolation: isolate; overflow: hidden; background-image: none !important; }
.pp-motion-on .elementor .pp-hero__kb { position: absolute; inset: 0; z-index: -1; background-size: cover; background-repeat: no-repeat; transform-origin: 60% 45%; animation: pp-kb 24s ease-in-out infinite alternate; will-change: transform; }
.pp-motion-on .elementor .pp-hero .pp-hero-in { animation: pp-rise .6s var(--ease-out) both; }
.pp-motion-on .elementor .pp-hero .pp-eyebrow .elementor-heading-title::before { animation: pp-line .5s var(--ease-out) .45s both; }

/* 2. Apparitions au défilement (pp-rv), en cascade dans les grilles (--rv-d) */
.pp-motion-on .elementor .pp-rv { opacity: 0; transform: translateY(16px); transition: opacity .45s var(--ease-out) var(--rv-d, 0ms), transform .45s var(--ease-out) var(--rv-d, 0ms); }
.pp-motion-on .elementor .pp-rv.pp-rv--in { opacity: 1; transform: none; }

/* 3. Trait rouge des surtitres qui s'allonge à l'apparition */
.pp-motion-on .elementor .pp-eyebrow.pp-rv .elementor-heading-title::before { width: 0; transition: width .5s var(--ease-out) .2s; }
.pp-motion-on .elementor .pp-eyebrow.pp-rv--in .elementor-heading-title::before { width: 22px; }

/* 4. Palmarès : un reflet passe une fois sur les titres de champion */
.elementor .pp-card--title .pp-shine { position: absolute; top: 0; bottom: 0; left: 0; width: 45%; pointer-events: none; z-index: 2; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); animation: pp-shine 1.1s var(--ease-out) .35s both; }

/* 5. Agenda : lignes en cascade ; prochain week-end de match avec pastille et compte à rebours */
.pp-motion-on .elementor .pp-ag:not(.pp-ag--in) .pp-ag__row { opacity: 0; }
.pp-motion-on .elementor .pp-ag--in .pp-ag__row { animation: pp-rise .45s var(--ease-out) both; }
.pp-motion-on .elementor .pp-ag--in li:nth-child(2) .pp-ag__row { animation-delay: 70ms; }
.pp-motion-on .elementor .pp-ag--in li:nth-child(3) .pp-ag__row { animation-delay: 140ms; }
.pp-motion-on .elementor .pp-ag--in li:nth-child(4) .pp-ag__row { animation-delay: 210ms; }
.pp-motion-on .elementor .pp-ag--in li:nth-child(5) .pp-ag__row { animation-delay: 280ms; }
.pp-motion-on .elementor .pp-ag--in li:nth-child(n+6) .pp-ag__row { animation-delay: 350ms; }
.pp-ag .pp-ag__cd { display: inline-flex; align-items: center; gap: 6px; flex: none; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); white-space: nowrap; }
.pp-ag .pp-ag__cd::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--color-brand); animation: pp-dot 1.6s ease-in-out infinite; }
.pp-ag a.pp-ag__row--next .pp-ag__t b { color: var(--text-accent); }

/* 6. Vie du club : léger zoom au survol des photos */
.elementor .pp-life > .elementor-widget-image { overflow: hidden; border-radius: var(--radius-lg); }
.elementor .pp-life > .elementor-widget-image img { transition: transform .6s var(--ease-out); }
@media (hover: hover) { .elementor .pp-life > .elementor-widget-image:hover img { transform: scale(1.04); } }

/* 7. Découvrir, « Le sixes en 4 idées » : la ligne rouge se dessine, puis le numéro apparaît */
.pp-motion-on .elementor .pp-steps > .pp-step { border-top-color: transparent; background-image: linear-gradient(var(--color-brand), var(--color-brand)); background-repeat: no-repeat; background-origin: border-box; background-position: 0 0; background-size: 0 var(--border-width-bold); transition: background-size .6s var(--ease-out) calc(var(--rv-d, 0ms) + 100ms); }
.pp-motion-on .elementor .pp-steps > .pp-step.pp-drawn { background-size: 100% var(--border-width-bold); }
.pp-motion-on .elementor .pp-steps > .pp-step::before { opacity: 0; transform: translateY(8px); transition: opacity .35s var(--ease-out) calc(var(--rv-d, 0ms) + 450ms), transform .35s var(--ease-out) calc(var(--rv-d, 0ms) + 450ms); }
.pp-motion-on .elementor .pp-steps > .pp-step.pp-drawn::before { opacity: 1; transform: none; }

/* 8. Cartes d'info : elles se soulèvent au survol et leur bande rouge s'épaissit */
.elementor .pp-info { transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.elementor .pp-info::before { transition: height .2s var(--ease-out); }
@media (hover: hover) {
  .elementor .pp-info:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .elementor .pp-info:hover::before { height: 6px; }
}

/* 9. Découvrir : schéma du terrain de sixes */
.elementor .pp-field { margin: var(--space-4) 0 0; display: flex; flex-direction: column; gap: var(--space-3); }
.elementor .pp-field__svg { width: 100%; max-width: 900px; height: auto; display: block; }
.pp-field__pitch { fill: rgba(255, 255, 255, .04); stroke: rgba(255, 255, 255, .45); stroke-width: 2; }
.pp-field__line { fill: none; stroke: rgba(255, 255, 255, .45); stroke-width: 2; }
.pp-field__goal { fill: none; stroke: #fff; stroke-width: 2; }
.pp-field__dim { fill: rgba(255, 255, 255, .7); font-family: var(--font-body); font-weight: 700; font-size: 16px; letter-spacing: .08em; }
.pp-pl--us { fill: var(--color-brand); stroke: #fff; stroke-width: 2; }
.pp-pl--them { fill: #fff; stroke: rgba(0, 0, 0, .6); stroke-width: 2; }
.pp-ball { fill: #f7931e; }
.pp-motion-on .pp-field .pp-pl { transform: translate(var(--dx), var(--dy)); opacity: 0; transition: transform .8s var(--ease-out) var(--pd), opacity .3s ease var(--pd); }
.pp-motion-on .pp-field.pp-field--in .pp-pl { transform: none; opacity: 1; }
.pp-motion-on .pp-field .pp-ball { opacity: 0; transition: opacity .3s ease 1.6s; }
.pp-motion-on .pp-field.pp-field--in .pp-ball { opacity: 1; }
.elementor .pp-field__cap { display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-secondary); }
.elementor .pp-field__legend { display: flex; flex-wrap: wrap; gap: var(--space-4); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-primary); }
.elementor .pp-field__key { display: inline-flex; align-items: center; gap: 8px; }
.elementor .pp-field__key::before { content: ""; width: 12px; height: 12px; border-radius: 50%; }
.elementor .pp-field__key--us::before { background: var(--color-brand); box-shadow: 0 0 0 2px #fff; }
.elementor .pp-field__key--them::before { background: #fff; }
.elementor .pp-field__key--ball::before { width: 8px; height: 8px; background: #f7931e; }

/* 10. Boutons : rebond à l'appui (charte), flèche qui glisse au survol des boutons secondaires */
.elementor .pp-btn .elementor-button { transition: filter 200ms var(--ease-out), transform 260ms var(--ease-snap, cubic-bezier(0.34, 1.56, 0.64, 1)); }
.elementor .pp-btn .elementor-button:active { transform: scale(.96); transition-duration: 200ms, 80ms; }
.pp-motion-on .elementor .pp-btn--outline .elementor-button-text::after { content: "→"; display: inline-block; margin-left: 10px; transition: transform 200ms var(--ease-out); }
.pp-motion-on .elementor .pp-btn--outline .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }

@media print { .pp-motion-on .elementor .pp-rv { opacity: 1 !important; transform: none !important; } }
@media (prefers-reduced-motion: reduce) {
  .elementor .pp-info, .elementor .pp-info::before, .elementor .pp-life > .elementor-widget-image img, .elementor .pp-btn .elementor-button { transition: none; }
  .pp-ag .pp-ag__cd::before { animation: none; }
}

/* Widget HTML qui porte le script pp-motion : invisible */
.elementor .pp-motion-widget { display: none; }

/* A33 — Découvrir, schéma du terrain : cotes fléchées et action de jeu (passes, déplacements, tir) */
.pp-field__ext { fill: none; stroke: rgba(255, 255, 255, .35); stroke-width: 1.5; }
.pp-field__dimline { stroke: #fff; stroke-width: 2; }
.pp-field__tag { fill: var(--pp-black, #000); }
.pp-field__dim { fill: #fff; font-family: var(--font-body); font-weight: 700; font-size: 16px; letter-spacing: .06em; }
.pp-field__goal { transition: fill .3s ease, stroke .3s ease; }
.pp-field--goal .pp-field__goal--r { stroke: var(--color-brand); fill: rgba(221, 31, 31, .45); }
.elementor .pp-field__svg { max-width: 960px; }
/* Flèche des boutons secondaires : pas dans les cartes (produits, albums), ni sur le retour des pages d'équipe */
.pp-motion-on .elementor .pp-card .pp-btn--outline .elementor-button-text::after, .pp-motion-on .elementor .pp-album .pp-btn--outline .elementor-button-text::after, .pp-motion-on .elementor .pp-grid--shop .pp-btn--outline .elementor-button-text::after, .pp-motion-on .elementor .pp-tm-back .elementor-button-text::after { content: none; }

/* A34 — Pages d'événement (The Events Calendar) : bandeau photo, cartes d'infos, appel à essayer, prochains rendez-vous (script pp-event dans « HTML après le contenu ») */
body.single-tribe_events { overflow-x: clip; }
.single-tribe_events #tribe-events-content.content-bg { padding: 0; background: transparent; box-shadow: none; }
.pp-ev-ready .entry-header, .pp-ev-ready .tribe-events-schedule, .pp-ev-ready #tribe-events-header, .pp-ev-ready .tribe-events-event-meta { display: none !important; }
.pp-ev-hero { position: relative; isolation: isolate; margin: 0 calc(50% - 50vw) var(--space-8); padding: 140px max(20px, calc(50vw - 600px)) 64px; min-height: 440px; display: flex; flex-direction: column; justify-content: flex-end; background: #000; color: #fff; }
.pp-ev-hero__bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.pp-ev-hero__bg i { position: absolute; inset: 0; background-size: cover; background-position: center 30%; transform-origin: 60% 45%; animation: pp-kb 24s ease-in-out infinite alternate; }
.pp-ev-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .55) 100%); }
.pp-ev-hero__in { width: 100%; max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.pp-ev-hero__in > * { animation: pp-rise .6s var(--ease-out) both; }
.pp-ev-hero__in > :nth-child(2) { animation-delay: 100ms; } .pp-ev-hero__in > :nth-child(3) { animation-delay: 200ms; } .pp-ev-hero__in > :nth-child(4) { animation-delay: 300ms; } .pp-ev-hero__in > :nth-child(n+5) { animation-delay: 400ms; }
.pp-ev-back { margin-bottom: var(--space-4); color: rgba(255, 255, 255, .8); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); text-decoration: none; }
.pp-ev-back:hover { color: #fff; }
.pp-ev-eyebrow { margin: 0; display: inline-flex; align-items: center; gap: var(--space-2); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--color-brand); }
.pp-ev-eyebrow::before { content: ""; width: 22px; height: 3px; background: currentColor; }
.pp-ev-hero .pp-ev-eyebrow { color: #fff; }
.pp-ev-hero .pp-ev-eyebrow::before { background: var(--color-brand); }
.pp-ev-hero .pp-ev-title { margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.75rem, 8vw, 5.5rem); line-height: .95; letter-spacing: var(--tracking-display); color: #fff; }
.pp-ev-when { margin: var(--space-2) 0 0; display: flex; align-items: center; gap: var(--space-4); font-family: var(--font-body); font-size: var(--text-md); line-height: 1.4; color: rgba(255, 255, 255, .9); }
.pp-ev-when strong { color: #fff; }
.pp-ev-date { width: 64px; height: 64px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--color-brand); border-radius: var(--radius-md); color: #fff; line-height: 1; }
.pp-ev-date b { font-family: var(--font-display); font-weight: 400; font-size: 28px; }
.pp-ev-date small { margin-top: 3px; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: 10px; letter-spacing: .08em; }
.pp-ev-place { margin: 0; font-family: var(--font-body); font-weight: 600; color: rgba(255, 255, 255, .8); }
.pp-ev-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-3); }
.pp-ev-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border: 2px solid #fff; border-radius: var(--radius-md); color: #fff; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: filter 200ms var(--ease-out), transform 260ms var(--ease-snap, cubic-bezier(0.34, 1.56, 0.64, 1)); }
.pp-ev-btn:hover { color: #fff; filter: brightness(.9); }
.pp-ev-btn:active { transform: scale(.96); }
.pp-ev-btn--red { background: var(--color-brand); border-color: var(--color-brand); box-shadow: var(--shadow-brand); }
.pp-ev-actions .tribe-events-c-subscribe-dropdown__container { margin: 0; }
.pp-ev-actions .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button { min-height: 48px; padding: 0 20px; border: 2px solid #fff; border-radius: var(--radius-md); background: transparent; color: #fff; }
.pp-ev-actions .tribe-events-c-subscribe-dropdown__button-text, .pp-ev-actions .tribe-events-c-subscribe-dropdown__button button { color: #fff !important; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; background: none !important; }
.pp-ev-actions .tribe-events-c-subscribe-dropdown__button svg path { stroke: #fff; fill: none; }
.pp-ev-actions .tribe-events-c-subscribe-dropdown__content { z-index: 20; }
.single-tribe_events .tribe-events-single-event-description { max-width: 760px; font-family: var(--font-body); font-size: var(--text-md); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.single-tribe_events .tribe-events-single-event-description p { margin: 0 0 var(--space-3); }
.pp-ev-info { margin: var(--space-6) 0; }
.pp-ev-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--space-4); }
.pp-ev-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6) var(--space-5) var(--space-5); background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); font-family: var(--font-body); transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out); animation: pp-rise .5s var(--ease-out) both; }
.pp-ev-card:nth-child(2) { animation-delay: 80ms; } .pp-ev-card:nth-child(3) { animation-delay: 160ms; } .pp-ev-card:nth-child(4) { animation-delay: 240ms; }
.pp-ev-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); transition: height .2s var(--ease-out); }
.pp-ev-card h2 { margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--text-lg); line-height: 1.1; color: var(--text-primary); }
.pp-ev-card p, .pp-ev-card ul { margin: 0; font-size: var(--text-sm); line-height: 1.6; color: var(--text-secondary); }
.pp-ev-card ul { padding-left: 18px; }
.pp-ev-link { margin-top: auto; padding-top: var(--space-2); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); color: var(--text-accent); text-decoration: none; }
.pp-ev-link:hover { color: var(--text-accent); text-decoration: underline; }
@media (hover: hover) { .pp-ev-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); } .pp-ev-card:hover::before { height: 6px; } }
.pp-ev-cta { margin: var(--space-8) calc(50% - 50vw); padding: 64px max(20px, calc(50vw - 600px)); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5); background: #000; color: #fff; }
.pp-ev-cta__t { margin: var(--space-2) 0 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 6vw, 3rem); line-height: 1; color: #fff; }
.pp-ev-next { margin: var(--space-8) 0; font-family: var(--font-body); }
.pp-ev-next__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.pp-ev-next ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-default); }
.pp-ev-next li { margin: 0; }
.pp-ev-next li a { display: flex; align-items: center; gap: var(--space-4); min-height: 72px; padding: var(--space-3) var(--space-2); border-bottom: 1px solid var(--border-default); color: inherit; text-decoration: none; transition: background-color .2s ease; }
.pp-ev-next li a:hover { background: var(--surface-muted); }
.pp-ev-next .pp-ev-date { width: 52px; height: 52px; }
.pp-ev-next .pp-ev-date b { font-size: 22px; }
.pp-ev-next__t { display: flex; flex-direction: column; gap: 4px; }
.pp-ev-next__t b { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--text-lg); line-height: 1.1; color: var(--text-primary); }
.pp-ev-next__t small { font-size: var(--text-sm); color: var(--text-secondary); }
.single-tribe_events #tribe-events-footer { margin: var(--space-6) 0 var(--space-9); }
.single-tribe_events #tribe-events-footer .tribe-events-sub-nav { list-style: none; display: flex; justify-content: space-between; gap: var(--space-3); margin: 0; padding: 0; }
.single-tribe_events #tribe-events-footer .tribe-events-sub-nav li { margin: 0; }
.single-tribe_events #tribe-events-footer .tribe-events-sub-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 2px solid var(--text-primary); border-radius: var(--radius-md); color: var(--text-primary); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; text-decoration: none; }
.single-tribe_events #tribe-events-footer .tribe-events-sub-nav a:hover { background: var(--text-primary); color: var(--surface-page); }
@media (max-width: 600px) {
  .pp-ev-hero { padding: 104px 16px 40px; min-height: 380px; }
  .pp-ev-when { font-size: var(--text-base); gap: var(--space-3); }
  .pp-ev-cta { padding: 48px 16px; }
  .pp-ev-actions, .pp-ev-actions > * { width: 100%; }
  .pp-ev-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-ev-hero__bg i, .pp-ev-hero__in > *, .pp-ev-card { animation: none; }
  .pp-ev-card, .pp-ev-card::before, .pp-ev-btn { transition: none; }
}

/* A34b — Pages d'événement : le bandeau touche le menu */
.single-tribe_events.pp-ev-ready #primary { margin-top: 0; }

/* A35 — Dépliants (FAQ, motifs, albums) : animation de pliage/dépliage par le script pp-motion (classe pp-acc-js) */
.pp-acc-js .elementor .e-n-accordion-item.pp-acc-closing > summary .e-opened { display: none !important; }
.pp-acc-js .elementor .e-n-accordion-item.pp-acc-closing > summary .e-closed { display: inline-flex !important; }
.pp-acc-js .elementor .pp-motif-acc .e-n-accordion-item.pp-acc-closing .e-n-accordion-item-title-icon .e-closed,
.pp-acc-js .elementor .pp-album-acc .e-n-accordion-item.pp-acc-closing .e-n-accordion-item-title-icon .e-closed { transform: none; }
.pp-acc-js .elementor .pp-album-acc .e-n-accordion-item[open] > .e-con { animation: none; }

/* A36 — Page week-end de match (script pp-weekend) : bandeau, chiffres, matchs par équipe, infos pratiques, saison */
.elementor .pp-section[hidden] { display: none !important; }
.pp-wk[data-part="hero"] { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); color: #fff; }
.pp-wk[data-part="hero"] .pp-eyebrow { margin: 0; color: #fff; }
.pp-wk-hero__t { margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.75rem, 8vw, 5.5rem); line-height: .95; letter-spacing: var(--tracking-display); color: #fff; }
.pp-wk-hero__when { margin-top: var(--space-1); }
.pp-wk-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pp-wk-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, .45); border-radius: var(--radius-pill); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: #fff; }
.pp-wk-chip--red { background: var(--color-brand); border-color: var(--color-brand); }
.pp-wk-chip--live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: pp-dot 1.6s ease-in-out infinite; }
.pp-wk-note { margin: 0 0 var(--space-2); padding: 10px 14px; border-left: 3px solid var(--color-brand); background: rgba(255, 255, 255, .1); font-family: var(--font-body); font-size: var(--text-sm); color: #fff; }
.pp-wk[data-part="hero"] .pp-ev-actions { margin-top: var(--space-3); }
.pp-wk[data-part="stats"] { min-height: 84px; }
.pp-wk[data-part="matches"] { min-height: 320px; display: flex; flex-direction: column; gap: var(--space-7, 40px); }
.pp-wk-team__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4); }
.pp-wk-team__rec { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); }
.pp-wk-team__link { margin-left: auto; padding-top: 0; }
.pp-match--tbd .pp-match__name { color: var(--text-secondary); }
.pp-wk .pp-ev-card h3 { margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--text-lg); line-height: 1.1; color: var(--text-primary); }
.pp-wk .pp-ev-card { animation: none; }
.pp-wk-season { margin: 0; }
.pp-wk-season li.is-current a { background: var(--surface-muted); box-shadow: inset 4px 0 0 var(--color-brand); }
.pp-wk-st { margin-left: auto; flex: none; padding-left: var(--space-3); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); white-space: nowrap; }
.pp-wk-st--next, .pp-wk-st--live { color: var(--text-accent); }
.pp-wk-season li.is-current .pp-wk-st { color: var(--text-primary); }
.pp-wk-season .pp-ev-next__t { min-width: 0; }
@media (max-width: 600px) {
  .pp-wk .pp-tm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-wk-team__link { margin-left: 0; width: 100%; }
  .pp-wk-season .pp-ev-next__t small { display: none; }
  .pp-wk[data-part="hero"] .pp-ev-actions, .pp-wk[data-part="hero"] .pp-ev-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .pp-wk-chip--live::before { animation: none; } }

/* A37 — Pages d'album : titre du hero, fiche du match (pp-facts / pp-fact), galerie verticale (pp-gallery--portrait) */
.elementor .pp-title--album .elementor-heading-title, .elementor .pp-title--album.elementor-widget-heading .elementor-heading-title { font-size: clamp(2.5rem, 6.5vw, 5rem); }
.elementor .pp-facts { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: var(--space-5) var(--space-4); }
.elementor .pp-facts > .pp-fact { width: auto; min-width: 0; }
.elementor .pp-fact > .elementor-widget { margin: 0; }
.elementor .pp-fact__l .elementor-heading-title { display: flex; align-items: center; gap: var(--space-2); margin: 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.elementor .pp-fact__l .elementor-heading-title::before { content: ""; width: 14px; height: 2px; background: var(--text-accent); flex: none; }
.elementor .pp-fact__v .elementor-heading-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); overflow-wrap: anywhere; }
.elementor .pp-fact--brand .pp-fact__v .elementor-heading-title { color: var(--color-brand); }
.pp-gallery--portrait .gallery-item img { aspect-ratio: 4 / 5; }
.pp-gallery .gallery-item a { display: block; overflow: hidden; border-radius: var(--radius-sm); }
.pp-gallery .gallery-item a img { transition: transform .4s ease; }
@media (hover: hover) { .pp-gallery .gallery-item a:hover img { transform: scale(1.04); } }
.pp-gallery .gallery-item a:focus-visible { box-shadow: var(--focus-ring); }
@media (max-width: 600px) { .elementor .pp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pp-gallery .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--space-2) !important; } }
@media (prefers-reduced-motion: reduce) { .pp-gallery .gallery-item a img { transition: none; } }

/* A37b — Pages d'album : valeurs de la fiche un cran plus petites, widget technique de la galerie masqué */
.elementor .pp-fact__v .elementor-heading-title { font-size: var(--text-lg); }
.elementor .pp-gallery-sizes { display: none; }

/* A38 — Pages légales : titre de hero moyen (pp-title--lg), sommaire collant (pp-toc), sections numérotées (pp-legal) */
.elementor .pp-title--lg .elementor-heading-title { font-size: clamp(2.5rem, 6.5vw, 5rem); }
.elementor .pp-legal-layout { align-items: flex-start; }
.elementor .pp-toc { position: sticky; top: 120px; padding: var(--space-5); background: var(--surface-muted); border-radius: var(--radius-lg); }
.admin-bar .elementor .pp-toc { top: 152px; }
.elementor .pp-toc > .elementor-widget { margin: 0; }
.pp-toc__list ol, .pp-toc__more ul { list-style: none; margin: 0; padding: 0; }
.pp-toc__list li { margin: 0; }
.pp-toc__list a { display: flex; align-items: baseline; gap: var(--space-3); padding: 10px 0; border-bottom: 1px solid var(--border-default); font-family: var(--font-body); font-weight: var(--fw-semibold, 600); font-size: var(--text-sm); line-height: 1.35; color: var(--text-primary); text-decoration: none; }
.pp-toc__list li:last-child a { border-bottom: 0; }
.pp-toc__list a span { flex: none; min-width: 22px; font-family: var(--font-display); font-weight: 400; color: var(--text-accent); }
.pp-toc__list a:hover, .pp-toc__list a.is-current { color: var(--text-accent); }
.elementor .pp-toc__h .elementor-heading-title { margin: var(--space-2) 0 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-toc__more li { margin: 0 0 var(--space-2); }
.pp-toc__more a { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); color: var(--text-accent); text-decoration: none; }
.pp-toc__more a:hover { text-decoration: underline; text-underline-offset: 3px; }
.elementor .pp-legal__sec { padding: var(--space-7, 40px) 0; border-top: 1px solid var(--border-default); scroll-margin-top: 130px; }
.elementor .pp-legal__sec:first-child { padding-top: 0; border-top: 0; }
.elementor .pp-legal__sec > .elementor-widget, .elementor .pp-legal__head > .elementor-widget { margin: 0; }
.elementor .pp-legal__num .elementor-heading-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); line-height: 1; color: var(--text-accent); }
.pp-legal__text p, .pp-legal__text li { max-width: 72ch; margin: 0 0 var(--space-3); font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.pp-legal__text p:last-child { margin-bottom: 0; }
.pp-legal__text a { color: var(--text-accent); text-decoration: underline; text-underline-offset: 3px; }
.pp-legal__text strong { color: var(--text-primary); }
@media (max-width: 1024px) { .elementor .pp-toc { position: static; } }

/* A39 — Vues The Events Calendar (/evenements/ : mois, liste) aux couleurs du club, bandeau « HTML avant le contenu » (pp-evx-hero) */
body.post-type-archive-tribe_events, body.tribe-events-page-template { background: var(--surface-page); }
.tribe-common { --tec-font-family-sans-serif: var(--font-body); --tec-font-family-base: var(--font-body);
  --tec-color-text-primary: var(--text-primary); --tec-color-text-secondary: var(--text-secondary); --tec-color-text-events-title: var(--text-primary); --tec-color-text-event-title: var(--text-primary); --tec-color-text-event-date: var(--text-secondary);
  --tec-color-accent-primary: var(--color-brand); --tec-color-accent-primary-hover: var(--pp-red-deep); --tec-color-accent-primary-active: var(--pp-red-deep); --tec-color-accent-primary-background: var(--pp-red-tint);
  --tec-color-button-primary: var(--color-brand); --tec-color-button-primary-hover: var(--pp-red-deep); --tec-color-button-primary-active: var(--pp-red-deep);
  --tec-color-link-accent: var(--text-accent); --tec-color-border-default: var(--border-default); --tec-color-border-secondary: var(--border-default); --tec-color-background: var(--surface-page); --tec-color-background-events-bar: var(--surface-page);
  --tec-color-icon-active: var(--color-brand); --tec-color-day-marker-current-month: var(--text-primary); --tec-color-day-marker-past-month: var(--text-secondary); --tec-color-day-marker-current-month-hover: var(--text-accent); --tec-color-background-secondary: var(--surface-muted); }
/* Bandeau */
.pp-evx-hero { position: relative; isolation: isolate; margin: 0 calc(50% - 50vw) var(--space-7, 40px); padding: 120px max(20px, calc(50vw - 600px)) 56px; min-height: 360px; display: flex; flex-direction: column; justify-content: flex-end; background: #000; color: #fff; }
.pp-evx-hero .pp-ev-hero__in { gap: var(--space-3); }
.pp-evx-hero .pp-evx-title { margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.5rem, 7vw, 4.5rem); line-height: .95; letter-spacing: var(--tracking-display); color: #fff; }
.pp-evx-hero .pp-evx-lead { margin: 0; max-width: 620px; font-family: var(--font-body); font-size: var(--text-md); line-height: var(--leading-relaxed); color: rgba(255, 255, 255, .85); }
.single-tribe_events .pp-evx-hero { display: none; }
.post-type-archive-tribe_events .entry-hero, .post-type-archive-tribe_events .page-header { display: none; }
.post-type-archive-tribe_events #primary { margin-top: 0; }
/* Barre de recherche et vues */
.tribe-events .tribe-events-c-events-bar--border { border-color: var(--border-default); border-radius: var(--radius-lg); }
.tribe-common .tribe-common-c-btn, .tribe-common a.tribe-common-c-btn { border-radius: var(--radius-md); font-family: var(--font-body); font-weight: var(--fw-bold); letter-spacing: var(--tracking-wider); text-transform: uppercase; font-size: var(--text-xs); background: var(--color-brand); }
.tribe-events .tribe-events-c-view-selector__list-item-text { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; }
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::after { background: var(--color-brand); }
.tribe-events .tribe-events-c-top-bar__datepicker-button { font-family: var(--font-display); font-weight: 400; font-size: 28px; color: var(--text-primary); }
.tribe-common .tribe-common-c-btn-border-small, .tribe-events .tribe-events-c-top-bar__today-button { border: 2px solid var(--text-primary); border-radius: var(--radius-md); color: var(--text-primary); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; }
/* Mois */
.tribe-events .tribe-events-calendar-month__header-column-title { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.tribe-events .tribe-events-calendar-month__day-date-daynum { font-family: var(--font-body); font-weight: 700; font-size: var(--text-sm); color: var(--text-primary); }
.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-daynum, .tribe-events .tribe-events-calendar-month__day--other-month .tribe-events-calendar-month__day-date-daynum { color: var(--text-secondary); opacity: .7; }
.tribe-events .tribe-events-calendar-month__day--current { background: var(--pp-red-tint); }
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum, .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link { color: var(--pp-red-deep); }
.tribe-events .tribe-events-calendar-month__calendar-event { margin-top: 4px; padding: 4px 6px; border-radius: var(--radius-sm); background: var(--pp-grey-5); }
.tribe-events .tribe-events-calendar-month__calendar-event-datetime { font-family: var(--font-body); font-weight: 700; font-size: var(--text-2xs); color: var(--text-primary); }
.tribe-events .tribe-events-calendar-month__calendar-event-title, .tribe-events .tribe-events-calendar-month__calendar-event-title-link { font-family: var(--font-body); font-weight: 500; font-size: var(--text-xs); line-height: 1.3; color: var(--text-primary); }
.tribe-events .tribe-events-calendar-month__calendar-event-title-link:hover { color: var(--text-accent); }
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event { background-color: var(--color-brand); }
/* Liste */
.tribe-events .tribe-events-calendar-list__month-separator-text { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: var(--tracking-display); color: var(--text-primary); }
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); }
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum { font-family: var(--font-display); font-weight: 400; color: var(--text-primary); }
.tribe-events .tribe-events-calendar-list__event-title, .tribe-events .tribe-events-calendar-list__event-title-link { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: var(--tracking-display); color: var(--text-primary); }
.tribe-events .tribe-events-calendar-list__event-title-link:hover { color: var(--text-accent); border-color: var(--text-accent); }
.tribe-events .tribe-events-calendar-list__event-datetime, .tribe-events .tribe-events-calendar-list__event-venue, .tribe-events .tribe-events-calendar-list__event-description { font-family: var(--font-body); color: var(--text-secondary); }
.tribe-events .tribe-events-c-subscribe-dropdown__button { border-radius: var(--radius-md); }
@media (max-width: 600px) { .pp-evx-hero { padding: 96px 16px 40px; min-height: 300px; } }

/* A39b — Bandeau des événements en carte arrondie dans la largeur du calendrier, liens et bouton lisibles */
.tribe-events-before-html .pp-evx-hero { margin: 0 0 var(--space-6); padding: 72px clamp(20px, 5vw, 48px) 48px; min-height: 320px; border-radius: var(--radius-lg); overflow: hidden; }
.pp-evx-hero .pp-ev-hero__in { max-width: none; }
.pp-evx-hero a.pp-ev-btn, .pp-evx-hero a.pp-ev-btn:hover { color: #fff; }
.tribe-events .tribe-events-calendar-month__calendar-event-title-link.tribe-common-anchor-thin { color: var(--text-primary); }
.tribe-events .tribe-events-calendar-month__calendar-event-title-link.tribe-common-anchor-thin:hover { color: var(--text-accent); }
@media (max-width: 600px) { .tribe-events-before-html .pp-evx-hero { padding: 56px 20px 32px; min-height: 280px; } }

/* A39c — Couleurs des vues d'événements : les variables du Customizer TEC (rouge partout) sont remplacées par celles du club */
html body .tribe-common { --tec-color-text-events-title: var(--text-primary) !important; --tec-color-text-event-title: var(--text-primary) !important; --tec-color-text-primary: var(--text-primary) !important; --tec-color-text-secondary: var(--text-secondary) !important; --tec-color-day-marker-current-month: var(--text-primary) !important; --tec-color-day-marker-past-month: var(--text-secondary) !important; --tec-color-link-accent: var(--text-accent) !important; --tec-color-accent-primary: var(--color-brand) !important; --tec-color-background-events-bar: var(--surface-page) !important; --tec-color-background: var(--surface-page) !important; }
.tribe-events-calendar-month__day-date-link, .tribe-events .tribe-events-calendar-month__day-date-link { color: inherit !important; }
.tribe-common a.pp-ev-btn--red { background-color: var(--color-brand); }
.tribe-events-before-html { margin-top: var(--space-6); }

/* A40 — Bandeau cookies Complianz aux couleurs du club : carte à filet rouge, titre varsity, Accepter et Refuser de même poids */
#cmplz-cookiebanner-container .cmplz-cookiebanner { font-family: var(--font-body); color: var(--text-primary); background: var(--surface-card, #fff); border: 1px solid var(--border-default); border-top: 4px solid var(--color-brand); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg, 0 18px 40px rgba(0, 0, 0, .18)); padding: var(--space-5); gap: var(--space-3); max-width: min(440px, calc(100vw - 32px)); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message p { font-family: var(--font-body); font-size: var(--text-sm); line-height: 1.55; color: var(--text-secondary); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { color: var(--text-primary); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { gap: var(--space-2); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { min-height: 44px; height: auto; padding: 10px 14px; border-radius: var(--radius-md); border: 2px solid var(--text-primary); background: transparent; color: var(--text-primary); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; white-space: normal; line-height: 1.2; transition: filter .2s ease, transform .2s ease; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--color-brand); border-color: var(--color-brand); color: #fff; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny { background: var(--text-primary); border-color: var(--text-primary); color: var(--surface-page); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover { filter: brightness(.9); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:active { transform: scale(.97); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-link { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); color: var(--text-accent); text-underline-offset: 3px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category { border-radius: var(--radius-md); background: var(--surface-muted); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-category-title { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); color: var(--text-primary); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-always-active { color: var(--color-success, #1f8a4c); font-weight: var(--fw-bold); }
#cmplz-cookiebanner-container .cmplz-cookiebanner input.cmplz-consent-checkbox:checked + .cmplz-label::before, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label::before { background-color: var(--color-brand); }
@media (prefers-reduced-motion: reduce) { #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { transition: none; } }

/* A38b — Pages légales : sommaire à largeur fixe et texte à côté sur ordinateur (le 30 % + 70 % + écart passait à la ligne) */
@media (min-width: 1025px) { .elementor .pp-legal-layout { flex-wrap: nowrap !important; } .elementor .pp-legal-layout > .pp-toc { flex: 0 0 300px; width: 300px !important; } .elementor .pp-legal-layout > .pp-legal { flex: 1 1 auto; width: auto !important; min-width: 0; } }

/* A40b — Bandeau cookies : largeur d'origine de Complianz (526 px), le texte n'est plus coupé */
#cmplz-cookiebanner-container .cmplz-cookiebanner { max-width: calc(100vw - 32px); }

/* A41 — Pages hors Elementor : 404 en hero sombre sur la texture phénix, résultats de recherche et archives en cartes du club */
.error404 #primary, .search-no-results #primary { margin-top: 0; margin-bottom: 0; }
.error404 .content-container.site-container, .search-no-results .content-container.site-container { max-width: none; padding: 0; }
.error404 section.error .page-content, .search-no-results section.no-results .page-content { position: relative; isolation: isolate; min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; margin: 0; padding: 140px max(20px, calc(50vw - 600px)) 72px; border-radius: 0; box-shadow: none; background: #000 url(/wp-content/uploads/2026/10/texture-phenix-web.webp) center / cover no-repeat; color: #fff; }
.error404 section.error .page-content::before, .search-no-results section.no-results .page-content::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .6); }
.error404 section.error .entry-content-wrap, .search-no-results section.no-results .entry-content-wrap { max-width: 720px; padding: 0; }
.error404 .page-header, .search-no-results .page-header { margin: 0 0 var(--space-4); }
.error404 .page-header::before, .search-no-results .page-header::before { content: "Erreur 404"; display: block; margin-bottom: var(--space-3); padding-left: 32px; background: linear-gradient(var(--color-brand), var(--color-brand)) left center / 22px 3px no-repeat; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: #fff; }
.search-no-results .page-header::before { content: "Recherche"; }
html[lang^="en"] .error404 .page-header::before { content: "Error 404"; }
html[lang^="en"] .search-no-results .page-header::before { content: "Search"; }
.error404 .page-title, .search-no-results .page-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(2.5rem, 7vw, 4.5rem); line-height: .95; letter-spacing: var(--tracking-display); text-transform: uppercase; color: #fff; }
.error404 section.error p, .search-no-results section.no-results p { margin: 0 0 var(--space-5); font-family: var(--font-body); font-size: var(--text-md); line-height: var(--leading-relaxed); color: rgba(255, 255, 255, .88); }
.error404 .search-form, .search-no-results .search-form { position: relative; max-width: 520px; }
.error404 .search-form .search-field, .search-no-results .search-form .search-field { width: 100%; min-height: 52px; padding: 0 56px 0 16px; border: 0; border-radius: var(--radius-md); background: #fff; color: var(--pp-black, #000); font-family: var(--font-body); font-size: var(--text-base); }
.error404 .search-form .search-field:focus-visible, .search-no-results .search-form .search-field:focus-visible { box-shadow: var(--focus-ring); outline: none; }
.error404 .search-form .kadence-search-icon-wrap, .search-no-results .search-form .kadence-search-icon-wrap { color: var(--color-brand); }
/* Recherche et archives */
.search-results .entry-hero, .archive:not(.post-type-archive-tribe_events) .entry-hero { background: #000; }
.search-results .entry-hero .entry-header .page-title, .search-results .archive-title, .archive:not(.post-type-archive-tribe_events) .archive-title { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: var(--tracking-display); }
.search-results .loop-entry, .archive:not(.post-type-archive-tribe_events) .loop-entry { position: relative; overflow: hidden; border: var(--border-width, 1px) solid var(--border-default); border-radius: var(--radius-lg); box-shadow: none; background: var(--surface-card, #fff); transition: box-shadow .2s ease, transform .2s ease; }
.search-results .loop-entry::before, .archive:not(.post-type-archive-tribe_events) .loop-entry::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
@media (hover: hover) { .search-results .loop-entry:hover, .archive:not(.post-type-archive-tribe_events) .loop-entry:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); } }
.search-results .loop-entry .entry-title, .archive:not(.post-type-archive-tribe_events) .loop-entry .entry-title { font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; }
.search-results .loop-entry .entry-title a, .archive:not(.post-type-archive-tribe_events) .loop-entry .entry-title a { color: var(--text-primary); text-decoration: none; }
.search-results .loop-entry .entry-title a:hover { color: var(--text-accent); }
.search-results .loop-entry .entry-meta, .search-results .loop-entry .entry-summary p { font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-secondary); }
.search-results .loop-entry .more-link-wrap a, .search-results .loop-entry .entry-actions a { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); }
.search-results .pagination .page-numbers, .archive .pagination .page-numbers { border-radius: var(--radius-md); font-family: var(--font-body); font-weight: var(--fw-bold); }
.search-results .pagination .page-numbers.current, .archive .pagination .page-numbers.current { background: var(--color-brand); border-color: var(--color-brand); color: #fff; }
@media (max-width: 600px) { .error404 section.error .page-content, .search-no-results section.no-results .page-content { min-height: 420px; padding: 104px 16px 48px; } }
@media (prefers-reduced-motion: reduce) { .search-results .loop-entry { transition: none; } }

/* A42 — Mode sombre natif : suit le réglage clair / sombre de l'appareil (prefers-color-scheme). Jetons du thème sombre du design system, palette Kadence, en-tête et pied noirs, logo principal « fond sombre », logos adverses sur pastille blanche, formulaires, calendriers. */
@media (prefers-color-scheme: dark) {
:root {
  color-scheme: dark;
  --surface-page: #000000; --surface-card: #1f1f1f; --surface-muted: #141414;
  --text-primary: #ffffff; --text-secondary: #bcbcbc; --text-muted: #8f8f8f;
  --text-accent: var(--pp-orange); --text-brand: var(--pp-red-light);
  --border-default: #2b2b2b; --border-strong: #767676;
  --color-success: #3dbb74; --on-success: #000000; --color-danger: var(--pp-red-light);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .6); --shadow-md: 0 4px 12px rgba(0, 0, 0, .6);
  --pp-grey-5: #141414; --pp-grey-4: #2b2b2b; --pp-red-tint: rgba(221, 31, 31, .2);
  --global-palette2: #ffffff; --global-palette3: #f4f4f4; --global-palette4: #bcbcbc; --global-palette5: #8f8f8f;
  --global-palette7: #2b2b2b; --global-palette8: #000000;
}
body { background-color: var(--surface-page); color: var(--text-primary); }
::selection { background: var(--pp-red); color: #fff; }
/* En-tête et pied de page */
#masthead, #masthead .site-header-row-container-inner, #masthead .site-header-upper-wrap, #masthead .site-main-header-wrap { background-color: #000000; }
#masthead .site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid #2b2b2b; }
#colophon, #colophon .site-footer-wrap { background-color: var(--surface-muted); color: var(--text-primary); }
#colophon a { color: var(--text-primary); }
#colophon .widget-title, #colophon .widget_block h2, #colophon h2 { color: var(--text-accent); }
/* Logo principal : version « fond sombre » (P noir cerné de blanc), sans changer l'adresse de l'image */
img[src*="logo-principal-fond-clair"] { object-position: -99999px 0; background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxMTQ2LjEgMTIwMCI+PGRlZnM+PHN0eWxlPiAuc3QwIHsgZmlsbDogI2RkMWYxZjsgfSAuc3QxIHsgZmlsbDogI2ZmZjsgfSAuc3QyIHsgZmlsbDogI2Y3OTMxZTsgfSA8L3N0eWxlPjwvZGVmcz48ZyBpZD0iTG9nbzEiPjxwYXRoIGlkPSJPdXRsaW5lIiBjbGFzcz0ic3QxIiBkPSJNMTQ2LjEsMTE5OS44bDE0MS0xOTcuNy43LTQ1LjUtNDQuNS0yMy4zYy00Ny43LTI1LTg5LjQtNjMtMTE3LjQtMTA3LTEzLjUtMjEuMi0yMy44LTQzLjUtMzAuNy02Ni40LTQuNSw3LjUtOC43LDE1LjItMTIuNSwyMy4zbC0zOS43LDgzLjgtMjguOS04OC4xYy0yMi4yLTY3LjgtMTguMi0xNDIuNiwxMS42LTIxNi4zLDIwLjItNDkuOSw1Mi4xLTk4LjUsOTEuNi0xNDAuMi0yNy41LTI0LjEtNDktNTIuNi02NC4xLTg1LjQtMTcuMi0zNy4xLTI2LTc5LTI2LjEtMTI0LjVsLS4zLTk5LjYsNjUuMyw3NS4yYzEyLjYsMTQuNiwyNS4zLDI3LjMsMzguMywzOC40LS43LTEyLjYtLjEtMjUuNSwxLjYtMzguNSw2LjUtNDguOCwyOS4zLTk0LjUsNjQuMS0xMjguOUwyNTYsMGwzLjEsODRjMS4zLDM1LjcsMTAuOCw2NC42LDI5LjEsODcuOCw0LjktMzYuNywyMi42LTY2LjYsNTEuNC04Ni41bDY0LTQ0LjUtNiw3Ny43Yy0xLjYsMjAuNyw0LjIsMzguNywxNy44LDU1LjEsMTEuNywxNC4xLDI4LjcsMjYuOCw1MC45LDM3LjksMCwwLDM0Ni4yLjYsMzQ3LjkuNmgyN2wuMi44YzEwNS4yLDQuOSwxODQuNiwzOS4xLDIzNi40LDEwMS42LDQ1LjMsNTQuNyw2OC4zLDEzMC4zLDY4LjMsMjI0LjdzLTIxLjEsMTkyLjctNjguNCwyNDQuNGMtNTEuOSw1Ni43LTEzNC4zLDgzLjItMjU5LjUsODMuMnMtODEuNS4yLTE1Ny4zLjNjLTEsMjUuNi04LjYsNTEuNy0yMi43LDc3LjMtMTQuNywyNi43LTM2LjEsNTIuMS02MS44LDczLjRsODEuNCwxODIuMkgxNDYuMXYtLjJaTTgzNS45LDQ5MS4zYzI2LDI2LDQxLjIsNTguNiw0NC4yLDk0LjIuNSw2LjMuNywxMi42LjQsMTksLjctLjgsMS4zLTEuNiwxLjgtMi4yLDkuOC0xMi43LDE0LjQtMzMuNywxNC40LTY2cy02LjgtNDkuNi0yMC45LTY0LjFjLTE4LjMtMTguOS01MC44LTI4LjUtOTYuNi0yOC41aC03LjJjMjYuMSwxMy44LDQ2LjcsMjkuMiw2My45LDQ3LjZoMFoiLz48cGF0aCBpZD0iUCIgZD0iTTgxNC4yLDI0OS4xaDBjLTEuOS0uMS00NzguNC0uOS00NzguNC0uOWwtMTEuNyw3NjUuOS0xMDYsMTQ4LjZoMzgyLjhsLTY2LjQtMTQ4LjYuMy0xODRzMjgyLjYtLjYsMjgzLjUtLjZjMjMxLjMsMCwyOTAuOS05Mi44LDI5MC45LTI5MC42cy02MS4xLTI4OS45LTI5NC45LTI4OS45aDBaTTc4MS4zLDY2Ni4yYy0uNSwwLTI0Ni43LjMtMjQ2LjcuM3YtMjU5LjhoMjQ0LjZjMTIyLjUsMCwxNTQuNSw2Mi43LDE1NC41LDEyOS42cy0zMS4zLDEyOS45LTE1Mi40LDEyOS45aDBaIi8+PGcgaWQ9Ik1hc2NvdCI+PHBhdGggaWQ9IkZpbGwiIGQ9Ik04MDkuMyw1MTdjLTE5LjYtMjEuMS00My42LTM1LjktNjkuNC00OC0zLjYtMS43LTQuNC0zLjQtNC4zLTcuMi41LTk2LjYtMTUxLTE2NS44LTIyOS0xOTUuMi03MC41LTIwLjgtMTUyLjUtNjUuOS0xNDUuOS0xNTEuMS00NC4zLDMwLjgtNDMuMyw5MC0yNSwxMzUuNC03Mi40LTMxLjYtMTEwLjctODYuMy0xMTMuNi0xNjUuNi01OC4yLDU3LjQtNzYsMTU0LjktMjUsMjIyLjUtNTMuNS0xOS4yLTk1LjktNTIuOS0xMzMtOTUuNi4yLDY5LjksMjMuNCwxNTIuMywxMTAuNCwyMDYuNEM3OC4yLDUwMi41LDcuMyw2MzkuMiw0OS4zLDc2Ny4zYzE3LjYtMzcuMiw0MS44LTY4LjYsNzMuMi05NS41LTguNCw5Ny41LDU0LjgsMTg1LjEsMTM4LDIyOC43LTEwLjYtMjYuMi0xOC4zLTYyLTE2LjctOTIuNSw3Niw4Ny42LDIyNi41LDkwLjIsMjcxLjUsMjA2LjYsNzYuNS00MiwxNDcuMS0xNDAsODQuNi0yMjIuMy0xMS0xNS41LTIzLjQtMzAuMi0zMi4yLTQ3LjMtNTMuMi0xMDMuNSw3MC43LTE1MS4xLDE1Mi43LTExNi44LDQyLDExLjMsNTguMiw1NC43LDUzLjIsOTUsNjcuNy00Ni4zLDk5LjItMTQzLjEsMzUuOC0yMDYuMmgwWk00NzAuOCw2NDAuNWguMXEwLDAsMCwwaC0uMVoiLz48cGF0aCBpZD0iTmVjayIgY2xhc3M9InN0MSIgZD0iTTQzOC4yLDU4OC40Yy04NS40LDcyLjYtMTIuOSwyMDIuOSw3Mi40LDI0MC4xLTI5LjktMzcuNi01Mi4zLTg3LjUtMzIuMS0xMzUuMSw4LDUzLjksNDYuNSw5MC4zLDcyLjMsMTM0LjksMjMsNDcsMTIuOSw5OC41LTE5LDEzOC42LTE5LjItNzIuNy05Mi4xLTk2LjktMTQxLTE0NC41LTgwLjEtNzMuNS02MS42LTIxMS43LDQ3LjUtMjM0LjFoMFoiLz48cGF0aCBpZD0iQmVhayIgY2xhc3M9InN0MSIgZD0iTTc3OC4xLDUzMy4yYy0yMC43LTE5LjctNDYtMzAuMy03My0zNy43LTItLjYtMi45LDAtNC4yLDEtNjUuOSw1OS0xOTcuNCw2Mi40LTIzMCwxNDMuNyw2OC44LTY1LjksMTc1LjYtNzguNSwyNjEuNi00MS40LDI4LjYsMTEuMiw1My41LDMxLjUsNjMuNCw2MS42LDI2LTQxLDE4LjQtOTUuNS0xNy44LTEyNy40aDB2LjJaTTcxOC44LDUyNy42YzYuOCwwLDE5LjcsMTIuMSwyMi4yLDIyLTE1LjgtNC41LTMxLjQtNy41LTQ3LjUtMTAuMyw2LjctNi44LDE4LjQtMTEuNywyNS4yLTExLjdoMFpNNDcwLjgsNjQwLjVoMGMwLDAtLjEsMC0uMSwwaDBjMCwwLC4xLDAsLjEsMFoiLz48cGF0aCBpZD0iRXllIiBjbGFzcz0ic3QyIiBkPSJNNjMwLjUsNTAwLjZjLTE0LjgsOC45LTI5LjYsMTUuNS00Ni42LDE1LTMyLjEtMS01NC43LTMwLjctNDcuMS02MS44LjYtMi4zLDEtMy45LDQuMS0yLDksNS41LDE4LjMsMTAuOCwyNy41LDE2LDEuOSwxLjEsMy4xLDEuOSwyLjIsNC44LTMuNCwxMS4yLDAsMjAuNyw5LjIsMjYuNCw5LjEsNS43LDIxLjUsNSwyOS42LTIuNCwyLjgtMi42LDQuOS0yLjcsOC0xLjMsNCwxLjksOC4zLDMuMywxMy4zLDUuM2gtLjJaIi8+PHBhdGggaWQ9IkNyZXN0IiBjbGFzcz0ic3QwIiBkPSJNNzAxLjMsNDY2LjNjLTguMS03LjYtMTMuNC0xNi41LTIwLjktMjQuOCwzLjMsNDkuMi0zNi44LDMyLjUtNjMuMSwxNS4xLTMzLjctMjAuNy02Ni42LTQyLjktMTAzLjUtNTgtMzYuMi0xNC42LTc1LjItMjIuNS0xMTQuNC0yMC4zLDUzLjgsMTUuMyw4OS41LDMzLjYsMTA0LjUsNTUuMy04Ni40LTE3LjctMTgwLjksMjYuMS0yMTMuOSwxMDkuNiwzMS41LTE3LDY0LjgtMjguMywxMDAuOS0zNi42LTEyOC45LDc3LjMtMTA2LjgsMjI2LjctMTguMywzMjctNzAuNS0zNy45LTEzMy42LTEwOS4yLTEzMy45LTE5My0yMS44LDI1LjctNDIuOSw5MS4zLTM2LjcsMTUwLjUtNTYuNS03OC45LTQwLTE5MS44LDI5LjQtMjYyLjMtNTEuMSwyNC4yLTk4LjMsNjkuNy0xMzIuOSwxMTMsMzEuNy0xMDMuOCw5MC0xODUuNSwxOTIuNS0yMzEuNS02Ny4yLS42LTEzMi40LTM2LjUtMTY0LjQtOTcsNTcuOCwzNS45LDEyMS40LDUxLjIsMTg5LDQxLjctODQuMy0zMS44LTEzNS40LTk5LjYtMTEwLjQtMTg3LjEsMzIuNCw4MiwxNDYuMSwxNDQuOSwyMzEuOSwxNDIuNC0zNS43LTE3LjItNjEuMy00OC45LTcxLTg3LjMsNzQsNzguNSwxOTQuNyw4MCwyNzUuNywxNTEsMjguMSwyMi43LDY2LjEsNTEsNTkuNCw5Mi4yaDBaIi8+PC9nPjwvZz48L3N2Zz4=") center / contain no-repeat; }
/* Logos d'adversaires (souvent sur fond blanc) : posés sur une pastille blanche */
.pp-match__logo img:not([src*="logo-principal"]), .pp-tm-logo img:not([src*="logo-principal"]) { background: #ffffff; border-radius: var(--radius-sm); padding: 2px; box-sizing: border-box; }
.pp-match__logo.is-empty, .pp-tm-logo:not(.has) { background: #2b2b2b; }
/* Bandeaux noirs : un filet les sépare du fond noir de la page */
.elementor .pp-dark:not(.pp-hero) { border-top: 1px solid #2b2b2b; border-bottom: 1px solid #2b2b2b; }
/* Champs de formulaire (recherche, WPForms, TEC) */
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], textarea, select {
  background-color: var(--surface-card); color: var(--text-primary); border-color: var(--border-strong);
}
input::placeholder, textarea::placeholder { color: var(--text-muted); }
.wpforms-container {
  --wpforms-field-background-color: #1f1f1f; --wpforms-field-text-color: #ffffff; --wpforms-field-border-color: #767676;
  --wpforms-label-color: #ffffff; --wpforms-label-sublabel-color: #bcbcbc; --wpforms-label-error-color: #ff6b6b;
  --wpforms-field-menu-color: #1f1f1f;
}
.wpforms-container .wpforms-field-label, .wpforms-container .wpforms-field-sublabel, .wpforms-container .wpforms-field-description, .wpforms-container .wpforms-confirmation-container-full { color: var(--text-primary); }
.wpforms-container .wpforms-confirmation-container-full { background: var(--surface-card); border-color: var(--border-default); }
#wrapper.site, .site.wp-site-blocks, .site { background-color: var(--surface-page); }
.cmplz-placeholder-parent { background-color: var(--surface-card); }
/* Calendriers : jour du jour lisible, vues The Events Calendar */
.pp-cal__cell.is-today .pp-cal__n { color: var(--pp-red-light); }
body .tribe-common, body .tribe-events {
  --tec-color-border-secondary-month-grid: #2b2b2b; --tec-color-border-default: #2b2b2b; --tec-color-border-secondary: #2b2b2b; --tec-color-border-tertiary: #767676;
  --tec-color-background-transparent: rgba(0, 0, 0, .6); --tec-color-text-primary-light: rgba(255, 255, 255, .62); --tec-color-background-secondary-hover: #1f1f1f;
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum, .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link { color: var(--pp-red-light) !important; }
.tribe-common .tribe-events-c-top-bar__today-button { background-color: transparent !important; color: var(--text-secondary) !important; border-color: var(--border-strong) !important; }
.tribe-common .tribe-events-c-view-selector__list-item-text { color: var(--text-primary) !important; }
.tribe-events .tribe-events-c-events-bar, .tribe-events .tribe-events-c-events-bar--border { border-color: var(--border-default) !important; }
div.wpforms-container .wpforms-form .wpforms-field-label, div.wpforms-container .wpforms-form .wpforms-field-label-inline, div.wpforms-container .wpforms-form legend, div.wpforms-container .wpforms-form .wpforms-field-description { color: var(--text-primary) !important; }
div.wpforms-container .wpforms-form .wpforms-field-sublabel { color: var(--text-secondary) !important; }
div.wpforms-container .wpforms-form input:not([type=submit]):not([type=checkbox]):not([type=radio]), div.wpforms-container .wpforms-form textarea, div.wpforms-container .wpforms-form select { background-color: var(--surface-muted) !important; color: var(--text-primary) !important; border-color: var(--border-strong) !important; }
}

/* A42b — Mode sombre, boutique : les visuels produits (fusion « produit ») gardent leur fond gris clair, sinon ils virent au noir */
@media (prefers-color-scheme: dark) {
.elementor .pp-grid--shop .pp-card > .elementor-widget-image { background: #f4f4f4; }
}

/* A43 — Animations sur toutes les pages : le script pp-motion est chargé une fois pour tout le site (pied de page). Mêmes apparitions hors Elementor : pages d'événement, vues du calendrier, 404, recherche */
.pp-motion-on .pp-rv { opacity: 0; transform: translateY(16px); transition: opacity .45s var(--ease-out) var(--rv-d, 0ms), transform .45s var(--ease-out) var(--rv-d, 0ms); }
.pp-motion-on .pp-rv.pp-rv--in { opacity: 1; transform: none; }
.pp-motion-on .pp-hero-in { animation: pp-rise .6s var(--ease-out) both; }
.pp-motion-on .pp-ev-card { animation: none; }
@media print { .pp-motion-on .pp-rv { opacity: 1 !important; transform: none !important; } }
@media (prefers-reduced-motion: reduce) { .pp-motion-on .pp-rv { opacity: 1; transform: none; transition: none; } .pp-motion-on .pp-hero-in { animation: none; } }

/* A44 — Animations rejouées au défilement (script pp-motion v4) : un bloc qui revient par le haut descend au lieu de monter ; page week-end sans texte d'attente */
.pp-motion-on .pp-rv.pp-rv--top:not(.pp-rv--in), .pp-motion-on .elementor .pp-rv.pp-rv--top:not(.pp-rv--in) { transform: translateY(-16px); }
.pp-wk[data-part="hero"]:not(.is-ready) > *, .pp-evp[data-part="hero"]:not(.is-ready) > * { visibility: hidden; animation: pp-wk-vis 0s 5s forwards; }
@keyframes pp-wk-vis { to { visibility: visible; } }
.pp-evp-lead { margin: 0 0 var(--space-5); max-width: 760px; }
.pp-evp-next { margin: 0; }
/* Points 6-7 : flèches du mois en rouge sur /evenements/ (le thème les mettait en orange) */
body #primary .tribe-events .tribe-common-c-btn-icon--caret-left .tribe-common-c-btn-icon__icon-svg path, body #primary .tribe-events .tribe-common-c-btn-icon--caret-right .tribe-common-c-btn-icon__icon-svg path { fill: var(--color-brand); }

/* A45 — Page anglaise « Event » : lien de retour sur sa propre ligne, au-dessus du surtitre */
.pp-evp[data-part="hero"] .pp-ev-back { display: table; margin-bottom: var(--space-5); }

/* A46 — Mode sombre : menu mobile déplié (et sous-menus) en texte blanc ; la palette Kadence 8 passe au noir en mode sombre et rendait les liens invisibles sur le tiroir sombre */
@media (prefers-color-scheme: dark) { .mobile-navigation ul li > a, .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap, .header-navigation .header-menu-container ul ul li.menu-item > a { color: #ffffff; } }

/* A47 — Formulaires WPForms au design system (classe pp-form sur le formulaire) : champs de 44 px, labels en capitales grasses, astérisque rouge des champs obligatoires, erreur sous le champ, bouton principal, message envoyé / envoi impossible encadrés */
div.wpforms-container.pp-form { --wpforms-field-border-radius: var(--radius-md); --wpforms-field-size-input-height: 44px; --wpforms-field-border-color: var(--border-strong); --wpforms-field-background-color: var(--surface-card); --wpforms-field-text-color: var(--text-primary); --wpforms-label-color: var(--text-secondary); --wpforms-label-sublabel-color: var(--text-secondary); --wpforms-label-error-color: var(--color-danger); --wpforms-button-background-color: var(--color-brand); --wpforms-button-text-color: #ffffff; --wpforms-button-border-radius: var(--radius-md); }
div.wpforms-container.pp-form .wpforms-form .wpforms-field { padding: 0 0 var(--space-5); }
div.wpforms-container.pp-form .wpforms-form .wpforms-field-label { margin: 0 0 var(--space-2); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); line-height: 1.3; letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
div.wpforms-container.pp-form .wpforms-form .wpforms-required-label { color: var(--color-brand); font-weight: var(--fw-bold); }
div.wpforms-container.pp-form .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), div.wpforms-container.pp-form .wpforms-form textarea, div.wpforms-container.pp-form .wpforms-form select { width: 100%; max-width: 100%; min-height: var(--tap-min, 44px); padding: 11px 14px; font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-primary); background-color: var(--surface-card); border: var(--border-width, 1.5px) solid var(--border-strong); border-radius: var(--radius-md); box-shadow: none; }
div.wpforms-container.pp-form .wpforms-form textarea { min-height: 140px; line-height: 1.5; }
div.wpforms-container.pp-form .wpforms-form input::placeholder, div.wpforms-container.pp-form .wpforms-form textarea::placeholder { color: var(--text-muted, #8f8f8f); }
div.wpforms-container.pp-form .wpforms-form input:focus, div.wpforms-container.pp-form .wpforms-form textarea:focus, div.wpforms-container.pp-form .wpforms-form select:focus { border-color: var(--color-brand); box-shadow: var(--focus-ring); outline: none; }
div.wpforms-container.pp-form .wpforms-form .wpforms-field-label-inline, div.wpforms-container.pp-form .wpforms-form .wpforms-field-radio li label, div.wpforms-container.pp-form .wpforms-form .wpforms-field-gdpr-checkbox li label { font-family: var(--font-body); font-weight: 500; font-size: var(--text-sm); letter-spacing: 0; text-transform: none; color: var(--text-primary); }
div.wpforms-container.pp-form .wpforms-form input[type="checkbox"], div.wpforms-container.pp-form .wpforms-form input[type="radio"] { accent-color: var(--color-brand); width: 20px; height: 20px; }
div.wpforms-container.pp-form .wpforms-form .wpforms-has-error input:not([type="checkbox"]):not([type="radio"]), div.wpforms-container.pp-form .wpforms-form .wpforms-has-error textarea, div.wpforms-container.pp-form .wpforms-form .wpforms-has-error select, div.wpforms-container.pp-form .wpforms-form input.wpforms-error, div.wpforms-container.pp-form .wpforms-form textarea.wpforms-error, div.wpforms-container.pp-form .wpforms-form select.wpforms-error { border-color: var(--color-danger); }
div.wpforms-container.pp-form .wpforms-form em.wpforms-error, div.wpforms-container.pp-form .wpforms-form label.wpforms-error { display: block; margin: var(--space-2) 0 0; padding: 0; font-family: var(--font-body); font-style: normal; font-weight: var(--fw-bold); font-size: var(--text-xs); line-height: 1.4; color: var(--color-danger); }
div.wpforms-container.pp-form .wpforms-form .wpforms-submit-container { padding-top: var(--space-2); }
div.wpforms-container.pp-form .wpforms-form button.wpforms-submit { min-height: var(--tap-min, 44px); height: auto; padding: 12px 28px; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: #ffffff; background-color: var(--color-brand); border: 0; border-radius: var(--radius-md); box-shadow: var(--shadow-brand, none); transition: background-color .2s ease, transform .1s ease; }
div.wpforms-container.pp-form .wpforms-form button.wpforms-submit:hover { background-color: var(--pp-red-deep, #b31818); }
div.wpforms-container.pp-form .wpforms-form button.wpforms-submit:active { transform: scale(.97); }
div.wpforms-container.pp-form .wpforms-form button.wpforms-submit:focus-visible { outline: none; box-shadow: var(--focus-ring); }
div.wpforms-container.pp-form .wpforms-confirmation-container-full, div.wpforms-confirmation-container-full.pp-form { margin: 0; padding: var(--space-4) var(--space-5); font-family: var(--font-body); font-size: var(--text-base); color: var(--text-primary); background: var(--surface-card); border: var(--border-width-bold, 3px) solid var(--color-success); border-radius: var(--radius-lg); box-shadow: none; }
div.wpforms-container.pp-form .wpforms-confirmation-container-full p { margin: 0; }
div.wpforms-container.pp-form .wpforms-confirmation-container-full strong { color: var(--color-success); font-weight: var(--fw-black, 900); }
div.wpforms-container.pp-form .wpforms-error-container, div.wpforms-container.pp-form .wpforms-error-alert { margin: 0 0 var(--space-4); padding: var(--space-4) var(--space-5); font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-primary); background: var(--surface-card); border: var(--border-width-bold, 3px) solid var(--color-danger); border-radius: var(--radius-lg); }
div.wpforms-container.pp-form .wpforms-error-container p, div.wpforms-container.pp-form .wpforms-error-alert p { margin: 0; }
div.wpforms-container.pp-form .wpforms-error-container strong { color: var(--color-danger); font-weight: var(--fw-black, 900); }
@media (prefers-reduced-motion: reduce) { div.wpforms-container.pp-form .wpforms-form button.wpforms-submit { transition: none; } }

/* A48 — Passe finale (390 px, clair et sombre) : contrastes d'au moins 4,5:1 sur les petits textes */
/* Clair : le rouge des surtitres et liens passe à un rouge un peu plus soutenu sur les fonds gris clair (sections pp-muted, sommaire, pied de page) */
@media (prefers-color-scheme: light) {
  .elementor .pp-muted, .elementor .pp-toc, #colophon { --text-accent: #cf1c1c; }
  .elementor .pp-muted .pp-tm-cd, .elementor .pp-muted .pp-wk-st--next, .elementor .pp-muted .pp-ev-link { color: #cf1c1c; }
}
/* Pied de page : la page en cours est soulignée en rouge au lieu d'être écrite en rouge */
#colophon .footer-navigation .menu > li.current-menu-item > a, #colophon .footer-navigation .menu > li > a[aria-current] { color: var(--text-primary); text-decoration: underline; text-decoration-color: var(--color-brand); text-decoration-thickness: 2px; text-underline-offset: 5px; }
/* Joueur sans photo : numéro en noir sur la silhouette grise */
.pp-player__ph.is-sil .pp-player__num { color: #000000; text-shadow: none; }
/* Bandeau sombre des pages d'événement : surtitres en orange, comme tous les accents sur fond noir */
.pp-ev-cta .pp-ev-eyebrow, .pp-ev-next .pp-ev-eyebrow, .pp-dark .pp-ev-eyebrow { color: var(--pp-orange, #f7931e); }
/* Calendrier mobile : le jour sélectionné (fond rouge) garde son numéro en blanc */
.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum, .tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum * { color: #ffffff !important; }
/* Contenus bloqués par Complianz (carte, vidéo) : texte blanc sur un voile plus sombre */
.cmplz-blocked-content-notice { background-color: rgba(0, 0, 0, .8) !important; }
.cmplz-blocked-content-notice, .cmplz-blocked-content-notice a, .cmplz-blocked-content-notice .cmplz-link { color: #ffffff !important; }
/* Sombre : liens et chiffres rouges en rouge clair sur fond noir */
@media (prefers-color-scheme: dark) {
  :root { --global-palette-highlight: var(--pp-red-light); }
  .elementor .pp-fact--brand .pp-fact__v .elementor-heading-title { color: var(--pp-red-light); }
  .tribe-common .tribe-events-c-subscribe-dropdown__button-text, .tribe-common .tribe-events-c-subscribe-dropdown__button .tribe-common-c-svgicon { color: var(--pp-red-light) !important; }
}

/* A48b — Pied de page : la règle de Kadence pour la page en cours est plus précise, on l'égale */
#colophon .footer-navigation .footer-menu-container > ul > li.current-menu-item > a { color: var(--text-primary); text-decoration: underline; text-decoration-color: var(--color-brand); text-decoration-thickness: 2px; text-underline-offset: 5px; }

/* A48c — Prochains rendez-vous des pages d'événement : bloc blanc en clair (surtitre rouge), noir en sombre (surtitre orange) ; liens simples des sections grises en rouge soutenu */
.pp-ev-next .pp-ev-eyebrow { color: var(--color-brand); }
@media (prefers-color-scheme: dark) { .pp-ev-next .pp-ev-eyebrow { color: var(--pp-orange, #f7931e); } }
@media (prefers-color-scheme: light) { .elementor .pp-muted { --global-palette-highlight: #cf1c1c; } }
/* A49 — Stats et animations : carte joueur qui se retourne (stats de la saison), leaders, bilan de week-end, compte à rebours du prochain match, scores qui défilent chiffre par chiffre, visionneuse photo */
/* Carte joueur : la face avant porte le cadre de la carte, la face arrière les stats de la saison */
.pp-player.pp-flip { overflow: visible; background: none; border: 0; perspective: 1400px; cursor: pointer; }
.pp-player.pp-flip:focus-visible { outline: none; }
.pp-player.pp-flip:focus-visible .pp-player__front, .pp-player.pp-flip:focus-visible .pp-player__back { box-shadow: var(--focus-ring); }
.pp-flip .pp-player__inner { position: relative; display: flex; flex-direction: column; flex: 1; transform-style: preserve-3d; transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.pp-flip .pp-player__front { position: relative; display: flex; flex-direction: column; flex: 1; overflow: hidden; background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.pp-flip .pp-player__back { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-2); padding: var(--space-5) var(--space-4) var(--space-4); overflow: hidden; color: #ffffff; background: #000000; border: var(--border-width) solid #2b2b2b; border-radius: var(--radius-lg); transform: rotateY(180deg); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.pp-flip .pp-player__back::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.pp-player__bnum { position: absolute; top: var(--space-2); right: var(--space-3); font-family: var(--font-display); font-size: clamp(4rem, 9vw, 6rem); line-height: 1; color: var(--color-brand); opacity: .9; }
.pp-player__bey { margin: 0; font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--pp-orange, #f7931e); }
.pp-player__bname { margin: 0 0 var(--space-2); font-family: var(--font-body); font-size: var(--text-sm); line-height: 1.2; color: rgba(255, 255, 255, .8); }
.pp-player__bname b { display: block; font-family: var(--font-display); font-weight: 400; font-size: var(--text-lg); letter-spacing: var(--tracking-display); text-transform: uppercase; color: #ffffff; overflow-wrap: anywhere; }
.pp-player__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-2); margin: 0; }
.pp-player__stats div { display: flex; flex-direction: column-reverse; gap: 2px; padding-top: var(--space-2); border-top: 1px solid rgba(255, 255, 255, .18); }
.pp-player__stats dt { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.pp-player__stats dd { margin: 0; font-family: var(--font-display); font-size: var(--text-xl); line-height: 1; color: #ffffff; }
.pp-player__bmsg { margin: 0; font-size: var(--text-sm); color: rgba(255, 255, 255, .8); }
@media (hover: hover) { .pp-flip:hover .pp-player__inner { transform: rotateY(180deg); } }
.pp-flip.is-flipped .pp-player__inner { transform: rotateY(180deg); }
@media (prefers-reduced-motion: reduce) {
  .pp-flip .pp-player__inner { transform: none !important; transition: none; }
  .pp-flip .pp-player__back { transform: none; opacity: 0; transition: opacity .2s; }
  .pp-flip.is-flipped .pp-player__back { opacity: 1; }
  @media (hover: hover) { .pp-flip:hover .pp-player__back { opacity: 1; } }
}
/* Leaders de la saison (pages d'équipe) */
.pp-tm-leaders { margin: 0 0 var(--space-6); }
.pp-tm-leaders__y { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-tm-leaders__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--space-4); margin-top: var(--space-4); }
.pp-tm-lead { position: relative; overflow: hidden; padding: var(--space-5) var(--space-4) var(--space-4); background: var(--surface-card); border: var(--border-width) solid var(--border-default); border-radius: var(--radius-lg); }
.pp-tm-lead::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.pp-tm-lead__t { margin: 0 0 var(--space-3); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-secondary); }
.pp-tm-lead ol { margin: 0; padding: 0; list-style: none; counter-reset: pp-lead; }
.pp-tm-lead li { counter-increment: pp-lead; display: flex; align-items: baseline; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--border-default); font-size: var(--text-sm); color: var(--text-primary); }
.pp-tm-lead li:first-child { border-top: 0; }
.pp-tm-lead li::before { content: counter(pp-lead); min-width: 18px; font-family: var(--font-display); color: var(--text-accent); }
.pp-tm-lead li span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.pp-tm-lead li b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-md); white-space: nowrap; }
.pp-tm-lead li:first-child b { color: var(--text-accent); }
/* Bilan du week-end */
.pp-wk-recap { display: grid; grid-template-columns: 1fr; overflow: hidden; margin: 0 0 var(--space-7, 40px); color: #ffffff; background: #000000; border-radius: var(--radius-lg); }
.pp-wk-recap.has-ph { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.pp-wk-recap__ph { display: block; min-height: 260px; overflow: hidden; }
.pp-wk-recap__ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease-out, ease-out); }
@media (hover: hover) { a.pp-wk-recap__ph:hover img { transform: scale(1.04); } }
.pp-wk-recap__body { position: relative; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6) var(--space-5); }
.pp-wk-recap__body::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-brand); }
.pp-wk-recap .pp-eyebrow { margin: 0; color: var(--pp-orange, #f7931e); }
.pp-wk-recap__teams { display: flex; flex-direction: column; gap: var(--space-3); }
.pp-wk-recap__team { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid rgba(255, 255, 255, .16); }
.pp-wk-recap__team b { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-base); }
.pp-wk-recap__rec { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1; color: #ffffff; }
.pp-wk-recap__team small { grid-column: 1 / -1; font-size: var(--text-sm); color: rgba(255, 255, 255, .78); }
.pp-wk-recap__lead { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-sm); color: rgba(255, 255, 255, .9); }
.pp-wk-recap__lead span { display: block; font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.pp-wk-recap__lead b { color: #ffffff; }
.pp-wk-recap .pp-btn.pp-wk-recap__btn { align-self: flex-start; }
@media (max-width: 760px) { .pp-wk-recap.has-ph { grid-template-columns: 1fr; } .pp-wk-recap__ph { min-height: 0; aspect-ratio: 16 / 10; } }
/* Compte à rebours du prochain match */
.pp-cd { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-height: 120px; }
.pp-cd .pp-eyebrow { margin: 0; }
.pp-cd__t { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(1.75rem, 4.5vw, 2.75rem); line-height: 1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-cd__t span { color: var(--color-brand); }
.pp-cd__meta { margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }
.pp-cd__meta a { color: var(--text-accent); font-weight: var(--fw-bold); }
.pp-cd__clock { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-2) 0; }
.pp-cd__u { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); min-width: 76px; padding: var(--space-3) var(--space-3) var(--space-2); background: #000000; border-radius: var(--radius-md); box-shadow: inset 0 -3px 0 var(--color-brand); }
.pp-cd__n { display: flex; gap: 2px; font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3.25rem); line-height: 1; color: #ffffff; }
.pp-cd__dg { position: relative; display: inline-block; width: .62em; height: 1em; overflow: hidden; text-align: center; }
.pp-cd__dv { position: absolute; inset: 0; display: block; }
.pp-cd__dv.is-in { animation: pp-cd-in .45s cubic-bezier(.22, 1, .36, 1) both; }
.pp-cd__dv.is-out { animation: pp-cd-out .45s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes pp-cd-in { from { transform: translateY(-100%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes pp-cd-out { from { transform: none; opacity: 1; } to { transform: translateY(100%); opacity: 0; } }
.pp-cd__l { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.pp-cd__live { display: inline-flex; align-items: center; gap: var(--space-2); margin: 0; font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent); }
.pp-cd__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--color-brand); animation: pp-tm-pulse 1.6s ease-in-out infinite; }
.pp-cd__none { margin: 0; color: var(--text-secondary); }
.pp-cd .pp-btn { display: inline-flex; align-items: center; min-height: var(--tap-min, 44px); padding: 0 var(--space-6, 24px); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: #ffffff; background: var(--color-brand); border-radius: var(--radius-md); text-decoration: none; }
.pp-cd .pp-btn:hover { background: var(--pp-red-deep, #b31818); color: #ffffff; }
.pp-cd:not(.is-ready) > * { visibility: hidden; }
@media (max-width: 600px) { .pp-cd .pp-cd__clock { align-self: stretch; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); } .pp-cd .pp-cd__u { min-width: 0; padding: var(--space-2) 2px; } .pp-cd .pp-cd__l { font-size: 10px; letter-spacing: .04em; } }
.pp-cd__live[hidden], .pp-cd__clock[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .pp-cd__dv.is-in, .pp-cd__dv.is-out { animation: none; } .pp-cd__dv.is-out { display: none; } .pp-cd__dot { animation: none; } }
/* Scores : chaque chiffre défile jusqu'à sa valeur (script pp-motion) */
.pp-roll { display: inline-flex; }
.pp-roll__d { position: relative; display: inline-block; width: .62em; height: 1em; overflow: hidden; text-align: center; }
.pp-roll__s { display: flex; flex-direction: column; transform: translateY(0); }
.pp-roll__s i { display: block; height: 1em; line-height: 1; font-style: normal; }
.is-rolled .pp-roll__s { transform: translateY(calc(var(--d) * -1em)); transition: transform 1.1s cubic-bezier(.22, 1, .36, 1) var(--rd, 0ms); }
/* Visionneuse photo */
.pp-lb-open, .pp-lb-open body { overflow: hidden; }
.pp-lb { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; color: #ffffff; background: #0a0a0a; opacity: 0; transition: opacity .25s ease; }
.pp-lb.is-on { opacity: 1; }
.pp-lb[hidden] { display: none; }
.pp-lb__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); }
.pp-lb__cnt { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-sm); letter-spacing: var(--tracking-wider); }
.pp-lb__tools { display: flex; gap: var(--space-2); }
.pp-lb__btn { min-height: 44px; min-width: 44px; padding: 0 var(--space-4); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: #ffffff; background: transparent; border: 2px solid rgba(255, 255, 255, .6); border-radius: var(--radius-md); cursor: pointer; }
.pp-lb__btn:hover, .pp-lb.is-playing .pp-lb__play { border-color: #ffffff; background: rgba(255, 255, 255, .12); }
.pp-lb__close { padding: 0; font-size: var(--text-md); }
.pp-lb__btn:focus-visible, .pp-lb__nav:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.pp-lb__prog { height: 3px; background: rgba(255, 255, 255, .12); }
.pp-lb__prog span { display: block; height: 100%; background: var(--color-brand); transform: scaleX(0); transform-origin: left; }
.pp-lb__stage { position: relative; flex: 1; min-height: 0; overflow: hidden; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.pp-lb__stage:active { cursor: grabbing; }
.pp-lb__track { display: flex; height: 100%; transform: translateX(-100%); will-change: transform; }
.pp-lb__slide { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; margin: 0; padding: var(--space-3); box-sizing: border-box; }
.pp-lb__slide img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: var(--radius-sm); pointer-events: none; -webkit-user-drag: none; }
.pp-lb__nav { position: absolute; top: 50%; width: 52px; height: 52px; margin-top: -26px; font-size: 34px; line-height: 1; color: #ffffff; background: rgba(0, 0, 0, .55); border: 0; border-radius: 50%; cursor: pointer; }
.pp-lb__nav:hover { background: var(--color-brand); }
.pp-lb__prev { left: var(--space-3); }
.pp-lb__next { right: var(--space-3); }
.pp-lb__cap { min-height: 3.2em; margin: 0; padding: var(--space-3) var(--space-4) var(--space-4); font-family: var(--font-body); font-size: var(--text-sm); line-height: 1.5; text-align: center; color: rgba(255, 255, 255, .85); }
@media (max-width: 600px) { .pp-lb__nav { display: none; } .pp-lb__btn { padding: 0 var(--space-3); } }
@media (prefers-reduced-motion: reduce) { .pp-lb { transition: none; } }
/* Date de la séance d'essai (formulaire Essayer le lacrosse) */
div.wpforms-container.pp-form .wpforms-form select.pp-trial-select { width: 100%; max-width: 100%; }

/* Dos de carte étroit (mobile, 2 colonnes) : stats en lignes « libellé … valeur » */
.pp-flip .pp-player__back { container-type: inline-size; }
@container (max-width: 230px) {
  .pp-player__stats { grid-template-columns: 1fr; gap: 0; }
  .pp-player__stats div { flex-direction: row; justify-content: space-between; align-items: baseline; gap: var(--space-2); padding: 6px 0; }
  .pp-player__stats dd { font-size: var(--text-lg); }
  .pp-player__stats dt { letter-spacing: .04em; }
}
/* Mode sombre : blocs noirs détachés de la page noire */
@media (prefers-color-scheme: dark) {
  .pp-cd .pp-cd__u { background: var(--surface-card, #1c1c1c); }
  .pp-wk-recap { background: var(--surface-card, #1c1c1c); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
  .pp-flip .pp-player__back { background: var(--surface-card, #1c1c1c); }
}
/* Identité visuelle (logos, mascotte, wordmarks, couleurs, typographies) */
.pp-brand.pp-dark .elementor-widget-text-editor a { color: #ffffff; text-decoration: underline; text-underline-offset: 3px; }
.pp-pk-head { max-width: 760px; }
.pp-pk-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6) var(--space-4); }
.pp-pk-logos--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp-pk-logo { display: flex; flex-direction: column; gap: 4px; }
.pp-pk-logo__img { display: flex; align-items: center; justify-content: center; height: 260px; box-sizing: border-box; padding: var(--space-7, 40px); margin-bottom: var(--space-2); background: #ffffff center / cover no-repeat; border-radius: var(--radius-lg); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.pp-pk-logos--2 .pp-pk-logo__img { height: 340px; }
.pp-pk-logo.is-dark .pp-pk-logo__img { background-color: #000000; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.pp-pk-logo.is-texture .pp-pk-logo__img { background-color: #1a1a1a; }
.pp-pk-logo__img img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.pp-pk-logo__n { margin: 0; font-weight: var(--fw-bold); color: var(--text-primary); }
.pp-pk-logo__u { margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }
.pp-pk-logo__dl { display: flex; gap: var(--space-4); margin: var(--space-1, 4px) 0 0; }
.pp-pk-logo__dl a { font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-accent, var(--color-brand)); text-decoration: underline; text-underline-offset: 3px; min-height: 24px; display: inline-flex; align-items: center; }
.pp-pk-logo__dl a::before { content: "↓"; margin-right: 4px; }
.pp-pk-swatches { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.pp-pk-sw { display: flex; flex-direction: column; gap: 4px; }
.pp-pk-sw__c { display: block; aspect-ratio: 16 / 9; margin-bottom: var(--space-2); border-radius: var(--radius-lg); box-shadow: inset 0 0 0 1px rgba(127, 127, 127, .35); }
.pp-pk-sw__n { font-weight: var(--fw-bold); color: var(--text-primary); }
.pp-pk-sw code { font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-primary); background: none; padding: 0; }
.pp-pk-sw__r { font-size: var(--text-xs); color: var(--text-secondary); }
.pp-pk-type { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.pp-pk-type__i { display: flex; align-items: center; gap: var(--space-5); padding: var(--space-5); background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--border-subtle, rgba(0, 0, 0, .1)); }
.pp-pk-type__i p { margin: 0; color: var(--text-primary); line-height: 1.5; }
.pp-pk-type__s { font-family: var(--font-body); font-weight: 800; font-size: 56px !important; line-height: 1 !important; }
.pp-pk-type__s--d { font-family: var(--font-display); font-weight: 400; }
.pp-pk-rules { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: var(--space-2); max-width: 760px; color: var(--text-primary); line-height: 1.6; }
.pp-pk-tex { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); align-items: center; gap: var(--space-5); margin-top: var(--space-6); }
.pp-pk-tex__img { aspect-ratio: 16 / 9; background: #000000 center / cover no-repeat; border-radius: var(--radius-lg); }
.pp-pk-ask { margin: var(--space-6) 0 0; color: var(--text-secondary); }
.pp-pk-ask a { color: var(--text-accent, var(--color-brand)); font-weight: var(--fw-bold); }
@media (max-width: 1024px) { .pp-pk-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pp-pk-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .pp-pk-logos, .pp-pk-logos--2, .pp-pk-type, .pp-pk-tex { grid-template-columns: minmax(0, 1fr); }
  .pp-pk-logo__img, .pp-pk-logos--2 .pp-pk-logo__img { height: 220px; }
}
/* Bandeau photo qui défile (accueil) : deux copies de la liste, défilement continu, pause au survol ou au focus ; sans animation si mouvement réduit */
.pp-marquee { position: relative; overflow: hidden; margin: 0 -20px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.pp-marquee__track { display: flex; gap: var(--space-3); width: max-content; animation: pp-marquee var(--pp-mq-d, 60s) linear infinite; }
.pp-marquee:hover .pp-marquee__track, .pp-marquee:focus-within .pp-marquee__track { animation-play-state: paused; }
.pp-marquee__list { display: flex; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.pp-marquee__list li { flex: none; }
.pp-marquee__list a { display: block; overflow: hidden; border-radius: var(--radius-lg); }
.pp-marquee__list img { display: block; height: clamp(180px, 26vw, 300px); width: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .4s var(--ease-out, ease); }
.pp-marquee__list a:hover img { transform: scale(1.04); }
.pp-marquee__list a:focus-visible { outline: none; box-shadow: var(--focus-ring); }
@keyframes pp-marquee { to { transform: translateX(calc(-50% - var(--space-3) / 2)); } }
@media (prefers-reduced-motion: reduce) {
  .pp-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; scroll-snap-type: x mandatory; }
  .pp-marquee__track { animation: none; }
  .pp-marquee__list[aria-hidden="true"] { display: none; }
  .pp-marquee__list li { scroll-snap-align: start; }
}
.wpforms-container .wpforms-field.pp-trial-date[hidden] { display: none !important; }
.pp-pk-type__i a { color: var(--text-accent, var(--color-brand)); font-weight: var(--fw-bold); }

/* Menu principal : texte des liens centré verticalement dans le bandeau (lien de 44 px de haut, soulignement en bas) */
#site-navigation .menu > li > a, #secondary-navigation .menu > li > a { display: flex; align-items: center; }
/* A49b — Marges du thème neutralisées dans les nouveaux blocs ; compte à rebours détaché des chiffres sur les pages d'équipe */
.pp-cd p, .pp-player__back p, .pp-wk-recap p, .pp-tm-leaders p, .pp-pk-widget p, .pp-marquee p { margin: 0; }
.pp-tm-stats-sec .pp-cd-widget { margin-top: var(--space-5, 24px); padding-top: var(--space-6, 32px); border-top: 1px solid var(--border-subtle, rgba(0, 0, 0, .1)); }
@media (prefers-color-scheme: dark) { .pp-tm-stats-sec .pp-cd-widget { border-top-color: rgba(255, 255, 255, .12); } }
/* A49c — Listes des nouveaux blocs : retrait du thème annulé */
.elementor ul.pp-pk-logos, .elementor ul.pp-pk-swatches, .elementor ul.pp-marquee__list, .elementor .pp-tm-leaders ol, .elementor .pp-tm-leaders ul, .elementor .pp-wk-recap ul, .elementor .pp-wk-recap ol { padding-left: 0; margin: 0; list-style: none; }
.elementor ul.pp-pk-rules { padding-left: 1.2em; margin: 0; }
/* A49d — Dos de la carte joueur : rouge du club au lieu du noir, sans liseré ; stats sur pastilles foncées */
.pp-flip .pp-player__back, .elementor .pp-flip .pp-player__back { color: #ffffff; background: radial-gradient(120% 80% at 90% 0%, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, 0) 55%), linear-gradient(165deg, #e43a2c 0%, #dd1f1f 50%, #a9131a 100%); border: 0; box-shadow: 0 12px 28px -14px rgba(150, 18, 24, .6); }
.pp-flip .pp-player__back::before { content: none; display: none; }
.pp-flip .pp-player__bnum { top: var(--space-1, 4px); right: var(--space-3); font-size: clamp(5rem, 11vw, 7.5rem); color: #ffffff; opacity: .2; }
.pp-flip .pp-player__bey { color: rgba(255, 255, 255, .92); }
.pp-flip .pp-player__bname { color: rgba(255, 255, 255, .88); }
.pp-flip .pp-player__stats { gap: 6px; }
.pp-flip .pp-player__stats div { padding: 8px 10px; border-top: 0; border-radius: var(--radius-md); background: rgba(0, 0, 0, .18); }
.pp-flip .pp-player__stats dt { color: rgba(255, 255, 255, .92); }
.pp-flip .pp-player__bmsg { color: #ffffff; }
@container (max-width: 230px) { .pp-flip .pp-player__stats { gap: 4px; } .pp-flip .pp-player__stats div { padding: 6px 8px; } }
@media (prefers-color-scheme: dark) { .pp-flip .pp-player__back, .elementor .pp-flip .pp-player__back { background: radial-gradient(120% 80% at 90% 0%, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, 0) 55%), linear-gradient(165deg, #d8352a 0%, #c81c1c 50%, #8f1016 100%); } }
/* A49e — Numéro du joueur toujours en blanc sur la carte côté photo, y compris sur la silhouette « Photo à venir » (le bas de la carte est sombre) */
.pp-player__ph.is-sil .pp-player__num, .pp-player__ph .pp-player__num { color: #ffffff; text-shadow: 0 1px 3px rgba(0, 0, 0, .45); }
/* A49f — Bandeau photo de l'accueil sur toute la largeur de l'écran, sans fondu sur les bords ; plan du terrain (OpenStreetMap, hébergé sur le site) affiché tant que Google Maps n'est pas accepté */
html { overflow-x: clip; }
.elementor .pp-marquee { width: 100vw; margin-left: calc(50% - 50vw); margin-right: 0; -webkit-mask-image: none; mask-image: none; }
.elementor .pp-marquee__track { padding-inline: var(--space-3, 12px); }
.elementor-widget-google_maps .cmplz-placeholder-element, .elementor-widget-google_maps .cmplz-blocked-content-container { background-image: url('/wp-content/uploads/2026/10/carte-terrain-stade-pershing.webp') !important; background-size: cover !important; background-position: center !important; background-color: #e8eee4 !important; }
/* A49g — Carte du terrain : le bandeau « J'accepte » de Google Maps descend en bas pour laisser voir le repère */
.elementor-widget-google_maps .cmplz-blocked-content-notice { top: auto !important; bottom: 14px !important; transform: translateX(-50%) !important; max-width: calc(100% - 28px); }
/* A50 : FAQ JSON-LD masqué, Montserrat 900 (fichier variable Kadence) */
.elementor .elementor-widget-html.pp-ld { display: none !important; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 900; font-display: swap; src: url('/wp-content/fonts/montserrat/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* A50b : 404 (liens principaux) et bloc « Ta séance d'essai » après l'envoi du formulaire */
.error404 .pp-404-links { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0 0 var(--space-6); }
.error404 .pp-404-links a.pp-btn--outline { color: #fff; border-color: rgba(255, 255, 255, .85); }
.error404 .pp-404-links a.pp-btn--outline:hover { color: #fff; background: rgba(255, 255, 255, .12); }
.error404 section.error p.pp-404-search { margin: 0 0 var(--space-3); font-size: var(--text-sm); color: rgba(255, 255, 255, .75); }
.pp-trial-cal { margin-top: var(--space-4); padding: var(--space-5); border: var(--border-width, 1px) solid var(--border-default); border-left: 4px solid var(--color-brand); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
.pp-trial-cal p { margin: 0; }
.pp-trial-cal__t { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-accent); }
.pp-trial-cal__d { margin-top: var(--space-2) !important; font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-trial-cal__x { margin-top: var(--space-3) !important; font-family: var(--font-body); font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.pp-trial-cal__a { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4) !important; }
@media (max-width: 600px) { .error404 .pp-404-links a.pp-btn, .pp-trial-cal__a a.pp-btn { flex: 1 1 100%; } .pp-trial-cal { padding: var(--space-4); } }
/* A50c : bloc « Ta séance d'essai » au-dessus de la remise à zéro de WPForms (div.wpforms-container-full *) */
div.wpforms-container-full .pp-trial-cal { margin-top: var(--space-4); padding: var(--space-5); border: var(--border-width, 1px) solid var(--border-default); border-left: 4px solid var(--color-brand); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
div.wpforms-container-full .pp-trial-cal p { margin: 0; font-size: var(--text-sm); }
div.wpforms-container-full .pp-trial-cal .pp-trial-cal__t { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-accent); }
div.wpforms-container-full .pp-trial-cal .pp-trial-cal__d { margin-top: var(--space-2); font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
div.wpforms-container-full .pp-trial-cal .pp-trial-cal__x { margin-top: var(--space-3); font-family: var(--font-body); line-height: var(--leading-relaxed); color: var(--text-secondary); }
div.wpforms-container-full .pp-trial-cal .pp-trial-cal__a { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
div.wpforms-container-full .pp-trial-cal a.pp-btn { padding: 12px 24px; border: var(--border-width) solid var(--color-brand); border-radius: var(--radius-md); background: var(--color-brand); color: var(--text-on-brand); font-size: var(--text-sm); }
div.wpforms-container-full .pp-trial-cal a.pp-btn--dark { background: var(--text-primary); border-color: var(--text-primary); color: var(--surface-page); }
@media (max-width: 600px) { div.wpforms-container-full .pp-trial-cal { padding: var(--space-4); } div.wpforms-container-full .pp-trial-cal a.pp-btn { flex: 1 1 100%; } }
/* A50d : photo « Représenter la ville pour la victoire » (accueil FR / EN) : coins arrondis et léger zoom au survol, comme les autres photos */
.elementor .elementor-element-493cb47, .elementor .elementor-element-4c2810a { overflow: hidden; border-radius: var(--radius-lg); }
.elementor .elementor-element-493cb47 img, .elementor .elementor-element-4c2810a img { display: block; border-radius: 0; transition: transform .6s var(--ease-out); }
@media (hover: hover) { .elementor .elementor-element-493cb47:hover img, .elementor .elementor-element-4c2810a:hover img { transform: scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .elementor .elementor-element-493cb47 img, .elementor .elementor-element-4c2810a img { transition: none; } }
/* A51 : abonnement au calendrier, formules d'adhésion, formulaires AssoConnect intégrés, équipement des joueurs (boutique) */
.pp-sub { display: grid; grid-template-columns: 1fr auto; gap: var(--space-3) var(--space-6); align-items: center; padding: var(--space-5); border: var(--border-width, 1px) solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
.pp-sub p { margin: 0; }
.pp-sub__t { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-sub__d { margin-top: var(--space-2) !important; font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.pp-sub__a { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: flex-end; }
.pp-sub__h { grid-column: 1 / -1; font-size: var(--text-xs); color: var(--text-muted, var(--text-secondary)); }
.pp-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.pp-plan { position: relative; display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: var(--space-5); border: var(--border-width, 1px) solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
.pp-plan.is-main { border: var(--border-width-bold, 2px) solid var(--color-brand); }
.pp-plan p { margin: 0; }
.pp-plan__n { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-accent); }
.pp-plan__p { font-family: var(--font-display); font-size: var(--text-4xl, 3rem); line-height: 1; letter-spacing: var(--tracking-display); color: var(--text-primary); }
.pp-plan__d { font-size: var(--text-sm); color: var(--text-secondary); }
.pp-plans-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-4); padding: var(--space-4) var(--space-5); border-radius: var(--radius-lg); background: var(--surface-muted); }
.pp-plans-note p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-primary); }
.pp-asc { position: relative; min-height: 240px; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-card, #fff); border: var(--border-width, 1px) solid var(--border-default); }
.pp-asc__frame { display: block; width: 100%; border: 0; background: #fff; }
.pp-asc__ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-3); min-height: 240px; padding: var(--space-5); text-align: center; }
.pp-asc__ph p { margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }
.pp-asc.is-loaded .pp-asc__ph { min-height: 0; padding: var(--space-3); border-top: var(--border-width, 1px) solid var(--border-default); }
.pp-asc.is-loaded .pp-asc__ph p { display: none; }
.pp-asc.is-loaded .pp-asc__ph a.pp-btn { padding: 0; min-height: 0; border: 0; background: none; color: var(--text-secondary); font-size: var(--text-xs); text-transform: none; letter-spacing: 0; text-decoration: underline; }
.pp-gear { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.pp-gear__card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: var(--border-width, 1px) solid var(--border-default); border-top: 4px solid var(--color-brand); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
.pp-gear__card p { margin: 0; }
.pp-gear__e { font-weight: var(--fw-bold); font-size: var(--text-2xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-accent); }
.pp-gear__t { font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1.05; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-gear__x { font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.pp-gear__m { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin-top: auto !important; padding-top: var(--space-2); }
.pp-gear__price { font-weight: var(--fw-bold); font-size: var(--text-base); color: var(--text-primary); }
.pp-gear__status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-pill); background: var(--surface-muted); font-size: var(--text-xs); font-weight: var(--fw-medium); color: var(--text-secondary); }
.pp-gear__status.is-open { background: rgba(31, 138, 76, .12); color: var(--color-success, #1f8a4c); }
.pp-gear__status.is-open::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pp-gear__card a.pp-gear__buy { align-self: flex-start; }
.pp-gear__card.is-closed a.pp-gear__buy { opacity: .45; pointer-events: none; }
.pp-gear__panel { grid-column: 1 / -1; scroll-margin-top: 90px; }
.pp-gear__panel[hidden] { display: none; }
.pp-gear__note { grid-column: 1 / -1; margin: 0; font-size: var(--text-xs); color: var(--text-secondary); }
@media (max-width: 900px) { .pp-plans { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .pp-sub { grid-template-columns: 1fr; } .pp-sub__a { justify-content: flex-start; } .pp-sub__a a.pp-btn { flex: 1 1 calc(50% - var(--space-2)); } .pp-gear { grid-template-columns: 1fr; } .pp-gear__card a.pp-gear__buy { align-self: stretch; } }
/* A51b : appel vers AssoConnect (adhésion, sans iframe) */
.pp-asc-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4) var(--space-6); padding: var(--space-6); border: var(--border-width-bold, 2px) solid var(--color-brand); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
.pp-asc-cta p { margin: 0; }
.pp-asc-cta__t { font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1.05; letter-spacing: var(--tracking-display); text-transform: uppercase; color: var(--text-primary); }
.pp-asc-cta__d { margin-top: var(--space-2) !important; max-width: 560px; font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-secondary); }
@media (max-width: 760px) { .pp-asc-cta { flex-direction: column; align-items: stretch; padding: var(--space-5); } .pp-asc-cta a.pp-btn { justify-content: center; } }
/* A52 : abonnement au calendrier en un bouton + fenêtre de choix ; animations des blocs Adhésion, Boutique et abonnement */
.pp-sub2 { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); padding: var(--space-4) var(--space-5); border: var(--border-width, 1px) solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card, #fff); }
.pp-sub2 p { margin: 0; }
.pp-sub2__t { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-base); color: var(--text-primary); }
.pp-sub2__d { margin-top: 2px !important; font-size: var(--text-sm); color: var(--text-secondary); }
.pp-sub2 button.pp-sub2__open { display: inline-flex; align-items: center; gap: var(--space-2); flex: none; min-height: 40px; padding: 8px 16px; border: var(--border-width) solid var(--color-brand); border-radius: var(--radius-md); background: var(--color-brand); color: var(--text-on-brand, #fff); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; cursor: pointer; transition: filter .2s var(--ease-out), transform .12s var(--ease-out); }
.pp-sub2 button.pp-sub2__open:hover { filter: brightness(.9); }
.pp-sub2 button.pp-sub2__open:active { transform: scale(.96); }
.pp-sub2 button.pp-sub2__open:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.pp-sub2 button.pp-sub2__open svg { width: 16px; height: 16px; }
.pp-sub2__dlg { width: min(420px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: var(--radius-lg); background: var(--surface-card, #fff); color: var(--text-primary); box-shadow: var(--shadow-md, 0 12px 40px rgba(0,0,0,.25)); }
.pp-sub2__dlg::backdrop { background: rgba(0, 0, 0, .55); }
.pp-sub2__dlg form { position: relative; margin: 0; padding: var(--space-5); }
.pp-sub2__h { margin: 0 40px var(--space-1) 0 !important; font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.1; letter-spacing: var(--tracking-display); text-transform: uppercase; }
.pp-sub2__s { margin: 0 0 var(--space-4) !important; font-size: var(--text-sm); color: var(--text-secondary); }
.pp-sub2__list { display: flex; flex-direction: column; gap: var(--space-2); }
.pp-sub2__opt { display: flex; align-items: center; gap: var(--space-3); min-height: var(--tap-min, 44px); padding: 10px var(--space-3); border: var(--border-width, 1px) solid var(--border-default); border-radius: var(--radius-md); color: var(--text-primary); text-decoration: none; transition: border-color .2s var(--ease-out), background .2s var(--ease-out); }
.pp-sub2__opt:hover, .pp-sub2__opt:focus-visible { border-color: var(--color-brand); outline: none; background: var(--surface-muted); color: var(--text-primary); }
.pp-sub2__opt svg { flex: none; width: 22px; height: 22px; color: var(--text-accent); }
.pp-sub2__opt span { display: flex; flex-direction: column; min-width: 0; }
.pp-sub2__opt b { font-weight: var(--fw-bold); font-size: var(--text-sm); }
.pp-sub2__opt small { font-size: var(--text-xs); color: var(--text-secondary); }
.pp-sub2__opt.is-reco { border-color: var(--color-brand); }
.pp-sub2__opt.is-reco b::after { content: attr(data-reco); margin-left: 8px; padding: 2px 8px; border-radius: var(--radius-pill); background: var(--color-brand); color: #fff; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; vertical-align: 2px; }
.pp-sub2__close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-muted); color: var(--text-primary); font-size: 22px; line-height: 36px; cursor: pointer; }
.pp-sub2__close:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.pp-sub2__ok { min-height: 1.2em; margin: var(--space-3) 0 0 !important; font-size: var(--text-xs); color: var(--color-success, #1f8a4c); }
@media (max-width: 600px) {
  .pp-sub2 { flex-direction: column; align-items: stretch; }
  .pp-sub2 button.pp-sub2__open { justify-content: center; }
  .pp-sub2__dlg { width: 100vw; max-width: 100vw; margin: auto 0 0; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
  .pp-sub2__dlg[open] { animation: pp-sheet .25s var(--ease-out); }
}
@keyframes pp-sheet { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
/* Animations : cartes des formules et de l'équipement en cascade, à l'apparition du bloc (pp-rv de pp-motion) */
.pp-motion-on .elementor .pp-rv .pp-plans > .pp-plan, .pp-motion-on .elementor .pp-rv .pp-gear > .pp-gear__card { opacity: 0; transform: translateY(16px); transition: opacity .45s var(--ease-out), transform .45s var(--ease-out); }
.pp-motion-on .elementor .pp-rv.pp-rv--in .pp-plans > .pp-plan, .pp-motion-on .elementor .pp-rv.pp-rv--in .pp-gear > .pp-gear__card { opacity: 1; transform: none; }
.pp-motion-on .elementor .pp-rv.pp-rv--in .pp-plans > .pp-plan:nth-child(2), .pp-motion-on .elementor .pp-rv.pp-rv--in .pp-gear > .pp-gear__card:nth-child(2) { transition-delay: .1s; }
.pp-motion-on .elementor .pp-rv.pp-rv--in .pp-plans > .pp-plan:nth-child(3) { transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) { .pp-sub2__dlg[open] { animation: none; } }
/* A52b : badge « Conseillé » de la fenêtre d'abonnement */
.pp-sub2__opt.is-reco b::after { content: none; }
.pp-sub2__opt.is-reco::after { content: attr(data-reco); flex: none; margin-left: auto; padding: 3px 9px; border-radius: var(--radius-pill); background: var(--color-brand); color: #fff; font-size: 10px; font-weight: var(--fw-bold); letter-spacing: .06em; text-transform: uppercase; }

/* A53 — calendrier mobile (Mois suivant à côté de Mois précédent), logos agendas, logos réseaux footer */
@media (max-width: 767px){
  .pp-cal__nav{display:grid;grid-template-columns:1fr 1fr}
  .pp-cal .pp-cal__nav .pp-cal__btn{justify-content:center}
  .pp-cal__nav .pp-cal__btn[data-go="-1"]{order:1}
  .pp-cal__nav .pp-cal__btn[data-go="1"]{order:2}
  .pp-cal__nav .pp-cal__btn[data-go="0"]{order:3;grid-column:1 / -1}
}
.pp-sub2__opt svg.pp-logo{width:24px;height:24px;color:var(--text-primary);fill:currentColor}
.site-footer .pl-footer-social .pl-soc-ico{width:20px;height:20px;flex:0 0 20px}

/* A53b — icônes agendas alignées */
.pp-sub2__opt svg{width:24px;height:24px}

/* A54 — passe QA 2026-10-15 : icônes FAQ et carte en mode sombre, menu actif lisible en sombre, zone de clic des liens équipe, pas de mot seul en fin de carte */
@media (prefers-color-scheme: dark){
  .e-n-accordion .e-n-accordion-item-title-icon svg{fill:currentColor!important}
  .cmplz-blocked-content-container{background-color:var(--surface-card)!important}
  .header-navigation .header-menu-container > ul > li.current-menu-item > a,
  .header-navigation .header-menu-container > ul > li.current_page_item > a,
  .header-navigation .header-menu-container > ul > li.current-menu-ancestor > a{color:var(--pp-red-light)!important}
}
.pp-wk-team__link{padding-block:11px;margin-block:-11px}
.elementor .pp-card p,.elementor .pp-card .elementor-heading-title{text-wrap:pretty}

/* A55 — badge « International » repensé : pastille sur la photo (drapeau + libellé), plus de pavé sous la nationalité */
.pp-player__sel{position:absolute;right:10px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 64px);padding:5px 9px 5px 6px;border-radius:999px;background:rgba(10,10,10,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:#fff;font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;white-space:nowrap}
.pp-player__sel img{flex:none;width:16px;height:11px;object-fit:cover;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.pp-player__sel[data-noflag]{padding-left:9px}
@media (max-width:600px){.pp-player__sel{right:8px;bottom:10px;padding:4px 7px 4px 5px;font-size:9px;gap:5px}.pp-player__sel img{width:14px;height:10px}}

/* A55b — sur mobile, pastille International en haut à gauche de la photo (le numéro occupe le bas) */
@media (max-width:600px){.pp-player__sel{top:10px;left:10px;right:auto;bottom:auto;max-width:calc(100% - 20px)}}

/* A55c — sur mobile, pastille compacte en bas à droite (drapeau + « Int. »), à la place de A55b */
@media (max-width:600px){.pp-player__sel{top:auto;left:auto;right:8px;bottom:10px;font-size:0;gap:4px;padding:4px 6px 4px 4px}.pp-player__sel::after{content:"Int.";font-size:9px;letter-spacing:.06em}:lang(en) .pp-player__sel::after{content:"Int’l"}}

/* A56 — pastille International : visible au recto seulement (masquée quand la carte se retourne) */
.pp-flip .pp-player__sel{-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:rgba(10,10,10,.8);transition:opacity .2s ease}
.pp-flip.is-flipped .pp-player__sel{opacity:0}
@media (hover:hover){.pp-flip:hover .pp-player__sel{opacity:0}}

/* A57 — identité visuelle : espace avant « Une question… » après retrait du bloc texture */
.pp-pk-rules + .pp-pk-ask{margin-top:1.5rem}

/* A58 — Adhésion : formules centrées (le thème met un retrait de 2em sur les listes de .entry-content) ; note AFL en carte */
.entry-content ul.pp-plans, ul.pp-plans{margin:0 !important;padding:0 !important}
.pp-plans-note{background:var(--surface-card, #fff)}
@media (max-width:600px){.pp-plans-note{flex-direction:column;align-items:flex-start}}

/* A59 — Menu mobile plein écran aux couleurs du club (volet Kadence #mobile-drawer) */
#mobile-drawer .drawer-inner{width:100%;max-width:100%;background:#0a0a0a;color:#fff;overflow:hidden auto}
#mobile-drawer .drawer-inner::before{content:"";position:absolute;right:-170px;bottom:-40px;width:560px;height:560px;background:url("/wp-content/uploads/2026/10/texture-phenix-web.webp") center/contain no-repeat;opacity:.8;pointer-events:none}
#mobile-drawer .drawer-inner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0a 0%,rgba(10,10,10,.9) 50%,rgba(10,10,10,.3) 100%);pointer-events:none}
#mobile-drawer .drawer-header,#mobile-drawer .drawer-content{position:relative;z-index:1}
#mobile-drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;height:64px;min-height:64px;padding:0 16px 0 20px;border-bottom:1px solid rgba(255,255,255,.12)}
#mobile-drawer .drawer-header::after{content:"";position:absolute;left:20px;bottom:-4px;width:64px;height:3px;background:var(--pp-red,#dd1f1f)}
#mobile-drawer .pp-dr-logo{display:block;line-height:0}
#mobile-drawer .pp-dr-logo img{height:40px;width:auto}
#mobile-drawer .drawer-header .drawer-toggle{width:44px;height:44px;padding:0;border-radius:999px;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff}
#mobile-drawer .drawer-header .drawer-toggle .toggle-close-bar{width:18px}
#mobile-drawer .drawer-content{display:flex;flex-direction:column;min-height:calc(100% - 64px);padding:0}
#mobile-drawer .mobile-navigation{padding:10px 20px 0}
#mobile-drawer #mobile-menu>li.lang-item{display:none}
#mobile-drawer #mobile-menu>li>a{display:flex;align-items:center;gap:14px;min-height:60px;padding:0 !important;border-bottom:1px solid rgba(255,255,255,.1) !important;font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:#fff !important}
#mobile-drawer #mobile-menu>li>a::after{content:"";flex:none;margin-left:auto;width:18px;height:18px;background:currentColor;opacity:.6;-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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease}
#mobile-drawer #mobile-menu>li>a:hover::after,#mobile-drawer #mobile-menu>li>a:focus-visible::after{transform:translateX(4px)}
#mobile-drawer #mobile-menu>li.current-menu-item>a{color:var(--pp-red-light,#ff6b6b) !important}
.pp-dr-foot{margin-top:auto;padding:24px 20px 20px;display:flex;flex-direction:column;gap:12px}
.pp-dr-next{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#fff;text-decoration:none}
.pp-dr-next[hidden]{display:none}
.pp-dr-next__d{flex:none;width:38px;height:38px;border-radius:8px;background:var(--pp-red,#dd1f1f);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.pp-dr-next__d small{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pp-dr-next__d b{font-family:var(--font-display);font-weight:400;font-size:17px}
.pp-dr-next__t{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}
.pp-dr-next__t small{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-red-light,#ff6b6b)}
.pp-dr-cta{display:flex;align-items:center;justify-content:center;height:52px;border-radius:4px;background:var(--pp-red,#dd1f1f);color:#fff !important;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 8px 24px rgba(221,31,31,.35)}
.pp-dr-row{display:flex;align-items:center;justify-content:space-between}
.pp-dr-lang{display:inline-flex;padding:3px;border-radius:999px;border:1px solid rgba(255,255,255,.25)}
.pp-dr-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:38px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-decoration:none}
.pp-dr-lang a[aria-current]{background:#fff;color:#0a0a0a}
.pp-dr-soc{display:flex;gap:8px}
.pp-dr-soc a{width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff}
.pp-dr-soc svg,.pp-dr-soc img{width:20px;height:20px}
@media (prefers-reduced-motion:no-preference){
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li{animation:ppDrIn .35s cubic-bezier(.2,.7,.2,1) both}
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li:nth-child(2){animation-delay:.04s}
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li:nth-child(3){animation-delay:.08s}
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li:nth-child(4){animation-delay:.12s}
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li:nth-child(5){animation-delay:.16s}
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li:nth-child(6){animation-delay:.2s}
  .showing-popup-drawer-from-right #mobile-drawer #mobile-menu>li:nth-child(7){animation-delay:.24s}
}
@keyframes ppDrIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}

/* A60 — Formulaire Essayer le lacrosse : samedis en cartes (pp-trial-chips) */
.pp-trial-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(140px,30%),1fr));gap:var(--space-3,.75rem);margin-top:8px}
.pp-trial-chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;text-align:left;border-radius:10px;border:2px solid var(--border-default,#e4e4e4);background:#fff;color:#0a0a0a;font-family:var(--font-body);cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.pp-trial-chip:hover{border-color:#0a0a0a;transform:translateY(-2px)}
.pp-trial-chip[aria-checked="true"]{border-color:var(--pp-red,#dd1f1f);background:var(--pp-red,#dd1f1f);color:#fff}
.pp-trial-chip small{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.pp-trial-chip b{font-family:var(--font-display);font-weight:400;font-size:40px;line-height:1}
.pp-trial-chip span{font-size:14px;font-weight:700}
.pp-trial-chip i{font-style:normal;font-size:12px;opacity:.75}
.pp-trial-chip[aria-checked="true"]::after{content:"";position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd1f1f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/14px no-repeat}
.pp-trial-unsure{justify-self:start;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--border-strong,#767676);background:transparent;font:700 13px var(--font-body);color:inherit;cursor:pointer}
.pp-trial-unsure[aria-pressed="true"]{border-color:var(--pp-red,#dd1f1f)}
div.wpforms-container .pp-trial-date.pp-has-chips select.pp-trial-select{position:absolute !important;width:1px !important;height:1px !important;opacity:0;pointer-events:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pp-trial-chip:not([aria-checked="true"]){background:var(--surface-card);color:var(--text-primary)}}

/* A61 — champ automatique du texte de l'e-mail d'essai (rempli par pp-trial-chips) */
div.wpforms-container .wpforms-field.pp-mail-info{display:none !important}


/* A62 — cartes des samedis : priorité sur la remise à zéro des boutons WPForms (div.wpforms-container-full button) */
div.wpforms-container-full .wpforms-form button.pp-trial-chip{position:relative !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:2px !important;width:auto !important;height:auto !important;min-height:0 !important;margin:0 !important;padding:14px 16px !important;text-align:left !important;border-radius:10px !important;border:2px solid var(--border-default,#e4e4e4) !important;background:#fff !important;color:#0a0a0a !important;font-family:var(--font-body) !important;line-height:1.2 !important;text-transform:none !important;letter-spacing:0 !important;box-shadow:none !important;cursor:pointer}
div.wpforms-container-full .wpforms-form button.pp-trial-chip:hover{border-color:#0a0a0a !important}
div.wpforms-container-full .wpforms-form button.pp-trial-chip[aria-checked="true"]{border-color:var(--pp-red,#dd1f1f) !important;background:var(--pp-red,#dd1f1f) !important;color:#fff !important}
div.wpforms-container-full .wpforms-form button.pp-trial-chip small{font-size:11px !important;font-weight:700;letter-spacing:.14em !important;text-transform:uppercase;opacity:.75}
div.wpforms-container-full .wpforms-form button.pp-trial-chip b{font-family:var(--font-display) !important;font-weight:400 !important;font-size:40px !important;line-height:1 !important}
div.wpforms-container-full .wpforms-form button.pp-trial-chip span{font-size:14px !important;font-weight:700 !important}
div.wpforms-container-full .wpforms-form button.pp-trial-chip i{font-style:normal;font-size:12px !important;opacity:.75}
div.wpforms-container-full .wpforms-form button.pp-trial-unsure{display:inline-flex !important;align-items:center;width:auto !important;height:auto !important;min-height:44px !important;margin:12px 0 0 !important;padding:0 16px !important;border-radius:999px !important;border:1.5px solid var(--border-strong,#767676) !important;background:transparent !important;color:inherit !important;font:700 13px var(--font-body) !important;text-transform:none !important;letter-spacing:0 !important;box-shadow:none !important}
div.wpforms-container-full .wpforms-form button.pp-trial-unsure[aria-pressed="true"]{border-color:var(--pp-red,#dd1f1f) !important;background:var(--pp-red-tint,#fbe4e4) !important;color:#0a0a0a !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) div.wpforms-container-full .wpforms-form button.pp-trial-chip:not([aria-checked="true"]){background:var(--surface-card,#1f1f1f) !important;color:var(--text-primary,#fff) !important;border-color:var(--border-default,#2b2b2b) !important}:root:not([data-theme="light"]) div.wpforms-container-full .wpforms-form button.pp-trial-unsure[aria-pressed="true"]{background:transparent !important;color:inherit !important}}


/* A63 — page Match (feuille de match) : #pp-fm, rendu par pp-match */
#pp-fm{font-family:var(--font-body);color:var(--text-primary)}
#pp-fm .pp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pp-fm-wrap{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.pp-fm-load,.pp-fm-msg{padding:96px 20px;text-align:center;color:var(--text-secondary)}
.pp-fm-ey{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--pp-red-light,#ff6b6b)}
.pp-fm-ey>span{width:28px;height:3px;background:currentColor}
.pp-fm-ey--dark{color:var(--text-accent,#dd1f1f)}
.pp-fm-h1{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,8vw,5rem);line-height:1;text-transform:uppercase;color:#fff}
.pp-fm-h2{margin:6px 0 0;font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl,2.25rem);line-height:1.05;text-transform:uppercase}
.pp-fm-sub{margin:0;max-width:620px;color:rgba(255,255,255,.8)}
/* Bandeau */
.pp-fm-hero{position:relative;overflow:hidden;background:#0a0a0a;color:#fff}
.pp-fm-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.pp-fm-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.92) 100%)}
.pp-fm-hero>.pp-fm-wrap{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px;padding-top:32px;padding-bottom:48px}
.pp-fm-hero--list>.pp-fm-wrap{padding-top:64px;padding-bottom:64px}
.pp-fm-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;align-self:flex-start;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider,.1em);text-transform:uppercase;color:var(--pp-red-light,#ff6b6b) !important;text-decoration:none}
.pp-fm-back:hover{text-decoration:underline;text-underline-offset:4px}
.pp-fm-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:16px 0}
.pp-fm-team{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.pp-fm-logo{width:112px;height:112px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pp-fm-logo img{width:78%;height:78%;object-fit:contain}
.pp-fm-logo.is-empty{background:rgba(255,255,255,.08);border:1.5px dashed rgba(255,255,255,.3);font-family:var(--font-display);font-size:var(--text-2xl);color:rgba(255,255,255,.6)}
.pp-fm-name{font-family:var(--font-display);font-size:var(--text-xl,1.75rem);line-height:1.05;text-transform:uppercase}
.pp-fm-mid{display:flex;flex-direction:column;align-items:center;gap:12px}
.pp-fm-pill{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase}
.pp-fm-pill--out{background:transparent;border:1px solid rgba(255,255,255,.4)}
.pp-fm-num{font-family:var(--font-display);font-size:120px;line-height:.9;letter-spacing:.02em;white-space:nowrap}
.pp-fm-num>span[aria-hidden]{color:rgba(255,255,255,.35);padding:0 .12em}
.pp-fm-num .is-opp{color:rgba(255,255,255,.55)}
.pp-fm-num--time{font-size:88px;color:rgba(255,255,255,.9)}
.pp-fm-res{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:4px;background:var(--pp-red,#dd1f1f);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase}
.pp-fm-res--loss,.pp-fm-res--draw{background:rgba(255,255,255,.16)}
.pp-fm-dd{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--pp-red-light,#ff6b6b)}
.pp-fm-meta{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:var(--text-sm);color:rgba(255,255,255,.8)}
.pp-fm-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
/* Sections */
.pp-fm-sec{padding:64px 0}
.pp-fm-sec--muted{background:var(--surface-muted,#f4f4f4)}
.pp-fm-sec__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.pp-fm-col{display:flex;flex-direction:column;align-items:center;gap:32px}
/* Feuille */
.pp-fm-sheet{width:100%;max-width:880px;background:var(--surface-card,#fff);border:1.5px solid var(--text-primary,#0a0a0a);border-radius:4px;overflow:hidden}
.pp-fm-sheet__h{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:#0a0a0a;color:#fff}
.pp-fm-sheet__h h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--text-lg,1.375rem);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.pp-fm-sheet__h span{font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:rgba(255,255,255,.7)}
.pp-fm-fields{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1.5px solid var(--text-primary,#0a0a0a)}
.pp-fm-fields>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 16px 12px;border-right:1px solid var(--border-default,#e4e4e4);border-bottom:1px solid var(--border-default,#e4e4e4)}
.pp-fm-fields dt{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.pp-fm-fields dd{margin:0;font-weight:700;font-size:var(--text-sm);overflow-wrap:anywhere}
.pp-fm-sheet__sub{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 24px 12px}
.pp-fm-sheet__sub>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.pp-fm-sheet__sub h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--text-md,1.125rem);text-transform:uppercase}
.pp-fm-sheet__sub span{font-size:var(--text-xs);color:var(--text-secondary)}
.pp-fm-stamp{flex:none;display:inline-flex;align-items:center;height:42px;padding:0 14px;border:3px solid var(--pp-red,#dd1f1f);border-radius:6px;color:var(--pp-red,#dd1f1f) !important;font-family:var(--font-display);font-size:22px !important;letter-spacing:.06em;text-transform:uppercase}
.pp-fm-stamp--loss,.pp-fm-stamp--draw{border-color:var(--text-secondary);color:var(--text-secondary) !important}
.pp-fm-tbl{margin:0 24px;font-size:var(--text-sm)}
.pp-fm-row{display:grid;grid-template-columns:52px minmax(0,1fr) 72px 72px 72px;align-items:center;min-height:44px;border-bottom:1px solid var(--border-default,#e4e4e4)}
.pp-fm-row>span{padding:8px 10px;min-width:0}
.pp-fm-row .n{text-align:center;font-variant-numeric:tabular-nums}
.pp-fm-row--h{min-height:36px;background:var(--surface-muted,#f4f4f4);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-secondary)}
.pp-fm-row--t{font-weight:700;border-bottom:0;border-top:2px solid var(--text-primary,#0a0a0a)}
.pp-fm-no{font-family:var(--font-display);font-size:var(--text-md,1.125rem)}
.pp-fm-who{font-weight:600}.pp-fm-who b{text-transform:uppercase}
.pp-fm-acc{color:var(--text-accent,#dd1f1f)}
.pp-fm-note{margin:24px 0 0;padding:12px 24px 20px;font-size:var(--text-xs);color:var(--text-secondary);border-top:1px dashed var(--border-default,#e4e4e4)}
.pp-fm-soon{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 24px}
.pp-fm-soon p{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed,1.65)}
.pp-fm-cd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.pp-fm-cd>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 0;border:1.5px solid var(--text-primary,#0a0a0a);border-radius:4px}
.pp-fm-cd b{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl,2.25rem);line-height:1}
.pp-fm-cd small{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
/* Faits du match */
.pp-fm-facts{width:100%;max-width:880px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.pp-fm-facts>.pp-fm-ey{grid-column:1/-1}
.pp-fm-fact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:var(--surface-card,#fff);border:1px solid var(--border-default,#e4e4e4);border-radius:var(--radius-lg,10px)}
.pp-fm-fact>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.pp-fm-fact small{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.pp-fm-fact em{flex:none;font-style:normal;font-family:var(--font-display);font-size:var(--text-lg,1.375rem);color:var(--text-accent,#dd1f1f)}
/* Photos */
.pp-fm-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:220px 220px;gap:12px}
.pp-fm-photos a{position:relative;display:block;border-radius:6px;overflow:hidden}
.pp-fm-photos a:first-child{grid-column:span 2;grid-row:span 2}
.pp-fm-photos img{display:block;width:100%;height:100%;object-fit:cover}
.pp-fm-photos .is-more span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,.6);color:#fff;font-family:var(--font-display);font-size:var(--text-lg);text-transform:uppercase}
/* Reste du week-end, navigation */
.pp-fm-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.pp-fm-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-default,#e4e4e4)}
.pp-fm-nav a{display:flex;flex-direction:column;gap:4px;min-height:44px;color:var(--text-primary) !important;text-decoration:none}
.pp-fm-nav a.is-next{align-items:flex-end;text-align:right;margin-left:auto}
.pp-fm-nav small{font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-accent,#dd1f1f)}
.pp-fm-nav a:hover b{text-decoration:underline;text-underline-offset:4px}
.pp-fm-cta{background:#0a0a0a;color:#fff;padding:48px 0}
.pp-fm-cta>.pp-fm-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.pp-fm-cta .pp-fm-h2{color:#fff}
/* Liste des matchs (sans clé) */
.pp-fm-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}
.pp-fm-list ul{list-style:none;margin:16px 0 0;padding:0;background:var(--surface-card,#fff);border:1px solid var(--border-default,#e4e4e4);border-radius:var(--radius-lg,10px);overflow:hidden}
.pp-fm-list li+li{border-top:1px solid var(--border-default,#e4e4e4)}
.pp-fm-list a{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:8px 16px;color:var(--text-primary) !important;text-decoration:none}
.pp-fm-list a:hover{background:var(--surface-muted,#f4f4f4)}
.pp-fm-list__d{font-size:var(--text-xs);color:var(--text-secondary)}
.pp-fm-list__o{font-weight:700;font-size:var(--text-sm)}
.pp-fm-list__s{font-family:var(--font-display);font-size:var(--text-md)}
.pp-fm-list__s.is-win{color:var(--text-accent,#dd1f1f)}
@media (max-width:700px){
  .pp-fm-score{gap:10px}.pp-fm-logo{width:56px;height:56px;border-radius:10px}.pp-fm-name{font-size:var(--text-md,1.125rem)}
  .pp-fm-num{font-size:64px}.pp-fm-num--time{font-size:52px}
  .pp-fm-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp-fm-sheet__h,.pp-fm-sheet__sub{padding-left:16px;padding-right:16px}
  .pp-fm-tbl{margin:0 16px}.pp-fm-note{padding-left:16px;padding-right:16px}
  .pp-fm-row{grid-template-columns:30px minmax(0,1fr) 44px 44px 50px}.pp-fm-row>span{padding:8px 4px;white-space:nowrap}.pp-fm-row>span.pp-fm-who{white-space:normal}
  .pp-fm-row--h{font-size:10px;letter-spacing:.04em}.pp-fm-who b{display:block}
  .pp-fm-stamp{height:34px;font-size:18px !important;padding:0 10px}
  .pp-fm-photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:140px}
  .pp-fm-photos a:first-child{grid-row:span 1}
  .pp-fm-sec{padding:48px 0}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pp-fm-row--t,:root:not([data-theme="light"]) .pp-fm-sheet,:root:not([data-theme="light"]) .pp-fm-fields{border-color:var(--border-strong,#767676)}}


/* A63b — feuille de match : en-têtes de colonnes sur une ligne */
.pp-fm-row{grid-template-columns:52px minmax(0,1fr) 84px 84px 72px}
.pp-fm-row--h>span{white-space:nowrap;letter-spacing:.08em}
@media (max-width:700px){.pp-fm-row{grid-template-columns:30px minmax(0,1fr) 48px 48px 48px}.pp-fm-row--h>span{letter-spacing:.02em}}


/* A64 — rubrique en cours aussi sur les sous-pages (pages d'équipe, week-end, match) : current-page-ancestor */
.site-main-header-wrap .main-navigation .menu > li.current-page-ancestor > a,.header-navigation .header-menu-container > ul > li.current-page-ancestor > a{color:var(--text-accent)}
.header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li.current-page-ancestor > a::after{transform:scale(1,1) translate(50%,0)}
@media (prefers-color-scheme:dark){.header-navigation .header-menu-container > ul > li.current-page-ancestor > a{color:var(--pp-red-light) !important}}
#mobile-drawer #mobile-menu>li.current-page-ancestor>a,#mobile-drawer #mobile-menu>li.current-menu-ancestor>a{color:var(--pp-red-light,#ff6b6b) !important}
/* A65 — Formulaires Fluent Forms (Contact) : style du site + cartes de dates compactes (pp-ff) */
.frm-fluent-form{font-family:var(--font-body);color:var(--text-primary)}
.frm-fluent-form .ff-el-group{margin-bottom:var(--space-5,1.5rem)}
.frm-fluent-form .ff-t-container{gap:var(--space-4,1rem)}
.frm-fluent-form .ff-t-container .ff-el-group{margin-bottom:0}
.frm-fluent-form .ff-name-field-wrapper{margin-bottom:var(--space-5,1.5rem)}
.frm-fluent-form .ff-el-input--label{margin-bottom:8px}
.frm-fluent-form .ff-el-input--label label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);line-height:1.3}
.frm-fluent-form .ff-el-input--label.ff-el-is-required.asterisk-right label:after{content:" *";color:var(--text-brand,#dd1f1f);margin-left:0}
.frm-fluent-form .ff-el-form-control{font-family:var(--font-body);font-size:15px;color:var(--text-primary);background:var(--surface-muted,#f4f4f4);border:var(--border-width,1.5px) solid var(--border-strong,#767676);border-radius:var(--radius-md,6px);min-height:44px;padding:10px 14px;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
.frm-fluent-form textarea.ff-el-form-control{min-height:112px;line-height:1.5}
.frm-fluent-form select.ff-el-form-control{appearance:auto;padding-right:10px}
.frm-fluent-form .ff-el-form-control::placeholder{color:var(--text-muted,#8f8f8f);opacity:1}
.frm-fluent-form .ff-el-form-control:focus{outline:none;border-color:var(--pp-red,#dd1f1f);box-shadow:var(--focus-ring,0 0 0 3px rgba(221,31,31,.35))}
.frm-fluent-form .pp-ff-age .ff-el-form-control{max-width:140px}
.frm-fluent-form .ff-el-form-check{margin-bottom:0}
.frm-fluent-form .ff_list_inline .ff-el-form-check{display:inline-flex;margin:0 24px 0 0}
.frm-fluent-form .ff-el-form-check-label{display:inline-flex;align-items:center;gap:10px;min-height:36px;font-size:15px;color:var(--text-primary);cursor:pointer}
.frm-fluent-form .ff-el-form-check-input{width:20px;height:20px;margin:0;accent-color:var(--pp-red,#dd1f1f)}
.frm-fluent-form .ff-el-tc .ff-el-form-check-label{align-items:flex-start;gap:10px;min-height:0;font-size:14px;line-height:1.5}
.frm-fluent-form .ff-el-tc .ff_tc_checkbox{padding-top:1px}
.frm-fluent-form .ff_t_c{color:var(--text-secondary)}
.frm-fluent-form .ff-el-is-error .ff-el-form-control{border-color:var(--text-brand,#dd1f1f)}
.frm-fluent-form .error,.frm-fluent-form .text-danger{margin-top:6px;font-size:13px;font-weight:600;color:var(--text-brand,#dd1f1f)}
.frm-fluent-form .ff-btn-submit{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;min-height:48px;padding:0 28px;border:0;border-radius:var(--radius-sm,4px);background:var(--pp-red,#dd1f1f) !important;color:#fff !important;cursor:pointer;transition:background-color .15s ease,transform .15s ease}
.frm-fluent-form .ff-btn-submit:hover{background:var(--pp-red-deep,#b01616) !important;transform:translateY(-1px)}
.frm-fluent-form .ff-btn-submit:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 3px rgba(221,31,31,.35))}
.ff-message-success{margin:0;padding:var(--space-4,1rem) var(--space-5,1.5rem);border:var(--border-width,1.5px) solid var(--border-default,#e4e4e4);border-left:4px solid var(--pp-red,#dd1f1f);border-radius:var(--radius-md,6px);background:var(--surface-card,#fff);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.55;box-shadow:none}
.ff-message-success p{margin:0}
.ff-errors-in-stack{margin-top:var(--space-3,.75rem);color:var(--text-brand,#dd1f1f);font-size:14px}
/* Séance d'essai : cartes compactes */
.frm-fluent-form .pp-ff-later[hidden]{display:none !important}
.frm-fluent-form .pp-ff-has-chips input[name="trial_date"]{position:absolute !important;width:1px !important;height:1px !important;min-height:0 !important;padding:0 !important;border:0 !important;opacity:0;pointer-events:none}
.frm-fluent-form .pp-ff-has-chips .ff-el-input--content{position:relative}
.frm-fluent-form .pp-ff-loading .ff-el-input--content{opacity:.5}
.pp-ff-hint{margin:-2px 0 10px;font-size:13px;color:var(--text-secondary)}
.pp-ff-chips{display:flex;flex-wrap:wrap;gap:8px}
.pp-ff-chip{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:40px;padding:8px 14px;border:var(--border-width,1.5px) solid var(--border-strong,#767676);border-radius:var(--radius-pill,999px);background:transparent;color:var(--text-primary);font-family:var(--font-body);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.pp-ff-chip b{font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.pp-ff-chip span{font-size:12px;line-height:1.2;color:var(--text-secondary)}
.pp-ff-chip:hover{border-color:var(--text-primary)}
.pp-ff-chip:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 3px rgba(221,31,31,.35))}
.pp-ff-chip[aria-checked="true"]{border-color:var(--pp-red,#dd1f1f);background:var(--pp-red,#dd1f1f);color:#fff}
.pp-ff-chip[aria-checked="true"] span{color:#fff}
.pp-ff-chip--later{border-style:dashed}
.pp-ff-chip--later b{font-weight:600}
@media (max-width:600px){.pp-ff-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pp-ff-chip{align-items:center;padding:8px 6px;text-align:center}.pp-ff-chip b{font-size:13px}.pp-ff-chip--later{grid-column:1/-1}.frm-fluent-form .ff-t-container{display:block}.frm-fluent-form .ff-t-container .ff-t-cell+.ff-t-cell{margin-top:var(--space-5,1.5rem)}}
/* A65b — Fluent Forms : espace entre la case RGPD et son texte */
.frm-fluent-form .ff-el-tc .ff_tc_checkbox{margin-right:10px}
.frm-fluent-form .ff-el-tc .ff-el-form-check-label{display:flex}
/* A65c — Formulaire d’essai : menu du mois « plus tard » */
.frm-fluent-form .pp-ff-month{max-width:320px;margin-bottom:8px}

/* A65d — Case RGPD : espace entre la case et le texte (la case est une cellule de tableau, la marge n’agit pas) */
.frm-fluent-form .ff-el-tc .ff_tc_checkbox{padding-right:10px}

/* A66 — Week-end de match (5033/5034) et page Event EN (6398) : place réservée et squelette pendant le chargement (plus de saut de mise en page, plus de texte provisoire) */
.pp-wk[data-part="hero"]:not(.is-ready), .pp-evp[data-part="hero"]:not(.is-ready) { position: relative; box-sizing: border-box; min-height: 380px; }
.pp-evp[data-part="hero"]:not(.is-ready) { min-height: 490px; }
@media (min-width: 1025px) { .pp-wk[data-part="hero"]:not(.is-ready) { min-height: 435px; } .pp-evp[data-part="hero"]:not(.is-ready) { min-height: 570px; } }
.pp-wk[data-part="hero"]:not(.is-ready)::after, .pp-evp[data-part="hero"]:not(.is-ready)::after { content: ""; position: absolute; left: 0; top: 0; width: min(100%, 620px); height: 230px; pointer-events: none; background: linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) 0 0 / 120px 12px no-repeat, linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) 0 36px / 92% 52px no-repeat, linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) 0 100px / 64% 52px no-repeat, linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)) 0 180px / 240px 44px no-repeat; border-radius: 4px; animation: pp-skel 1.2s ease-in-out infinite alternate, pp-skel-off 0s 5s forwards; }
@keyframes pp-skel { from { opacity: .45; } to { opacity: 1; } }
@keyframes pp-skel-off { to { visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .pp-wk[data-part="hero"]:not(.is-ready)::after, .pp-evp[data-part="hero"]:not(.is-ready)::after { animation: pp-skel-off 0s 5s forwards; } }

/* A66b — /evenements/ (vues liste et jour) : flèches « précédent / suivant » du bas aux couleurs du club ; pages d'événement : plus de bande noire entre le menu et la photo */
body #primary .tribe-events .tribe-events-c-nav__prev:not([disabled]), body #primary .tribe-events .tribe-events-c-nav__next:not([disabled]) { color: var(--color-brand); }
body #primary .tribe-events .tribe-events-c-nav__prev:not([disabled]) svg path, body #primary .tribe-events .tribe-events-c-nav__next:not([disabled]) svg path { fill: var(--color-brand); }
body #primary .tribe-events .tribe-events-c-nav__prev:not([disabled]):hover, body #primary .tribe-events .tribe-events-c-nav__next:not([disabled]):hover { color: var(--pp-red-deep); }
@media (prefers-color-scheme: dark) {
  body #primary .tribe-events .tribe-events-c-nav__prev:not([disabled]), body #primary .tribe-events .tribe-events-c-nav__next:not([disabled]), body #primary .tribe-events .tribe-events-c-nav__prev:not([disabled]):hover, body #primary .tribe-events .tribe-events-c-nav__next:not([disabled]):hover { color: var(--pp-red-light, #ff6b6b); }
  body #primary .tribe-events .tribe-events-c-nav__prev:not([disabled]) svg path, body #primary .tribe-events .tribe-events-c-nav__next:not([disabled]) svg path { fill: var(--pp-red-light, #ff6b6b); }
}
.single-tribe_events .tribe-events-before-html { margin-top: 0; }

/* A67 — Page Event EN (6398) : description anglaise de l'événement sous les cartes d'infos (pp-evpage) */
.pp-evp-desc { max-width: 720px; margin-top: var(--space-6, 32px); font-family: var(--font-body); font-size: var(--text-md, 1.0625rem); line-height: var(--leading-relaxed, 1.65); color: var(--text-primary); }
.pp-evp-desc p { margin: 0 0 var(--space-3, 12px); }
.pp-evp-desc p:last-child { margin-bottom: 0; }
.pp-evp-desc a { color: var(--text-accent); text-decoration: underline; text-underline-offset: 3px; }

/* A68 — Revue du 22/10 : marges latérales alignées sur le logo (mobile 20 px, tablette 40 px, petit ordinateur 24 px), sections de premier niveau seulement */
@media (max-width: 767px) {
  .elementor > .e-con.e-parent { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor > .e-con.e-parent { padding-left: 40px !important; padding-right: 40px !important; }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .elementor > .e-con.e-parent { padding-left: 24px !important; padding-right: 24px !important; }
}

/* A68b — Pages d'équipe sur mobile : plus de trou sous les chiffres de l'équipe (conteneur en colonne sans retour à la ligne) */
.elementor .e-con.pp-tm-stats-sec > .e-con-inner { flex-wrap: nowrap; }

/* A68c — Calendrier du planning : pas de mot coupé en plein milieu (tablette) */
.pp-cal-ev, .pp-cal-ev * { word-break: normal; overflow-wrap: normal; -webkit-hyphens: auto; hyphens: auto; }
@media (min-width: 768px) and (max-width: 1100px) {
  .pp-cal-ev { padding: 4px 5px; font-size: 11px; }
}

/* A68d — Classement : en-têtes sur une ligne ; sur mobile, colonnes plus serrées et nom d'équipe sur deux lignes si besoin */
.pp-tm-tr--head > span { white-space: nowrap; }
@media (max-width: 600px) {
  .pp-tm-tr { grid-template-columns: 30px minmax(0, 1fr) 30px 30px 30px 44px; }
  .pp-tm-tr > span { padding-left: 6px; padding-right: 6px; }
  .pp-tm-name { white-space: normal; text-overflow: clip; line-height: 1.2; }
}

/* A68e — Bouton « Voir le planning complet » de /evenements/ : marges intérieures */
.pp-evx-hero .pp-ev-btn { padding: 12px 24px !important; }

/* A68f — Mode sombre : champ de recherche de /evenements/ lisible */
@media (prefers-color-scheme: dark) {
  .tribe-events .tribe-events-c-search__input,
  .tribe-events .tribe-events-c-search__input-control input { color: #ffffff !important; }
  .tribe-events .tribe-events-c-search__input::placeholder { color: #9a9a9a !important; opacity: 1; }
}

/* A68g — Pages d'événement : la page ne saute plus au chargement (marge fixe, contenu masqué jusqu'à la mise en forme par pp-event, 3 s au plus) */
.single-tribe_events #primary { margin-top: 0; }
body.single-tribe_events:not(.pp-ev-ready) #tribe-events-content { visibility: hidden; min-height: 100vh; animation: ppEvShow 0s linear 3s forwards; }
@keyframes ppEvShow { to { visibility: visible; } }

/* A68h — Pages d'événement sur mobile : boutons précédent / suivant l'un sous l'autre, sans débordement */
@media (max-width: 600px) {
  .single-tribe_events #tribe-events-footer .tribe-events-sub-nav { flex-direction: column; }
  .single-tribe_events #tribe-events-footer .tribe-events-sub-nav li,
  .single-tribe_events #tribe-events-footer .tribe-events-sub-nav a { width: 100%; justify-content: center; }
}

/* A68i — Liens e-mail dans les paragraphes : la ligne garde sa hauteur normale (zone de clic élargie sans pousser les lignes) */
.elementor .elementor-widget-text-editor p a[href^="mailto:"] { display: inline; min-height: 0; padding: 12px 0; margin: -12px 0; }

/* A68j — Zones à toucher d'au moins 44 px (agenda The Events Calendar, fiches d'événement, page Event EN) */
.tribe-events .tribe-events-c-nav__prev, .tribe-events .tribe-events-c-nav__next, .tribe-events .tribe-events-c-nav__today,
.tribe-events .tribe-events-c-top-bar__nav-link, .tribe-events .tribe-events-c-top-bar__today-button { display: inline-flex; align-items: center; min-height: 44px; }
.tribe-events .tribe-events-c-events-bar__search-button, .tribe-events .tribe-events-c-view-selector__button { min-width: 44px; min-height: 44px; }
.tribe-events .tribe-events-c-subscribe-dropdown__button-text { min-height: 44px; }
.tribe-events .tribe-events-calendar-list__event-title-link { display: inline-block; padding: 8px 0; margin: -8px 0; }
.pp-ev-back { display: inline-flex; align-items: center; min-height: 44px; }
.pp-ev-link { display: inline-flex; align-items: center; min-height: 44px; }

/* A68k — Tablette : les 3 cartes d'équipes sur une seule ligne */
@media (min-width: 768px) and (max-width: 1024px) {
  .pp-grid:has(> .pp-team-card:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* A68l — Encadrés (« Ce que le club prête », « Pas d'entraînement… ») : titre au moins aussi grand que le texte, interligne aéré */
.elementor .pp-alert .elementor-heading-title { font-size: max(1.0625rem, 1em); line-height: 1.3; }

/* A68m — Fenêtre « Ajouter à quel agenda ? » : fond assombri derrière */
.pp-sub2__dlg::backdrop { background: rgba(0, 0, 0, .55); }

/* A68n — Menu mobile sur écran court : la texture du phénix se fond vers le bas au lieu de s'arrêter net */
#mobile-drawer .drawer-inner::before { -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }

/* A68o — Bandeau photos défilant : pause au clavier (focus) et au toucher, en plus du survol */
.pp-marquee:focus-within .pp-marquee__track, .pp-marquee:active .pp-marquee__track { animation-play-state: paused; }

/* A68p — Pages d'équipe : quand aucun match n'est annoncé, le message n'apparaît qu'une fois (dans « Prochains matchs ») */
.elementor-widget:has(> .pp-cd[data-team] > .pp-cd__none) { display: none; }

/* A69 — Devenir partenaire (FR et EN) : les 3 formules restantes sur une ligne dès la tablette, l'une sous l'autre sur téléphone (plus de carte seule sur sa ligne) */
@media (min-width: 768px) {
  body.page-id-7347 .elementor .pp-steps.pp-grid:has(> .pp-step:nth-child(3):last-child),
  body.page-id-7351 .elementor .pp-steps.pp-grid:has(> .pp-step:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.page-id-7347 .elementor .pp-steps.pp-grid:has(> .pp-step:nth-child(3):last-child),
  body.page-id-7351 .elementor .pp-steps.pp-grid:has(> .pp-step:nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); }
}

/* A70 — Animations du 23/10 (maquette « Animations du site ») : en-tête qui se compacte, bouton d'essai fixé sur téléphone, squelettes de chargement, survol des albums, coche des formulaires, badge des résultats. Tout s'arrête si l'appareil demande moins d'animations. */
/* A70a — En-tête : logo plus grand en haut de page, il rapetisse quand l'en-tête se compacte au défilement (hauteur 80/72 px → 60 px réglée dans Kadence) */
#masthead .site-branding a.brand img.custom-logo { height: 56px; width: auto; max-height: none; transition: height .22s cubic-bezier(.2,.8,.2,1); }
#masthead .item-is-stuck .site-branding a.brand img.custom-logo { height: 44px; }
@media (max-width: 1024px) {
  #masthead .site-branding a.brand img.custom-logo { height: 52px; }
  #masthead .item-is-stuck .site-branding a.brand img.custom-logo { height: 42px; }
}

/* A70b — Bouton « Essayer le lacrosse » fixé en bas sur téléphone (script pp-cta) */
.pp-sticky-cta { position: fixed; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 90; transform: translateY(calc(100% + 32px)); transition: transform .26s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.pp-sticky-cta.is-on { transform: none; pointer-events: auto; }
.pp-sticky-cta a { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: var(--radius-md, 6px); background: var(--color-brand, #dd1f1f); color: #fff; font-family: var(--font-body); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.pp-sticky-cta a:hover { background: var(--color-brand-strong, #b01616); color: #fff; }
.pp-sticky-cta a:focus-visible { outline: none; box-shadow: 0 0 0 3px #fff, 0 0 0 6px #dd1f1f; }
@media (min-width: 768px) { .pp-sticky-cta { display: none; } }

/* A70c — Squelettes de chargement : les blocs remplis par le Google Sheet (pages d'équipe, week-end) scintillent à leur taille finale tant qu'ils sont vides (8 s au plus) */
@keyframes pp-shim { from { background-position: 100% 0; } to { background-position: -50% 0; } }
@keyframes pp-skel-out { to { min-height: 0; opacity: 0; } }
.elementor .pp-tm[data-part]:empty, .elementor .pp-wk[data-part]:not([data-part="hero"]):empty { display: block; border-radius: var(--radius-lg, 10px); background-image: linear-gradient(90deg, #ececec 0%, #f7f7f7 40%, #ececec 80%); background-size: 300% 100%; animation: pp-shim 1.2s linear infinite, pp-skel-out .3s ease 8s forwards; }
.elementor .pp-dark .pp-tm[data-part]:empty, .elementor .pp-dark .pp-wk[data-part]:empty { background-image: linear-gradient(90deg, #1f1f1f 0%, #2b2b2b 40%, #1f1f1f 80%); }
.elementor .pp-tm[data-part="stats"]:empty, .elementor .pp-wk[data-part="stats"]:empty { min-height: 84px; }
.elementor .pp-tm[data-part="matches"]:empty, .elementor .pp-wk[data-part="matches"]:empty { min-height: 470px; }
.elementor .pp-tm[data-part="roster"]:empty { min-height: 600px; }
.elementor .pp-wk[data-part="info"]:empty { min-height: 180px; }
.elementor .pp-wk[data-part="season"]:empty { min-height: 380px; }
@media (max-width: 767px) {
  .elementor .pp-tm[data-part="stats"]:empty, .elementor .pp-wk[data-part="stats"]:empty { min-height: 160px; }
  .elementor .pp-tm[data-part="matches"]:empty, .elementor .pp-wk[data-part="matches"]:empty { min-height: 700px; }
}

/* A70d — Albums photo : au survol (ou au clavier), voile sombre et « Voir l'album » qui monte, en plus du zoom existant */
.elementor .pp-album > .elementor-widget-image { position: relative; }
.elementor .pp-album > .elementor-widget-image::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0); transition: background-color .25s ease; pointer-events: none; }
.elementor .pp-album > .elementor-widget-image::before { content: "Voir l’album →"; position: absolute; left: 14px; bottom: 12px; z-index: 1; color: #fff; font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .25s ease, transform .25s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
html[lang^="en"] .elementor .pp-album > .elementor-widget-image::before { content: "View album →"; }
.elementor .pp-album:hover > .elementor-widget-image::after, .elementor .pp-album:focus-visible > .elementor-widget-image::after, .elementor .pp-album:focus-within > .elementor-widget-image::after { background: rgba(0,0,0,.5); }
.elementor .pp-album:hover > .elementor-widget-image::before, .elementor .pp-album:focus-visible > .elementor-widget-image::before, .elementor .pp-album:focus-within > .elementor-widget-image::before { opacity: 1; transform: none; }

/* A70e — Formulaires : une coche verte se dessine au-dessus du message de confirmation */
@keyframes pp-msg-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ff-message-success { animation: pp-msg-in .3s ease-out both; }
.ff-message-success::before { content: ""; display: block; width: 56px; height: 56px; margin: 0 0 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cstyle%3Ecircle%7Bstroke-dasharray:151;stroke-dashoffset:151;animation:d .45s cubic-bezier(.2,.8,.2,1) forwards%7Dpath%7Bstroke-dasharray:36;stroke-dashoffset:36;animation:d .28s cubic-bezier(.2,.8,.2,1) .4s forwards%7D@keyframes d%7Bto%7Bstroke-dashoffset:0%7D%7D%3C/style%3E%3Ccircle cx='28' cy='28' r='24' fill='none' stroke='%2316804a' stroke-width='3.5' transform='rotate(-90 28 28)'/%3E%3Cpath d='M17 29l7 7 15-16' fill='none' stroke='%2316804a' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }

/* A70f — Résultats : le badge (Victoire, Défaite…) apparaît juste après le défilement des chiffres du score */
@keyframes pp-pop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
.pp-motion-on .pp-match:has(.pp-match__score[data-roll]):not(:has(.is-rolled)) .pp-match__badges > .pp-badge { opacity: 0; }
.pp-motion-on .pp-match:has(.pp-match__score.is-rolled) .pp-match__badges > .pp-badge { animation: pp-pop .28s cubic-bezier(.2,.8,.2,1) 1.1s both; }

/* A70g — Moins d'animations demandé par l'appareil : tout devient immédiat */
@media (prefers-reduced-motion: reduce) {
  #masthead .site-branding a.brand img.custom-logo, .pp-sticky-cta, .elementor .pp-album > .elementor-widget-image::before, .elementor .pp-album > .elementor-widget-image::after { transition: none; }
  .elementor .pp-tm[data-part]:empty, .elementor .pp-wk[data-part]:empty { animation: pp-skel-out .3s ease 8s forwards; }
  .ff-message-success { animation: none; }
  .ff-message-success::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='24' fill='none' stroke='%2316804a' stroke-width='3.5'/%3E%3Cpath d='M17 29l7 7 15-16' fill='none' stroke='%2316804a' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
}

/* A70h — Correctif de A70a : une règle plus ancienne fixe le logo à 44 px avec !important ; tailles du logo en haut de page et en‑tête compacté */
#masthead .site-branding a.brand img.custom-logo { height: 56px !important; max-height: none; }
#masthead .item-is-stuck .site-branding a.brand img.custom-logo { height: 44px !important; }
@media (max-width: 1024px) {
  #masthead .site-branding a.brand img.custom-logo { height: 52px !important; }
  #masthead .item-is-stuck .site-branding a.brand img.custom-logo { height: 42px !important; }
}

/* A71 — Page 404 : dessin animé de la balle qui touche le poteau et sort (script pp-404v, maquette « Idée 7 »). Rien ne bouge si l'appareil demande moins d'animations. */
.error404 .pp-404-art { max-width: 400px; margin: 0 0 20px; }
.error404 .pp-404-art svg { display: block; width: 100%; height: auto; }
.error404 .pp-404-art .pp-404-num { font-family: "Golden Varsity", "Arial Narrow", sans-serif; font-size: 110px; fill: #1a1a1a; }
@keyframes pp404-draw { to { stroke-dashoffset: 0; } }
@keyframes pp404-wob { 0% { transform: none; } 30% { transform: rotate(-4deg); } 60% { transform: rotate(2deg); } 100% { transform: none; } }
@keyframes pp404-ping { from { opacity: 1; transform: scale(.4); } to { opacity: 0; transform: scale(2.2); } }
.error404 .pp-404-art .pp-404-trail { stroke-dasharray: 1; stroke-dashoffset: 1; animation: pp404-draw 1.2s cubic-bezier(.3,.1,.3,1) .3s forwards; }
.error404 .pp-404-art .pp-404-post { transform-box: fill-box; transform-origin: 50% 100%; animation: pp404-wob .5s ease-out 1.25s both; }
.error404 .pp-404-art .pp-404-ping { opacity: 0; transform-box: fill-box; transform-origin: center; animation: pp404-ping .45s ease-out 1.25s both; }
.error404 .pp-404-art.is-static .pp-404-trail { animation: none; stroke-dashoffset: 0; }
.error404 .pp-404-art.is-static .pp-404-post, .error404 .pp-404-art.is-static .pp-404-ping { animation: none; }
@media (prefers-reduced-motion: reduce) { .error404 .pp-404-art .pp-404-trail { animation: none; stroke-dashoffset: 0; } .error404 .pp-404-art .pp-404-post, .error404 .pp-404-art .pp-404-ping { animation: none; } }

/* A71b — Page 404 : le cercle d'impact restait visible avant l'animation (correction de A71) */
@keyframes pp404-ping2 { 0% { opacity: 0; transform: scale(.4); } 1% { opacity: 1; transform: scale(.4); } 100% { opacity: 0; transform: scale(2.2); } }
.error404 .pp-404-art .pp-404-ping { animation-name: pp404-ping2; }

/* A72 — Animations du 23/10 (maquettes 1, 4, 5, 6, 7 validées) : fondu entre les pages, glissement du calendrier, photos en fondu, fin de la cascade du menu mobile. Le zoom de la visionneuse est dans le script pp-lbzoom. Rien ne bouge si l'appareil demande moins d'animations. */
/* A72a — Transition entre les pages (navigateurs compatibles) : l'en-tête reste en place, le contenu passe en fondu */
@view-transition { navigation: auto; }
#masthead { view-transition-name: pp-header; }
::view-transition-group(pp-header) { animation: none; }
::view-transition-old(pp-header) { animation: none; opacity: 0; }
::view-transition-new(pp-header) { animation: none; }
@keyframes pp-vt-out { to { opacity: 0; } }
@keyframes pp-vt-in { from { opacity: 0; transform: translateY(6px); } }
::view-transition-old(root) { animation: pp-vt-out .18s ease both; }
::view-transition-new(root) { animation: pp-vt-in .26s cubic-bezier(.2,.8,.2,1) .04s both; }

/* A72b — Calendrier du planning : repère pour le mois sortant (script pp-calslide) */
.pp-cal { position: relative; }

/* A72c — Photos des albums et galeries : fondu à l'arrivée (script pp-imgfade) */
.pp-fade { opacity: 0; filter: blur(8px); transform: scale(1.02); transition: opacity .55s cubic-bezier(.2,.8,.2,1), filter .55s cubic-bezier(.2,.8,.2,1), transform .55s cubic-bezier(.2,.8,.2,1) !important; }
.pp-fade.pp-fade--in { opacity: 1; filter: none; transform: none; }

/* A72d — Menu sur téléphone : la cascade des liens existait déjà (ppDrIn) ; la carte du prochain entraînement, le bouton et la langue suivent maintenant la même cascade */
@media (prefers-reduced-motion: no-preference) {
  .showing-popup-drawer-from-right #mobile-drawer .pp-dr-foot > * { animation: ppDrIn .35s cubic-bezier(.2,.7,.2,1) both; }
  .showing-popup-drawer-from-right #mobile-drawer .pp-dr-foot > :nth-child(1) { animation-delay: .28s; }
  .showing-popup-drawer-from-right #mobile-drawer .pp-dr-foot > :nth-child(2) { animation-delay: .32s; }
  .showing-popup-drawer-from-right #mobile-drawer .pp-dr-foot > :nth-child(n+3) { animation-delay: .36s; }
}

/* A72e — Moins d'animations demandé par l'appareil */
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .pp-fade { opacity: 1; filter: none; transform: none; transition: none !important; }
}

/* A73 — Série 2 des animations (23/10, maquettes validées par Ethan) : haut de page, langue avec drapeaux, liens, boutons contour, profondeur des en-têtes, logo, partenaires, score, effectif, boutique (trait du filtre), formulaires, visionneuse, lien copié. Scripts pp-s2-*. Rien ne bouge si l'appareil demande moins d'animations. */
/* A73a — Bouton « haut de page » avec anneau de progression (script pp-s2-totop) */
.pp-totop { position: fixed; right: 20px; bottom: 20px; z-index: 89; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: #141414; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.35); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s ease, transform .25s cubic-bezier(.2,.8,.2,1), bottom .25s cubic-bezier(.2,.8,.2,1); }
.pp-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
.pp-totop:hover { background: #1f1f1f; }
.pp-totop:focus-visible { outline: none; box-shadow: 0 0 0 3px #fff, 0 0 0 6px #dd1f1f; }
.pp-totop svg.pp-totop__ring { position: absolute; inset: 0; transform: rotate(-90deg); }
.pp-totop svg.pp-totop__ar { position: relative; }
body:has(.pp-sticky-cta.is-on) .pp-totop { bottom: 88px; }
.pp-lb-open .pp-totop, body.showing-popup-drawer-from-right .pp-totop, body:has(.cmplz-cookiebanner.cmplz-show) .pp-totop { opacity: 0; pointer-events: none; }
@media print { .pp-totop { display: none; } }

/* A73b — Langue : drapeaux français et américain, pastille qui glisse (menu mobile) */
.pp-dr-lang { position: relative; isolation: isolate; }
.pp-dr-lang::before { content: ""; position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 999px; background: #fff; z-index: -1; transition: transform .24s cubic-bezier(.2,.8,.2,1); }
.pp-dr-lang:has(a:last-child[aria-current])::before, .pp-dr-lang.is-to-2::before { transform: translateX(100%); }
.pp-dr-lang.is-to-1::before { transform: none; }
.pp-dr-lang a { gap: 6px; min-width: 64px; transition: color .2s ease; }
.pp-dr-lang a[aria-current] { background: transparent; }
.pp-dr-lang.is-to-1 a:first-child, .pp-dr-lang.is-to-2 a:last-child { color: #0a0a0a; }
.pp-dr-lang.is-to-1 a:last-child, .pp-dr-lang.is-to-2 a:first-child { color: #fff; }
.pp-dr-lang a::before, #site-navigation li.lang-item a .pll-switcher-label::before { content: ""; display: inline-block; width: 18px; height: 12px; border-radius: 2px; background: center / cover no-repeat; box-shadow: 0 0 0 1px rgba(255,255,255,.35); flex: 0 0 auto; }
.pp-dr-lang a:first-child::before, #site-navigation li.lang-item-fr a .pll-switcher-label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'%3E%3Crect width='1' height='2' fill='%23002395'/%3E%3Crect x='1' width='1' height='2' fill='%23ffffff'/%3E%3Crect x='2' width='1' height='2' fill='%23ED2939'/%3E%3C/svg%3E"); }
.pp-dr-lang a:last-child::before, #site-navigation li.lang-item-en a .pll-switcher-label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 10'%3E%3Crect width='19' height='10' fill='%23B22234'/%3E%3Cg fill='%23ffffff'%3E%3Crect y='.77' width='19' height='.77'/%3E%3Crect y='2.31' width='19' height='.77'/%3E%3Crect y='3.85' width='19' height='.77'/%3E%3Crect y='5.38' width='19' height='.77'/%3E%3Crect y='6.92' width='19' height='.77'/%3E%3Crect y='8.46' width='19' height='.77'/%3E%3C/g%3E%3Crect width='7.6' height='5.38' fill='%233C3B6E'/%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='1.1' cy='.9' r='.3'/%3E%3Ccircle cx='2.9' cy='.9' r='.3'/%3E%3Ccircle cx='4.7' cy='.9' r='.3'/%3E%3Ccircle cx='6.5' cy='.9' r='.3'/%3E%3Ccircle cx='2' cy='2' r='.3'/%3E%3Ccircle cx='3.8' cy='2' r='.3'/%3E%3Ccircle cx='5.6' cy='2' r='.3'/%3E%3Ccircle cx='1.1' cy='3.1' r='.3'/%3E%3Ccircle cx='2.9' cy='3.1' r='.3'/%3E%3Ccircle cx='4.7' cy='3.1' r='.3'/%3E%3Ccircle cx='6.5' cy='3.1' r='.3'/%3E%3Ccircle cx='2' cy='4.3' r='.3'/%3E%3Ccircle cx='3.8' cy='4.3' r='.3'/%3E%3Ccircle cx='5.6' cy='4.3' r='.3'/%3E%3C/g%3E%3C/svg%3E"); }
#site-navigation li.lang-item a .pll-switcher-label { display: inline-flex; align-items: center; gap: 8px; }

/* A73c — Liens dans les textes : trait fin au repos, le trait rouge se dessine au survol */
.elementor-widget-text-editor p a:not(.pp-btn):not(.elementor-button):not([href^="mailto:"]):not([href^="tel:"]) { text-decoration: none; background-image: linear-gradient(var(--color-brand, #dd1f1f), var(--color-brand, #dd1f1f)), linear-gradient(color-mix(in srgb, currentColor 40%, transparent), color-mix(in srgb, currentColor 40%, transparent)); background-repeat: no-repeat; background-position: 0 100%, 0 100%; background-size: 0% 2px, 100% 1px; padding-bottom: 2px; transition: background-size .28s cubic-bezier(.2,.8,.2,1); }
.elementor-widget-text-editor p a:not(.pp-btn):not(.elementor-button):not([href^="mailto:"]):not([href^="tel:"]):hover, .elementor-widget-text-editor p a:not(.pp-btn):not(.elementor-button):not([href^="mailto:"]):not([href^="tel:"]):focus-visible { background-size: 100% 2px, 100% 1px; }

/* A73d — Boutons contour : le rouge se remplit depuis la gauche au survol */
.pp-btn--outline .elementor-button, a.pp-btn.pp-btn--outline { position: relative; isolation: isolate; overflow: hidden; }
.pp-btn--outline .elementor-button::before, a.pp-btn.pp-btn--outline::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--color-brand, #dd1f1f); transform: scaleX(0); transform-origin: 0 50%; transition: transform .32s cubic-bezier(.2,.8,.2,1); }
.pp-btn--outline .elementor-button:hover, .pp-btn--outline .elementor-button:focus-visible, a.pp-btn.pp-btn--outline:hover, a.pp-btn.pp-btn--outline:focus-visible { border-color: var(--color-brand, #dd1f1f); color: #fff; }
.pp-btn--outline .elementor-button:hover::before, .pp-btn--outline .elementor-button:focus-visible::before, a.pp-btn.pp-btn--outline:hover::before, a.pp-btn.pp-btn--outline:focus-visible::before { transform: none; }

/* A73e — En-têtes : profondeur au défilement, ordinateur seulement (script pp-s2-plx) */
.pp-plx .pp-hero--kb .pp-hero__kb { top: -160px; will-change: translate; }

/* A73f — Logo dessiné à la première visite de l'accueil (script pp-s2-logo) */
.pp-logo-draw { position: fixed; z-index: 100; margin: 0; pointer-events: none; overflow: visible; }
.pp-logo-draw path { stroke-dasharray: 1; stroke-dashoffset: 1; stroke-width: 40; fill-opacity: 0; animation: pp-lg-d 1s cubic-bezier(.4,0,.2,1) forwards, pp-lg-f .4s ease .9s forwards; }
@keyframes pp-lg-d { to { stroke-dashoffset: 0; } }
@keyframes pp-lg-f { to { fill-opacity: 1; stroke-opacity: 0; } }

/* A73g — Partenaires : bandeau de logos qui défile, prêt pour .pp-marquee (script pp-s2-marquee) */
.pp-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.pp-marquee__track { display: flex; gap: var(--space-5, 24px); width: max-content; animation: pp-mq 30s linear infinite; }
.pp-marquee:hover .pp-marquee__track, .pp-marquee:focus-within .pp-marquee__track { animation-play-state: paused; }
@keyframes pp-mq { to { transform: translateX(-50%); } }

/* A73h — Score final : après le défilement des chiffres, le vainqueur ressort et le perdant s'atténue */
.pp-match:has(.pp-match__score.is-win) .pp-match__team:not(:has(.pp-match__score.is-win)) { opacity: .45; transition: opacity .35s ease 1.1s; }
.pp-match:has(.pp-match__score.is-win) .pp-match__team:has(.pp-match__score.is-win) .pp-match__name { color: var(--text-primary); font-weight: 700; }
.pp-motion-on .pp-match:has(.pp-match__score[data-roll]):not(:has(.pp-match__score.is-rolled)) .pp-match__team { opacity: 1; transition: none; }

/* A73i — Formulaires : libellés qui remontent et trait rouge au focus (script pp-s2-forms) */
.frm-fluent-form .ff-el-group.pp-fl { position: relative; }
.frm-fluent-form .ff-el-group.pp-fl > .ff-el-input--label { position: absolute; left: 15px; top: 17px; z-index: 1; margin: 0; padding: 0; pointer-events: none; transform-origin: 0 0; transition: transform .2s cubic-bezier(.2,.8,.2,1); }
.frm-fluent-form .ff-el-group.pp-fl > .ff-el-input--label label { margin: 0; font-size: 15px; font-weight: 500; color: var(--text-secondary); transition: color .2s ease; }
.frm-fluent-form .ff-el-group.pp-fl .ff-el-form-control { min-height: 58px; padding: 24px 14px 8px; background-image: linear-gradient(var(--color-brand, #dd1f1f), var(--color-brand, #dd1f1f)); background-repeat: no-repeat; background-position: 50% 100%; background-size: 0% 2px; transition: background-size .25s cubic-bezier(.2,.8,.2,1), border-color .2s ease, box-shadow .2s ease; }
.frm-fluent-form .ff-el-group.pp-fl textarea.ff-el-form-control { padding-top: 28px; }
.frm-fluent-form .ff-el-group.pp-fl .ff-el-form-control:focus { background-size: 100% 2px; }
.frm-fluent-form .ff-el-group.pp-fl:has(.ff-el-form-control:focus) > .ff-el-input--label, .frm-fluent-form .ff-el-group.pp-fl:has(.ff-el-form-control:not(:placeholder-shown)) > .ff-el-input--label { transform: translateY(-11px) scale(.75); }
.frm-fluent-form .ff-el-group.pp-fl:has(.ff-el-form-control:focus) > .ff-el-input--label label { color: var(--text-accent, #dd1f1f); }

/* A73j — Formulaires : erreur de saisie, le champ tremble et le message glisse dessous */
@keyframes pp-shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
@keyframes pp-err-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.frm-fluent-form .ff-el-is-error .ff-el-form-control, .frm-fluent-form .ff-el-is-error .pp-ff-chips { animation: pp-shake .32s cubic-bezier(.36,.07,.19,.97) both; }
.frm-fluent-form .ff-el-is-error .error { animation: pp-err-in .25s ease both; }

/* A73k — Samedi d'essai : contour rouge sur la date choisie, les autres s'atténuent */
.pp-ff-chip { transition: opacity .25s ease, border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.pp-ff-chip:hover, .pp-ff-chip:focus { background: transparent; color: var(--text-primary); box-shadow: none; }
.pp-ff-chips .pp-ff-chip:focus-visible { box-shadow: var(--focus-ring, 0 0 0 3px rgba(221,31,31,.35)); }
.pp-ff-chip[aria-checked="true"] { background: transparent; color: inherit; border-color: var(--pp-red, #dd1f1f); box-shadow: inset 0 0 0 1px var(--pp-red, #dd1f1f); }
.pp-ff-chip[aria-checked="true"] span { color: var(--text-secondary); }
.pp-ff-chips:has(.pp-ff-chip[aria-checked="true"]) .pp-ff-chip:not([aria-checked="true"]) { opacity: .5; }
.pp-ff-chips:has(.pp-ff-chip[aria-checked="true"]) .pp-ff-chip:not([aria-checked="true"]):hover, .pp-ff-chips .pp-ff-chip:focus-visible { opacity: 1; }

/* A73l — Cases à cocher : la case se tasse et la coche se trace */
.frm-fluent-form input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; margin: 0 8px 0 0; flex: 0 0 auto; vertical-align: -5px; border: 2px solid var(--border-strong, #767676); border-radius: 5px; background: transparent no-repeat 2px 50% / 0 14px; cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.frm-fluent-form input[type="checkbox"]:checked { border-color: var(--pp-red, #dd1f1f); background-color: var(--pp-red, #dd1f1f); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: 14px 14px; animation: pp-ck-press .2s ease, pp-ck-draw .28s cubic-bezier(.2,.8,.2,1) .05s both; }
.frm-fluent-form input[type="checkbox"]:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(221,31,31,.45); }
@keyframes pp-ck-press { 50% { transform: scale(.88); } }
@keyframes pp-ck-draw { from { background-size: 0 14px; } to { background-size: 14px 14px; } }

/* A73m — Lien copié (abonnement à l'agenda) : message qui glisse en bas de l'écran (script pp-s2-copy) */
.pp-toast { position: fixed; left: 50%; bottom: 24px; z-index: 100001; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 8px; background: #fff; color: #0a0a0a; font-family: var(--font-body); font-size: 14px; font-weight: 600; box-shadow: 0 8px 24px rgba(0,0,0,.35); transform: translate(-50%, 160%); opacity: 0; pointer-events: none; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .3s ease; }
.pp-toast.is-on { transform: translate(-50%, 0); opacity: 1; }

/* A73n — Boutique : le trait sous le filtre actif glisse d'un filtre à l'autre (script pp-s2-shop) */
.elementor .pp-filter.pp-has-ind { position: relative; }
.elementor .pp-filter.pp-has-ind .pp-filter__btn[aria-pressed="true"] { border-bottom-color: transparent; }
.pp-filter__ind { position: absolute; left: 0; bottom: 0; height: var(--border-width-bold, 3px); width: 1px; background: var(--text-accent, #dd1f1f); transform-origin: 0 50%; pointer-events: none; transition: transform .3s cubic-bezier(.2,.8,.2,1); }

/* A73o — Moins d'animations demandé par l'appareil */
@media (prefers-reduced-motion: reduce) {
  .pp-totop, .pp-dr-lang::before, .pp-dr-lang a, .elementor-widget-text-editor p a:not(.pp-btn), .pp-btn--outline .elementor-button::before, a.pp-btn.pp-btn--outline::before, .frm-fluent-form .ff-el-group.pp-fl > .ff-el-input--label, .frm-fluent-form .ff-el-group.pp-fl .ff-el-form-control, .pp-ff-chip, .pp-toast, .pp-match__team, .pp-filter__ind { transition: none !important; }
  .pp-logo-draw { display: none; }
  .pp-marquee__track { animation: none; flex-wrap: wrap; width: auto; }
  .frm-fluent-form .ff-el-is-error .ff-el-form-control, .frm-fluent-form .ff-el-is-error .pp-ff-chips, .frm-fluent-form .ff-el-is-error .error, .frm-fluent-form input[type="checkbox"]:checked { animation: none; }
}

/* A74 — 23/10 : (1) le logo de l'accueil se redessine à chaque chargement de l'accueil (script pp-s2-logo modifié, plus de « une fois par visite ») ; (2) fiches joueurs : une fois la carte retournée au survol, elle s'incline doucement vers la souris (script pp-s2-tilt), sans reflet. Ordinateur avec souris seulement ; rien si moins d'animations. */
@media (hover: hover) and (pointer: fine) {
  .pp-flip.pp-tilt:hover .pp-player__inner { transform: rotateY(180deg) rotateX(var(--pp-rx, 0deg)) rotateY(var(--pp-ry, 0deg)); }
  .pp-flip.pp-tilt.is-tilting:hover .pp-player__inner { transition: transform .18s ease-out; }
}

/* A75 — Mode sombre : dans les classements, les cartes de match et la fiche d'un match, le logo de Paris est posé dans un carré blanc comme ceux des adversaires (version du logo pour fond clair). Mode clair inchangé. */
@media (prefers-color-scheme: dark) {
  .pp-match__logo img[src*="logo-principal-fond-clair"], .pp-tm-logo img[src*="logo-principal-fond-clair"] { object-position: 50% 50%; background: #ffffff; border-radius: var(--radius-sm); padding: 2px; box-sizing: border-box; }
  .pp-fm-logo img[src*="logo-principal-fond-clair"] { object-position: 50% 50%; background: none; }
}

/* A76 — Logo de l'accueil, transition retravaillée : le vrai logo est caché dès l'affichage de la page (plus d'apparition puis disparition), le dessin utilise la même version que le logo affiché, chaque partie se remplit juste après son tracé, puis le vrai logo reprend la place sous le dessin qui s'efface en fondu. Sécurité : le logo réapparaît seul après 3 s si le script ne tourne pas. Script pp-s2-logo. */
@keyframes pp-logo-safe { to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  body.home #masthead a.brand img.custom-logo:not(.pp-logo-shown) { opacity: 0; animation: pp-logo-safe .01s linear 3s forwards; }
}
.pp-logo-draw path { stroke-linejoin: round; stroke-linecap: round; }

/* A77 — Corrections de la passe complète du 23/10 (nuit) : bandeau d'albums de l'accueil remis comme avant A73g, liens des fiches d'événement lisibles en mode sombre, bouton ZIP de l'identité visuelle (EN) qui débordait sur mobile, liste des matchs plus lisible sur téléphone, résultats de recherche sans le nom d'utilisateur, case Matomo de la politique de confidentialité aux couleurs du site, focus visible sur le bouton du menu mobile, « AFL Championship » coupé au milieu du mot, calendrier et galeries sur tablette, gros boutons sur téléphone, échantillons de typo, filtres qui défilent. */
/* A77a — Bandeau d'albums de l'accueil : vitesse, espacement et boucle d'origine (A73g les avait écrasés) */
.pp-marquee__track { gap: var(--space-3); animation: pp-marquee var(--pp-mq-d, 60s) linear infinite; }
.pp-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.elementor .pp-marquee { -webkit-mask-image: none; mask-image: none; }
@media (prefers-reduced-motion: reduce) { .pp-marquee__track { animation: none; flex-wrap: nowrap; width: max-content; } .pp-marquee { -webkit-mask-image: none; mask-image: none; } }

/* A77b — Fiches d'événement : liens du texte en rouge du site (en mode sombre ils étaient noirs sur fond noir) */
.tribe-events-single-event-description a, .tribe-events-content a { color: var(--text-accent, #dd1f1f); text-decoration: underline; text-underline-offset: 3px; }

/* A77c — Identité visuelle (EN) : le bouton « Download everything (.zip) » ne dépasse plus de l'écran sur téléphone */
.pp-pk-zip .elementor-button { max-width: 100%; white-space: normal; text-align: center; }

/* A77d — Liste des matchs (choisis un match) sur téléphone : la date passe au-dessus, le nom des équipes prend toute la largeur */
@media (max-width: 480px) {
  .pp-fm-list a { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; column-gap: 12px; }
  .pp-fm-list .pp-fm-list__d { grid-column: 1 / -1; font-size: 12px; color: var(--text-secondary); }
}

/* A77e — Résultats de recherche : le nom d'utilisateur WordPress de l'auteur n'est plus affiché */
.search-results .entry-meta .posted-by, .search-results .entry-meta .posted-by + .posted-on::before { display: none; }

/* A77f — Politique de confidentialité : case de refus du suivi Matomo aux couleurs du site */
#matomo-opt-out-form-embed input[type="checkbox"] { width: 20px; height: 20px; margin: 0 10px 0 0; vertical-align: -4px; accent-color: var(--color-brand, #dd1f1f); }
#matomo-opt-out-form-embed label, #matomo-opt-out-form-embed label strong { font-weight: 600; font-size: inherit; color: var(--text-primary); }

/* A77g — Bouton du menu mobile : contour de focus visible au clavier */
.menu-toggle-open:focus-visible, .menu-toggle-close:focus-visible { outline: 2px solid #dd1f1f; outline-offset: 2px; }

/* A77h — Cartes de match : l'intitulé de compétition (« AFL Championship ») ne se coupe plus au milieu d'un mot ; les badges passent à la ligne si besoin */
.pp-match__top { flex-wrap: wrap; row-gap: 6px; }
.pp-match__comp { word-break: normal; overflow-wrap: normal; }

/* A77i — Calendrier du planning : « Entraînement » ne déborde plus de sa case sur tablette */
.pp-cal-ev { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }

/* A77j — Galeries des albums sur tablette : les photos remplissent leur colonne */
.pp-gallery .gallery-icon > a { flex: 1 1 auto; width: 100%; }

/* A77k — Gros boutons (ex. « Adhérer sur AssoConnect ») sur téléphone : le texte revient à la ligne au lieu de toucher les bords */
@media (max-width: 480px) { a.pp-btn.pp-btn--lg, .pp-btn--lg .elementor-button { white-space: normal; text-align: center; padding-left: 20px; padding-right: 20px; } }

/* A77l — Identité visuelle : les échantillons de police « Aa » restent sur une ligne */
.pp-pk-type__s { white-space: nowrap; }

/* A77m — Filtres qui défilent sur téléphone (photos) : fondu à droite pour montrer qu'il y a la suite (script pp-a77-filter) */
.elementor .pp-filter.pp-filter--more { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); }

/* A78 — Harmonisation du 23/10 (corrections proposées dans la passe complète) : surtitres orange sur tous les bandeaux, contenu de l'agenda et des fiches match aligné sur la grille du site (1200 px), titre de l'identité visuelle à la taille des autres bandeaux, boutons de la page 404 sur une ligne, titre de la page de recherche (script pp-a78-search). */
/* A78a — Surtitres des bandeaux (week-end, fiches match, fiches d'événement, agenda) : orange comme partout ailleurs */
.pp-wk[data-part="hero"] .pp-eyebrow, .pp-ev-hero .pp-ev-eyebrow, .pp-evx-hero .pp-ev-eyebrow, .pp-fm-hero .pp-fm-ey { color: var(--pp-orange, #f7931e); }
.pp-ev-hero .pp-ev-eyebrow::before, .pp-evx-hero .pp-ev-eyebrow::before { background: currentColor; }

/* A78b — Agenda et fiches d'événement : même largeur et mêmes marges que le reste du site (contenu à 1200 px, aligné sur le logo) */
.single-tribe_events .content-container.site-container, .post-type-archive-tribe_events .content-container.site-container { max-width: 1240px; padding-left: 20px; padding-right: 20px; }

/* A78b2 — Fiches d'événement sur téléphone : marges du bandeau à 20 px comme le reste de la page (16 px avant) */
@media (max-width: 600px) { .pp-ev-hero { padding-left: 20px; padding-right: 20px; } }

/* A78c — Fiches match et liste des matchs : contenu aligné sur le logo de l'en-tête (il était décalé de 20 px) */
.pp-fm-wrap { max-width: 1240px; }

/* A78d — Identité visuelle : titre du bandeau à la même taille que les autres pages */
.page-id-6510 .pp-title .elementor-heading-title, .page-id-6516 .pp-title .elementor-heading-title { font-size: clamp(3rem, 9vw, 7.5rem); }
@media (max-width: 600px) { .page-id-6510 .pp-title .elementor-heading-title, .page-id-6516 .pp-title .elementor-heading-title { font-size: 56px; } }

/* A78e — Page 404 : les quatre boutons tiennent sur une ligne sur ordinateur (« Accueil » passait seul à la ligne) */
@media (min-width: 900px) { .error404 .pp-404-links { width: max-content; max-width: calc(100vw - 40px); } }
@media (max-width: 600px) { .error404 section.error .page-content, .search-no-results section.no-results .page-content { padding-left: 20px; padding-right: 20px; } }

/* A78f — Page de recherche : titre « Résultats pour … » ajouté par le script pp-a78-search */
.pp-search-head { margin: var(--space-6, 32px) 0 var(--space-5, 24px); }
.pp-search-head .pp-eyebrow { margin: 0 0 var(--space-2, 8px); }
.pp-search-head h1 { margin: 0; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1; letter-spacing: var(--tracking-display); color: var(--text-primary); }

/* A78g — Agenda et page 404 : le sélecteur de langue montre aussi son drapeau (le lien n'y a pas la même structure que sur les autres pages) */
#site-navigation li.lang-item > a:not(:has(.pll-switcher-label)) { display: inline-flex; align-items: center; gap: 8px; }
#site-navigation li.lang-item > a:not(:has(.pll-switcher-label))::before { content: ""; display: inline-block; width: 18px; height: 12px; border-radius: 2px; background: center / cover no-repeat; box-shadow: 0 0 0 1px rgba(255,255,255,.35); flex: 0 0 auto; }
#site-navigation li.lang-item-fr > a:not(:has(.pll-switcher-label))::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'%3E%3Crect width='1' height='2' fill='%23002395'/%3E%3Crect x='1' width='1' height='2' fill='%23ffffff'/%3E%3Crect x='2' width='1' height='2' fill='%23ED2939'/%3E%3C/svg%3E"); }
#site-navigation li.lang-item-en > a:not(:has(.pll-switcher-label))::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 10'%3E%3Crect width='19' height='10' fill='%23B22234'/%3E%3Cg fill='%23ffffff'%3E%3Crect y='.77' width='19' height='.77'/%3E%3Crect y='2.31' width='19' height='.77'/%3E%3Crect y='3.85' width='19' height='.77'/%3E%3Crect y='5.38' width='19' height='.77'/%3E%3Crect y='6.92' width='19' height='.77'/%3E%3Crect y='8.46' width='19' height='.77'/%3E%3C/g%3E%3Crect width='7.6' height='5.38' fill='%233C3B6E'/%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='1.1' cy='.9' r='.3'/%3E%3Ccircle cx='2.9' cy='.9' r='.3'/%3E%3Ccircle cx='4.7' cy='.9' r='.3'/%3E%3Ccircle cx='6.5' cy='.9' r='.3'/%3E%3Ccircle cx='2' cy='2' r='.3'/%3E%3Ccircle cx='3.8' cy='2' r='.3'/%3E%3Ccircle cx='5.6' cy='2' r='.3'/%3E%3Ccircle cx='1.1' cy='3.1' r='.3'/%3E%3Ccircle cx='2.9' cy='3.1' r='.3'/%3E%3Ccircle cx='4.7' cy='3.1' r='.3'/%3E%3Ccircle cx='6.5' cy='3.1' r='.3'/%3E%3Ccircle cx='2' cy='4.3' r='.3'/%3E%3Ccircle cx='3.8' cy='4.3' r='.3'/%3E%3Ccircle cx='5.6' cy='4.3' r='.3'/%3E%3C/g%3E%3C/svg%3E"); }

/* A78h — Agenda : bouton « Aujourd'hui / Ce mois-ci » lisible (il était gris très clair) */
.tribe-events .tribe-events-c-top-bar__today-button { color: var(--text-primary); border-color: var(--border-strong, #767676); display: inline-flex; align-items: center; }

/* A79 — En-tête qui se cache en descendant (réglage Kadence « réapparaître en remontant ») : plus d'à-coup. Téléphone et tablette : l'en-tête garde sa taille pendant qu'il glisse (le rétrécissement 72 → 60 px arrivait d'un coup au même moment). Ordinateur : le rétrécissement 80 → 60 px se fait en douceur, barre et logo ensemble. */
@media (max-width: 1024px) {
  #masthead #mobile-header .site-main-header-inner-wrap { height: 72px !important; min-height: 72px !important; max-height: 72px !important; }
  #masthead #mobile-header .item-is-stuck .site-branding a.brand img.custom-logo { height: 52px !important; max-height: none !important; }
}
#masthead #main-header .site-main-header-inner-wrap { transition: height .25s cubic-bezier(.2,.8,.2,1), min-height .25s cubic-bezier(.2,.8,.2,1), max-height .25s cubic-bezier(.2,.8,.2,1); }
#masthead #main-header .site-branding a.brand img.custom-logo { transition: height .25s cubic-bezier(.2,.8,.2,1) !important; }
#masthead #main-header .item-is-stuck .site-branding a.brand img.custom-logo { height: 56px !important; }
#masthead #main-header .site-main-header-inner-wrap[style*="max-height: 60px"] .site-branding a.brand img.custom-logo { height: 44px !important; }
@media (prefers-reduced-motion: reduce) { #masthead #main-header .site-main-header-inner-wrap, #masthead #main-header .site-branding a.brand img.custom-logo { transition: none !important; } }

/* A80 — Logo phoenix de l'en-tête : il se dessine à chaque chargement sur toutes les pages (plus seulement l'accueil). Le vrai logo est caché jusqu'à la fin du dessin ; il réapparaît seul après 3 s si le script ne tourne pas. Script pp-s2-logo. Avant : sauvegardes 7551 (widget) et cette page (CSS). */
@media (prefers-reduced-motion: no-preference) {
  #masthead a.brand img.custom-logo:not(.pp-logo-shown) { opacity: 0; animation: pp-logo-safe .01s linear 3s forwards; }
}
