/* Sélecteur de club — styles des shortcodes du mu-plugin capoeira-clubs. Palette : design-guide.md */

/* Sélecteur */
.cap-selecteur { display: inline-flex; align-items: center; gap: .5rem; font-family: "Open Sans", sans-serif; font-size: .875rem; font-weight: 600; color: #292524; }
/* Header : une seule barre, sticky (le wrapper du template part doit être sticky, pas seulement le groupe) */
header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 30; }
.site-clubbar { margin-left: auto; }
.site-clubbar .cap-selecteur__label { font-size: .8rem; }
.site-clubbar .cap-selecteur__select { padding: .3rem 1.6rem .3rem .5rem; font-size: .8rem; max-width: 215px; }
.cap-aller { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #0d9488; color: #ffffff; font-size: 1rem; text-decoration: none; transition: background .15s, transform .15s; }
.cap-aller:hover { background: #0f766e; color: #ffffff; transform: translateX(2px); }
.cap-selecteur__label { white-space: nowrap; }
.cap-selecteur__label i { color: #0d9488; }
.cap-selecteur__select { font: inherit; padding: .4rem 2rem .4rem .75rem; border: 2px solid #0d9488; border-radius: 4px; background: #fff; color: #292524; cursor: pointer; }
.cap-selecteur__select:focus { outline: 3px solid #5eead4; outline-offset: 1px; }

/* Réseaux sociaux du header */
.cap-reseaux { display: flex; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.cap-reseaux li { margin: 0; }
.cap-reseaux a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid #0d9488; color: #0d9488; font-size: .95rem; text-decoration: none; transition: background .15s, color .15s; }
.cap-reseaux a:hover { background: #0d9488; color: #ffffff; }

/* Groupe WhatsApp privé, sur la page du club */
.cap-whatsapp { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 12px; font-family: "Open Sans", sans-serif; }
.cap-whatsapp > i { font-size: 2.2rem; color: #16a34a; }
.cap-whatsapp div { flex: 1; display: flex; flex-direction: column; gap: .15rem; }
.cap-whatsapp strong { color: #14532d; font-size: 1rem; }
.cap-whatsapp span { color: #3f6212; font-size: .85rem; }
.cap-btn--whatsapp { background: #16a34a; color: #ffffff; }
.cap-btn--whatsapp:hover { background: #15803d; color: #ffffff; }
.cap-whatsapp--vide { background: #faf8f5; border-color: #e7e5e4; }
.cap-whatsapp--vide > i { color: #a8a29e; }
.cap-whatsapp--vide strong { color: #44403c; }
.cap-whatsapp--vide span { color: #78716c; }

/* Contact du pied de page */
.cap-contact p { margin: 0 0 .5rem; font-size: .9rem; color: #a8a29e; }
.cap-contact p i { color: #14b8a6; margin-right: 8px; width: 1em; text-align: center; }
.cap-contact a { color: inherit; }
.cap-contact a:hover { color: #5eead4; }
.cap-contact__qui { color: #ffffff !important; font-weight: 600; }
.cap-contact__web { margin-top: 1rem !important; font-size: .8rem !important; color: #78716c !important; }

/* Cartes des clubs (page Nos clubs) */
.cap-cartes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 1000px) { .cap-cartes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cap-cartes { grid-template-columns: 1fr; } }
.cap-carte { position: relative; display: flex; flex-direction: column; background: #ffffff; border: 1px solid #f5f5f4; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,.08); overflow: hidden; transition: transform .2s; }
.cap-carte:hover { transform: translateY(-4px); }
.cap-carte--selectionne { border: 2px solid #0d9488; }
.cap-carte__badge { position: absolute; top: 1rem; right: 1rem; z-index: 1; background: #0d9488; color: #ffffff; font: 700 .75rem/1 "Open Sans", sans-serif; letter-spacing: .06em; text-transform: uppercase; padding: .45rem .8rem; border-radius: 999px; }
.cap-carte__profs { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; padding: 1.5rem 1.5rem 0; }
.cap-carte__profs figure { margin: 0; text-align: center; font-size: .75rem; color: #57534e; }
.cap-carte__portrait { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; background: #f5f5f4; color: #a8a29e; font-size: 2rem; }
.cap-carte__manque { font-size: .85rem; color: #78716c; font-style: italic; }
.cap-carte__corps { padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.cap-carte__dept { margin: 0; font: 700 .75rem/1 "Open Sans", sans-serif; color: #0d9488; letter-spacing: .1em; }
.cap-carte__titre { margin: 0; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 1.35rem; color: #7c2d12; }
.cap-carte__desc { margin: .25rem 0; color: #292524; }
.cap-carte__lieux { margin: 0; padding: 0; list-style: none; font-size: .9rem; color: #44403c; }
.cap-carte__lieux i { color: #0d9488; margin-right: .3rem; }
.cap-carte__lieux a { color: #0f766e; font-weight: 600; }
.cap-carte__creneaux { margin: .25rem 0 0; padding: .75rem 1rem; list-style: none; background: #faf8f5; border-radius: 8px; font-size: .85rem; color: #292524; }
.cap-carte__creneaux li { margin: .2rem 0; }
.cap-carte__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: auto; padding-top: .75rem; }
.cap-btn { display: inline-block; padding: .65rem 1.25rem; border-radius: 4px; font: 700 .875rem/1.2 "Open Sans", sans-serif; text-decoration: none; transition: transform .15s; }
.cap-btn:hover { transform: translateY(-2px); }
.cap-btn--plein { background: #0d9488; color: #ffffff; }
.cap-btn--plein:hover { background: #0f766e; color: #ffffff; }
.cap-btn--contour { border: 2px solid #7c2d12; color: #7c2d12; background: transparent; }
.cap-btn--contour:hover { background: #fff7ed; color: #7c2d12; }

/* Section « Réseaux sociaux » de Nos clubs */
.cap-reseaux-clubs { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; }
.cap-reseaux-clubs__club { background: #ffffff; border-radius: 12px; padding: 1.25rem; box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.cap-reseaux-clubs__club h4 { margin: 0 0 .6rem; font-family: Montserrat, sans-serif; font-size: 1rem; color: #7c2d12; }
.cap-reseaux-clubs__club ul { margin: 0; padding: 0; list-style: none; }
.cap-reseaux-clubs__club li { margin: .3rem 0; font-size: .9rem; }
.cap-reseaux-clubs__club a { color: #0f766e; font-weight: 600; text-decoration: none; }
.cap-reseaux-clubs__club a:hover { text-decoration: underline; }
.cap-reseaux-clubs__club i { width: 1.4em; color: #0d9488; }
.cap-reseaux-clubs__vide { color: #78716c; font-style: italic; }

/* Surlignage du club actif dans les blocs qui portent la classe cap-club-<slug> */
body.club-boulogne .cap-club-boulogne, body.club-ris-orangis .cap-club-ris-orangis, body.club-plessis-pate .cap-club-plessis-pate,
body.club-bagneux .cap-club-bagneux, body.club-ste-anne .cap-club-ste-anne { outline: 3px solid #0d9488; outline-offset: 4px; border-radius: 12px; }

@media (max-width: 600px) {
  .cap-carte__profs { justify-content: center; }
}

/* Page Contact : cartes de contact */
.cap-contact-cartes { display: grid; gap: 1.25rem; }
.cap-contact-carte { background: #ffffff; border: 1px solid #e7e5e4; border-radius: 14px; padding: 1.5rem; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
.cap-contact-carte h3 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 1.1rem; color: #7c2d12; margin: 0 0 .5rem; }
.cap-contact-carte h3 i { color: #0d9488; margin-right: .4rem; }
.cap-contact-carte p { margin: 0 0 .5rem; color: #44403c; font-size: .95rem; }
.cap-contact-carte p i { color: #0d9488; width: 1.3em; }
.cap-contact-carte a { color: #0f766e; }
.cap-contact-carte__structure { color: #78716c !important; font-size: .85rem !important; }
.cap-contact-carte--choix { border: 2px dashed #0d9488; background: #f0fdfa; }
.cap-contact-carte--web { background: #faf8f5; }
