/*
Theme Name: Collectif PLAY
Theme URI: https://collectifplay.com
Author: Collectif PLAY
Author URI: https://collectifplay.com
Description: Thème one-page du Collectif PLAY — parentalité numérique joyeuse. Design issu de la landing créée avec Claude. Polices et images embarquées (aucun appel à Google Fonts). Les contenus se modifient dans inc/contenu.php.
Version: 1.0.4
Requires at least: 5.9
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: collectif-play
Tags: one-column, custom-colors
*/

/* ==========================================================================
   Base
   ========================================================================== */
html, body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  color: #1F1D1A;
  font-family: 'Nunito', sans-serif;
}
.play-page { overflow-x: hidden; }
.play-page a { color: #3E7EC1; text-decoration: none; }
.play-page a:hover { color: #E8472B; }
.play-page img { max-width: 100%; }

/* ==========================================================================
   Boutons (remplacent les style-hover du design d'origine)
   ========================================================================== */
.play-btn {
  display: inline-block;
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  border-radius: 999px;
  transition: background .15s, color .15s, border-color .15s;
}
.play-page .play-btn-rouge { background: #E8472B; color: #FFFFFF; font-size: 18px; padding: 16px 34px; }
.play-page .play-btn-rouge:hover { background: #1F1D1A; color: #FFFFFF; }
.play-page .play-btn-creme { background: #FFFFFF; color: #1F1D1A; font-size: 17px; padding: 15px 32px; }
.play-page .play-btn-creme:hover { background: #1F1D1A; color: #FFFFFF; }
.play-page .play-btn-creme-petit { background: #FFFFFF; color: #1F1D1A; font-size: 15px; padding: 10px 22px; }
.play-page .play-btn-creme-petit:hover { background: #1F1D1A; color: #FFFFFF; }
.play-page .play-btn-contour { background: transparent; color: #FFFFFF; font-size: 17px; padding: 13px 28px; border: 2px solid #A8A296; }
.play-page .play-btn-contour:hover { border-color: #F6A81C; color: #F6A81C; }
.play-page .play-btn-ecrire { background: #E8472B; color: #FFFFFF; font-size: 16px; padding: 13px 28px; flex-shrink: 0; }
.play-page .play-btn-ecrire:hover { background: #1F1D1A; color: #FFFFFF; }

.play-page .play-lien-sobre { color: #1F1D1A; font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 17px; padding: 14px 8px; display: inline-block; }
.play-page .play-lien-sobre:hover { color: #E8472B; }
.play-page .play-footer-lien { color: #1F1D1A; font-weight: 700; }
.play-page .play-footer-lien:hover { color: #E8472B; }

/* ==========================================================================
   Mobile de triangles façon Calder — balancement doux
   ========================================================================== */
@keyframes playSwayA { from { transform: rotate(-2.4deg); } to { transform: rotate(2.4deg); } }
@keyframes playSwayB { from { transform: rotate(3.5deg); } to { transform: rotate(-3.5deg); } }
@keyframes playSwayT { from { transform: rotate(-5deg); } to { transform: rotate(5deg); } }

@media (prefers-reduced-motion: reduce) {
  .play-page svg g { animation: none !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 640px) {
  .play-hero-titre { font-size: 42px !important; }
  .play-h2 { font-size: 30px !important; }
  .play-carte-large { padding: 40px 28px !important; }
}

/* ==========================================================================
   Pages intérieures (page.php) — ex. mentions légales
   ========================================================================== */
.play-page-interne { max-width: 780px; margin: 0 auto; padding: 40px 32px 80px; }
.play-page-interne h1 { font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 42px; line-height: 1.1; margin: 0 0 28px; }
.play-page-interne h2, .play-page-interne h3 { font-family: 'Baloo 2', sans-serif; font-weight: 700; margin: 32px 0 10px; }
.play-page-interne p, .play-page-interne li { font-size: 17px; line-height: 1.7; color: #444038; }


/* ===== Correctif PLAY : suppression du debordement horizontal sur mobile (formes decoratives) ===== */
html{ overflow-x: clip; }
@media (max-width: 991.98px){
  .play-landing,
  .home main{ overflow-x: clip; }
}


/* ===== Bloc PLAYers personnalise : triangle blanc oriente vers le bas + logo rempli + petits triangles ===== */
#rejoindre{ position:relative; }
#rejoindre svg:has(path[fill="#FFFFFF"]){ transform:rotate(180deg); transform-origin:center; }
#rejoindre img{ content:url('https://collectifplay.com/wp-content/uploads/2026/07/logo_players_crop.png'); width:150px !important; height:auto !important; left:60px !important; top:70px !important; transform:rotate(35deg) !important; transform-origin:center !important; }
#rejoindre::after{ content:""; position:absolute; inset:0; pointer-events:none; z-index:4; background-repeat:no-repeat; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='rotate(20 50 50)'%3E%3Cpath d='M28 80 L72 80 Q80 80 74.34 74.34 L25.66 25.66 Q20 20 20 28 L20 72 Q20 80 28 80 Z' fill='%233E7EC1'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='rotate(200 50 50)'%3E%3Cpath d='M28 80 L72 80 Q80 80 74.34 74.34 L25.66 25.66 Q20 20 20 28 L20 72 Q20 80 28 80 Z' fill='%23E8472B'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='rotate(120 50 50)'%3E%3Cpath d='M28 80 L72 80 Q80 80 74.34 74.34 L25.66 25.66 Q20 20 20 28 L20 72 Q20 80 28 80 Z' fill='%23F6A81C'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='rotate(300 50 50)'%3E%3Cpath d='M28 80 L72 80 Q80 80 74.34 74.34 L25.66 25.66 Q20 20 20 28 L20 72 Q20 80 28 80 Z' fill='%2367AE3E'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='rotate(60 50 50)'%3E%3Cpath d='M28 80 L72 80 Q80 80 74.34 74.34 L25.66 25.66 Q20 20 20 28 L20 72 Q20 80 28 80 Z' fill='%23E8472B'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='rotate(150 50 50)'%3E%3Cpath d='M28 80 L72 80 Q80 80 74.34 74.34 L25.66 25.66 Q20 20 20 28 L20 72 Q20 80 28 80 Z' fill='%233E7EC1'/%3E%3C/g%3E%3C/svg%3E"); background-position:64% 60%,90% 30%,55% 83%,95% 74%,47% 17%,82% 90%; background-size:34px,22px,44px,18px,28px,16px; }


/* ===== Icones reseaux footer : petite icone au-dessus de chaque lien social ===== */
footer .play-footer-lien[href*="instagram"], footer .play-footer-lien[href*="linkedin"], footer .play-footer-lien[href*="substack"]{ display:inline-flex; flex-direction:column; align-items:center; gap:5px; }
footer .play-footer-lien[href*="instagram"]::before, footer .play-footer-lien[href*="linkedin"]::before, footer .play-footer-lien[href*="substack"]::before{ content:""; display:block; width:20px; height:20px; background-repeat:no-repeat; background-position:center; background-size:contain; }
footer .play-footer-lien[href*="instagram"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2A28' stroke-width='2'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.3' fill='%232B2A28' stroke='none'/%3E%3C/svg%3E"); }
footer .play-footer-lien[href*="linkedin"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='4' fill='%232B2A28'/%3E%3Cpath fill='%23fff' d='M6.94 8.5V18H4.2V8.5h2.74zM5.57 4.4a1.6 1.6 0 1 1 0 3.2 1.6 1.6 0 0 1 0-3.2zM9 8.5h2.63v1.3h.04c.37-.7 1.27-1.44 2.6-1.44 2.78 0 3.3 1.83 3.3 4.2V18h-2.74v-4.06c0-.97-.02-2.22-1.35-2.22-1.36 0-1.57 1.05-1.57 2.15V18H9V8.5z'/%3E%3C/svg%3E"); }
footer .play-footer-lien[href*="substack"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232B2A28'%3E%3Cpath d='M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z'/%3E%3C/svg%3E"); }


/* ==========================================================================
   NAVIGATION — en-tete, menu, fil d Ariane, pied de page, 404
   Ajoute le 25 juillet 2026.
   ========================================================================== */

:root {
  --play-creme: #FFFFFF;
  --play-perle: #F7F6F3;
  --play-papier: #F3F7FB;
  --play-encre: #1F1D1A;
  --play-doux: #6B675E;
  --play-bord: #E6E4DE;
  --play-rouge: #E8472B;
  --play-rouge-texte: #D13B22;
}

/* Lien d evitement */
.play-evitement {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--play-encre); color: var(--play-creme);
  padding: 12px 20px; border-radius: 0 0 12px 0;
  font-family: 'Baloo 2', sans-serif; font-weight: 700;
}
.play-evitement:focus { left: 0; }

/* En-tete */
.play-entete {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--play-bord);
}
.admin-bar .play-entete { top: 32px; }
.play-entete-interieur {
  max-width: 1080px; margin: 0 auto;
  padding: 10px 32px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.play-entete-logo { display: block; line-height: 0; flex-shrink: 0; }
.play-entete-logo img {
  width: 104px; height: auto; mix-blend-mode: multiply;
}

/* Menu */
.play-nav ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; align-items: center; gap: 4px;
}
.play-page .play-nav a {
  display: inline-block;
  font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 16px;
  padding: 10px 14px; border-radius: 999px;
  color: var(--play-encre); text-decoration: none;
  transition: background .15s, color .15s;
}
.play-page .play-nav a.play-nav-lien:hover,
.play-page .play-nav a.play-nav-lien:focus-visible { background: #EDEBE5; color: var(--play-encre); }
.play-page .play-nav a.play-nav-lien[aria-current="page"] {
  background: #EDEBE5; box-shadow: inset 0 -3px 0 var(--play-rouge-texte);
}
.play-page .play-nav a.play-nav-cta {
  background: var(--play-rouge-texte); color: #FFFFFF; margin-left: 8px; padding: 10px 20px;
}
.play-page .play-nav a.play-nav-cta:hover,
.play-page .play-nav a.play-nav-cta:focus-visible { background: var(--play-encre); color: #FFFFFF; }

/* Bouton menu — masque sur grand ecran */
.play-nav-bascule { position: absolute; opacity: 0; width: 1px; height: 1px; }
.play-nav-bouton { display: none; }

@media (max-width: 860px) {
  .play-entete-interieur { flex-wrap: wrap; padding: 8px 20px; }
  .play-nav-bouton {
    display: inline-flex; align-items: center; gap: 10px; cursor: pointer;
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 16px;
    color: var(--play-encre); padding: 10px 16px; border-radius: 999px;
    border: 2px solid var(--play-bord); min-height: 44px;
  }
  .play-nav-bascule:focus-visible + .play-nav-bouton { outline: 3px solid var(--play-rouge-texte); outline-offset: 2px; }
  .play-burger { width: 20px; height: 2px; background: var(--play-encre); position: relative; display: block; }
  .play-burger::before, .play-burger::after {
    content: ""; position: absolute; left: 0; width: 20px; height: 2px; background: var(--play-encre);
  }
  .play-burger::before { top: -6px; } .play-burger::after { top: 6px; }
  .play-nav { display: none; width: 100%; }
  .play-nav-bascule:checked ~ .play-nav { display: block; }
  .play-nav ul { flex-direction: column; align-items: stretch; gap: 2px; padding: 8px 0 14px; }
  .play-page .play-nav a { padding: 14px 16px; border-radius: 14px; font-size: 17px; }
  .play-page .play-nav a.play-nav-cta { margin: 8px 0 0; text-align: center; }
}

/* Fil d Ariane */
.play-ariane { margin: 0 0 28px; font-size: 15px; }
.play-ariane ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.play-ariane li + li::before { content: "›"; margin-right: 8px; color: var(--play-doux); }
.play-page .play-ariane a { color: var(--play-doux); text-decoration: underline; text-underline-offset: 3px; }
.play-page .play-ariane a:hover { color: var(--play-rouge-texte); }
.play-ariane span { color: var(--play-encre); font-weight: 700; }

/* Pied de page */
.play-pied { background: var(--play-perle); border-top: 1px solid var(--play-bord); padding: 56px 32px 32px; margin-top: 40px; }
.play-pied-colonnes {
  max-width: 1080px; margin: 0 auto;
  display: grid; gap: 36px;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
}
.play-pied-marque img { width: 96px; height: auto; mix-blend-mode: multiply; }
.play-pied-baseline { font-size: 15px; line-height: 1.6; color: #444038; margin: 14px 0 10px; max-width: 30ch; }
.play-pied-legal { font-size: 14px; color: var(--play-doux); margin: 0; }
.play-pied-bloc h2 {
  font-family: 'Baloo 2', sans-serif; font-size: 17px; margin: 0 0 12px; color: var(--play-encre);
}
.play-pied-bloc ul { list-style: none; margin: 0; padding: 0; }
.play-pied-bloc li { margin-bottom: 9px; }
.play-page .play-pied-bloc a, .play-page .play-pied-reseaux a, .play-page .play-pied-mentions a {
  color: #444038; font-size: 15px; text-decoration: none;
}
.play-page .play-pied-bloc a:hover, .play-page .play-pied-reseaux a:hover, .play-page .play-pied-mentions a:hover {
  color: var(--play-rouge-texte); text-decoration: underline;
}
.play-pied-bas {
  max-width: 1080px; margin: 40px auto 0; padding-top: 22px;
  border-top: 1px solid var(--play-bord);
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center;
}
.play-pied-reseaux { display: flex; gap: 20px; }
.play-pied-mentions { display: flex; flex-wrap: wrap; gap: 18px; font-size: 14px; }
@media (max-width: 860px) {
  .play-pied-colonnes { grid-template-columns: 1fr 1fr; }
  .play-pied-marque { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .play-pied-colonnes { grid-template-columns: 1fr; }
}

/* Page 404 */
.play-404 { text-align: center; padding-bottom: 40px; }
.play-404 .play-ariane ol { justify-content: center; }
.play-404-code {
  font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 96px; line-height: 1;
  color: var(--play-bord); margin: 24px 0 0;
}
.play-404 h1 { margin: 8px 0 18px; }
.play-404-texte { font-size: 19px; line-height: 1.65; color: #444038; max-width: 52ch; margin: 0 auto; }
.play-404-portes { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin: 34px 0 30px; }
.play-404-aide { font-size: 16px; color: #444038; max-width: 56ch; margin: 0 auto; line-height: 1.7; }
.play-page .play-btn-ligne {
  background: transparent; color: var(--play-encre); font-size: 17px; padding: 13px 26px;
  border: 2px solid var(--play-bord);
}
.play-page .play-btn-ligne:hover { border-color: var(--play-encre); color: var(--play-encre); }


/* Grille equipe — code court [play_equipe] */
.play-equipe-grille {
  display: grid; gap: 20px; margin: 32px 0 8px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.play-membre {
  background: #FFFFFF; border-radius: 24px; padding: 26px 24px 28px;
  border-top: 6px solid var(--play-rouge);
  display: flex; flex-direction: column; gap: 6px;
}
.play-membre-photo {
  width: 84px; height: 84px; border-radius: 50%; object-fit: cover; margin-bottom: 8px;
}
.play-membre-pastille {
  width: 84px; height: 84px; border-radius: 50%; display: block; margin-bottom: 8px;
}
.play-membre-nom {
  font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 21px;
  margin: 0; color: var(--play-encre); line-height: 1.2;
}
.play-membre-role { margin: 0; font-size: 16px; font-weight: 700; color: #444038; }
.play-membre-phrase { margin: 6px 0 0; font-size: 15px; line-height: 1.6; color: #6B675E; font-style: italic; }


/* Carte noire — compteur de membres dans la grille equipe */
.play-membre-compteur {
  background: #0E0E0E;
  border-top-color: var(--play-jaune, #F6A81C);
  justify-content: center;
  gap: 2px;
}
.play-compteur-chiffre {
  font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 64px; line-height: 1;
  color: #FFFFFF; display: block;
}
.play-compteur-titre {
  font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 21px;
  color: #FFFFFF; margin: 2px 0 10px;
}
.play-compteur-texte {
  font-size: 15px; line-height: 1.6; color: #FFFFFF; margin: 0;
}

.play-membre-compteur .play-compteur-chiffre,
.play-membre-compteur .play-compteur-titre,
.play-membre-compteur .play-compteur-texte,
.play-membre-compteur p {
  color: #FFFFFF !important;
}
