/*
Theme Name: Kadence Child
Template: kadence
*/

/* Évite le débordement horizontal causé par 100vw quand scrollbar verticale présente */
body { overflow-x: hidden; }

/* ── Header sticky + tagline ── */
#masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
    transition: box-shadow .2s;
}

/* Ticker fixé en haut (au-dessus de tout), masthead décalé en dessous */
.cab-live-ticker {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1001 !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
}
/* Pousser le masthead sticky sous le ticker (la valeur top du sticky devient 42px aussi pour que ça reste empilé au scroll) */
body #masthead {
    margin-top: 42px !important;
}
body #masthead.kadence-sticky-header,
body.kadence-sticky-header-active #masthead {
    top: 42px !important;
}
@media (max-width: 1024px) {
    .cab-live-ticker { min-height: 38px !important; }
    body #masthead { margin-top: 38px !important; }
    body #masthead.kadence-sticky-header { top: 38px !important; }
}

/* "Club de Parapente" sous le logo Cabri'AIR (ajouté en ::after sur .site-branding
   pour ne pas perturber le flex interne du lien .brand qui contient le logo image) */
.site-branding,
.mobile-site-branding {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
.site-branding::after,
.mobile-site-branding::after {
    content: "Club de Parapente";
    display: block !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #6b7785;
    margin-top: 2px;
    line-height: 1;
    white-space: nowrap;
}
/* Sur la home (header transparent au-dessus du hero) : tagline blanche */
body.home .site-branding::after,
body.home .mobile-site-branding::after {
    color: rgba(255,255,255,.92);
    text-shadow: 0 1px 4px rgba(0,0,0,.45);
}
body.home .kadence-sticky-header.header-is-sticky .site-branding::after,
body.home .kadence-sticky-header.header-is-sticky .mobile-site-branding::after {
    color: #6b7785 !important;
    text-shadow: none !important;
}

/* ═══ Annuaire membres — désactivation Masonry + CSS Grid ═══ */

/* Conteneur grille */
.um-directory .um-members-wrapper .um-members.um-members-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
    gap: 14px !important;
    padding: 8px !important;
    margin: 0 !important;
    height: auto !important;
    position: static !important;
}

/* Sizer Masonry : invisible */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-gutter-sizer {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Card membre — neutralise Masonry + nom au-dessus de la photo */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 12px 10px 14px !important;
    background: #fff !important;
    border: 1px solid #eef0f4 !important;
    border-radius: 8px !important;
    text-align: center;
    transition: border-color .2s, box-shadow .2s !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member:hover {
    border-color: var(--cab-orange, #e07a1f) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.07) !important;
}

/* Nom en premier (order 1), photo ensuite (order 2) */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card {
    order: 1 !important;
    width: 100% !important;
    padding-bottom: 0 !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo {
    order: 2 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 64px !important;
    height: 64px !important;
    flex-shrink: 0 !important;
    display: block !important;
}

/* Nom */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--cab-bleu-nuit, #0D1B2A) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    letter-spacing: -.01em;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-name a {
    color: var(--cab-bleu-nuit, #0D1B2A) !important;
    border-bottom: none !important;
    text-decoration: none !important;
}

/* Avatar */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo a img,
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo .um-avatar {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    border-radius: 50% !important;
    border: 2px solid #f0f2f5 !important;
    transition: border-color .2s;
    display: block !important;
    margin: 0 auto !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member:hover .um-member-photo a img {
    border-color: var(--cab-orange-vif, #f4a61c) !important;
}

/* Bouton "Modifier le profil" : entre nom et photo, hauteur fixe = pas de layout shift */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-members-edit-btn {
    position: static !important;
    height: 24px !important;
    line-height: 24px !important;
    margin: 2px 0 0 !important;
    opacity: 0 !important;
    transition: opacity .25s !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member:hover .um-member-card .um-members-edit-btn {
    opacity: 1 !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-members-edit-btn a.um-edit-profile-btn {
    display: inline-block !important;
    padding: 3px 10px !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--cab-orange, #e07a1f) !important;
    background: transparent !important;
    border: 1px solid var(--cab-orange, #e07a1f) !important;
    border-radius: 3px !important;
    text-decoration: none !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-members-edit-btn a.um-edit-profile-btn:before {
    display: none !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-members-edit-btn a.um-edit-profile-btn:hover {
    background: var(--cab-orange, #e07a1f) !important;
    color: #fff !important;
}

/* Status badge : invisible */
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-status {
    display: none !important;
}

/* Pagination */
.um-members-pagi,
.um-members-search-form,
.um-members-sorting {
    margin-top: 24px !important;
}

/* Mobile : 2 colonnes */
@media (max-width: 600px) {
    .um-directory .um-members-wrapper .um-members.um-members-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .um-directory .um-members-wrapper .um-members.um-members-grid .um-member {
        padding: 12px 8px !important;
    }
    .um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo,
    .um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo a img {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
    }
    .um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-name {
        font-size: 11.5px !important;
    }
}

/* ── Barre de recherche globale ── */
.cabriair-global-search {
    background: #f4f8fc;
    border-bottom: 1px solid #d0dce8;
    padding: 8px 20px;
}
.cabriair-global-search form {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    gap: 6px;
}
.cabriair-global-search input[type=search] {
    flex: 1;
    padding: 7px 12px;
    border: 1px solid #b0c4d8;
    border-radius: 4px;
    font-size: 0.9em;
    outline: none;
}
.cabriair-global-search input[type=search]:focus {
    border-color: #1a5c8a;
    box-shadow: 0 0 0 2px rgba(26,92,138,.15);
}
.cabriair-global-search button {
    background: #1a5c8a;
    color: #fff;
    border: none;
    padding: 7px 14px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
}
.cabriair-global-search button:hover { background: #e87722; }

/* ── Tableau Vols du Challenge ── */
.cab-vols-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-top: 12px;
}
.cab-vols-table thead tr {
    background: #1a5c8a;
    color: #fff;
}
.cab-vols-table th {
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap;
}
.cab-vols-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #eef0f4;
    vertical-align: middle;
    color: #0D1B2A;
}
.cab-vols-table tbody tr:nth-child(even) { background: #f7f9fc; }
.cab-vols-table tbody tr:hover { background: #eef4fa; }
.cab-vols-table td:last-child {
    font-weight: 600;
    color: #1a5c8a;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .cab-vols-table { font-size: 12px; }
    .cab-vols-table th, .cab-vols-table td { padding: 7px 8px; }
}

/* ── Grille sorties homepage [cabriair_sorties] ── */
.cab-sorties-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
@media (max-width: 900px) {
    .cab-sorties-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .cab-sorties-grid { grid-template-columns: 1fr; }
}

/* ── Page Le Club ── */
.le-club-page {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 16px 48px;
}
.club-intro {
    text-align: center;
    font-size: 1.1em;
    color: #555;
    margin: 0 auto 36px;
    max-width: 700px;
}
.club-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.club-section-wide { grid-column: 1 / -1; }
.club-section {
    background: #fff;
    border: 1px solid #e0e8f0;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: border-color .2s, box-shadow .2s;
}
.club-section:hover {
    border-color: #1a5c8a;
    box-shadow: 0 8px 24px rgba(0,0,0,.07);
}
.club-section-locked {
    background: #f8f9fb;
    border-color: #d0d8e4;
    opacity: .85;
}
.club-section-icon { font-size: 2em; line-height: 1; }
.club-section-title {
    font-size: 1.15em;
    font-weight: 700;
    color: #0D1B2A;
    margin: 0;
    line-height: 1.3;
}
.club-section-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: #444;
    font-size: .95em;
}
.club-section-body p { margin: 0; }
.club-btn {
    display: inline-block;
    padding: 8px 16px;
    background: #1a5c8a;
    color: #fff !important;
    border-radius: 6px;
    font-size: .9em;
    font-weight: 600;
    text-decoration: none !important;
    text-align: center;
    transition: background .2s;
    align-self: flex-start;
}
.club-btn:hover { background: #e87722 !important; color: #fff !important; }
.club-btn + .club-btn { margin-top: 4px; }
.club-btn-login { background: #e87722; }
.club-btn-login:hover { background: #c96010 !important; }
.club-prive-msg { color: #888; font-style: italic; }
.club-bureau-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}
.club-bureau-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f4f8fc;
    border: 1px solid #e0e8f0;
    border-radius: 10px;
    padding: 10px 14px 10px 10px;
    min-width: 180px;
    flex: 1 1 180px;
    max-width: 260px;
    transition: border-color .2s, box-shadow .2s;
}
.club-bureau-card:hover {
    border-color: #1a5c8a;
    box-shadow: 0 4px 12px rgba(0,0,0,.07);
}
.club-bureau-avatar-link { flex-shrink: 0; }
.club-bureau-avatar { border-radius: 50% !important; display: block !important; }
.club-bureau-info { display: flex; flex-direction: column; gap: 2px; }
.club-bureau-name { font-weight: 700; color: #0D1B2A; font-size: .92em; line-height: 1.2; }
.club-bureau-fonction {
    font-size: .78em;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #e87722;
}
@media (max-width: 600px) {
    .club-sections-grid { grid-template-columns: 1fr; }
    .club-section-wide { grid-column: auto; }
}

/* ── Hero buttons : les deux en transparent (mobile-friendly) ── */
.home .hero-cta a.primary,
.home .hero-cta a.ghost {
    background: transparent !important;
    color: #fff !important;
    border: 1.5px solid rgba(255,255,255,.7) !important;
}
.home .hero-cta a.primary:hover,
.home .hero-cta a.ghost:hover {
    background: rgba(255,255,255,.12) !important;
    border-color: #fff !important;
    transform: translateY(-2px);
}

/* ── Tag "Saison 2025-2026" : badge visible ── */
.cab-live-suptitle {
    display: inline-block !important;
    background: var(--cab-orange, #e87722) !important;
    color: #fff !important;
    padding: 6px 14px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

/* Force Le Club page fullwidth layout (fixes logged-in boxed issue) */
.page-id-4293 {
    max-width: 100% !important;
}
.page-id-4293 .site {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.page-id-4293 .content-bg {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.page-id-4293 #primary {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.page-id-4293 .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
