/**
 * Override styles
 */
/* ----- PARTAGE menu ----- */
.partage .a2a_kit .a2a_label {
    display: none;
}

/* ============================================================
 * GLOBAL RANKING (template-global-ranking.php + GlobalRanking.vue)
 * All global-ranking specific rules live here for easy maintenance.
 * The inner .friend-rank rows reuse the global .friend-rank styles
 * already present in style.css; only the outer card, the discipline
 * filters, the pagination and the rank number are defined below.
 * ============================================================ */

.page-template-template-global-ranking .find-my-friends {
    background-color: #fff;
    border-radius: 30px;
    margin-bottom: 70px;
    padding: 60px 100px;
}

#faq-section h1,
.page-template-template-global-ranking .find-my-friends h2 {
    color: #EE7E52;
    font-weight: 800;
    font-size: 40px;
    padding-left: 70px;
    line-height: 31px;
    background: url(img/find-friends-title.svg) 0 50% / 45px no-repeat;
    margin-bottom: 35px;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form {
    border: 3px solid #EE7E52;
    padding: 8px;
    border-radius: 36px;
    padding-left: 20px;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form input[type=text] {
    border: 0 none;
    width: unset;
    flex-grow: 1;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form input[type=text]::placeholder {
    color: #1C1C1C;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form input[type=button] {
    color: #fff;
    font-size: 27px;
    font-weight: 700;
    line-height: 56px;
    border-radius: 28px;
    text-align: center;
    background-color: #EE7E52;
    border: 0 none;
    padding: 0 44px;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form .global-ranking_search {
    background-color: #EE7E52;
    color: #fff;
    border: 0 none;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor: pointer;
    transition: all ease 200ms;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form .global-ranking_search:hover {
    background-color: #E3097D;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form .global-ranking_search svg {
    width: 24px;
    height: 24px;
    display: block;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form .global-ranking_reset {
    background-color: transparent;
    color: #E3097D;
    border: 2px solid #E3097D;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor: pointer;
    transition: all ease 200ms;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form .global-ranking_reset:hover {
    background-color: #E3097D;
    color: #fff;
}
.page-template-template-global-ranking .find-my-friends .friends_search_form .global-ranking_reset svg {
    width: 24px;
    height: 24px;
    display: block;
}

/* Discipline filters */
.page-template-template-global-ranking .global-ranking_filters {
    gap: 12px;
    margin-bottom: 35px;
}
.page-template-template-global-ranking .global-ranking_filter {
    color: #EE7E52;
    font-size: 18px;
    font-weight: 700;
    line-height: 44px;
    border-radius: 28px;
    text-align: center;
    background-color: #fff;
    border: 3px solid #EE7E52;
    padding: 0 28px;
    cursor: pointer;
    transition: all ease 200ms;
}
.page-template-template-global-ranking .global-ranking_filter:hover,
.page-template-template-global-ranking .global-ranking_filter.active {
    color: #fff;
    background-color: #EE7E52;
}

/* Company dropdown (histo-button style) */
.page-template-template-global-ranking .global-ranking_company-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #E3097D;
    font-size: 18px;
    font-weight: 700;
    line-height: 44px;
    border-radius: 28px;
    background-color: #fff;
    border: 3px solid #E3097D;
    padding: 0 44px 0 28px;
    cursor: pointer;
    transition: all ease 200ms;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23E3097D' d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 182.3c9.4 9.4 9.4 24.6 0 33.9L177 352.3c-9.4 9.4-24.6 9.4-33.9 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 14px;
}
.page-template-template-global-ranking .global-ranking_company-select:hover,
.page-template-template-global-ranking .global-ranking_company-select:focus {
    color: #fff;
    background-color: #E3097D;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23ffffff' d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 182.3c9.4 9.4 9.4 24.6 0 33.9L177 352.3c-9.4 9.4-24.6 9.4-33.9 0z'/%3E%3C/svg%3E");
    outline: none;
}
.page-template-template-global-ranking .global-ranking_company-select:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.page-template-template-global-ranking .global-ranking_company-select option {
    color: #1C1C1C;
    background-color: #fff;
}

/* Reset all filters (pink ghost pill) */
.page-template-template-global-ranking .global-ranking_reset-filters {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #E3097D;
    font-size: 18px;
    font-weight: 700;
    line-height: 44px;
    border-radius: 28px;
    background-color: #fff;
    border: 3px solid #E3097D;
    padding: 0 28px;
    cursor: pointer;
    transition: all ease 200ms;
}
.page-template-template-global-ranking .global-ranking_reset-filters svg {
    width: 18px;
    height: 18px;
}
.page-template-template-global-ranking .global-ranking_reset-filters:hover,
.page-template-template-global-ranking .global-ranking_reset-filters:focus {
    color: #fff;
    background-color: #E3097D;
}

/* Rank position number (always shown, medals handled by .friend-rank global CSS) */
.page-template-template-global-ranking .friend-rank_position {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.page-template-template-global-ranking .friend-rank_position_number {
    display: block;
    font-size: 18px;
    font-weight: 800;
    color: #E3097D;
    margin-top: 4px;
}

/* Pagination */
.page-template-template-global-ranking .global-ranking_pagination {
    margin-top: 35px;
    gap: 16px;
}

/* Loading spinner (replaces the "Chargement ..." text) */
.page-template-template-global-ranking .global-ranking_spinner {
    width: 46px;
    height: 46px;
    margin: 30px auto;
    border: 5px solid #FAD6C8;
    border-top-color: #EE7E52;
    border-radius: 50%;
    animation: global-ranking-spin 0.8s linear infinite;
}
@keyframes global-ranking-spin {
    to { transform: rotate(360deg); }
}
.page-template-template-global-ranking .global-ranking_page {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 52px;
    border-radius: 28px;
    text-align: center;
    background-color: #EE7E52;
    border: 0 none;
    padding: 0 36px;
    cursor: pointer;
    transition: opacity ease 200ms;
}
.page-template-template-global-ranking .global-ranking_page:disabled {
    opacity: .35;
    cursor: not-allowed;
}
.page-template-template-global-ranking .global-ranking_page_info {
    font-size: 18px;
    font-weight: 700;
    color: #1C1C1C;
}

/* Responsive: lighten the card padding on small screens */
@media screen and (max-width: 991px) {
    .page-template-template-global-ranking .find-my-friends {
        padding: 40px 20px;
    }
    .page-template-template-global-ranking .find-my-friends h2 {
        padding-left: 0;
        background: none;
    }
    .page-template-template-global-ranking .find-my-friends .friends_search_form {
        border: 3px solid #EE7E52;
        padding: 12px;
        border-radius: 36px;
    }
}

/* ----- UPDATE RANKING ----- */
.friend-rank .friend-rank_performances ul li strong {
    color: #1C1C1C !important;
}
.friend-rank.rank-1 .friend-rank_performances ul li strong,
.friend-rank.rank-2 .friend-rank_performances ul li strong,
.friend-rank.rank-3 .friend-rank_performances ul li strong {
    color: white !important;
}

.page-template-template-global-ranking .list_friends {
    margin-bottom: 2rem;
}

#reset_global_ranking_button {
    margin-left: 1rem;
}

@media only screen and (max-width: 800px) {
    #reset_global_ranking_button {
        margin-left: .1rem;
    }
    .page-template-template-global-ranking .find-my-friends .friends_search_form input[type=text] {
        border: 0 none;
        width: 62%;
    }
    .page-template-template-global-ranking .global-ranking_company-select {
        line-height: 40px;
        padding: 0 36px 0 20px;
        background-position: right 16px center;
    }
    .page-template-template-global-ranking .global-ranking_reset-filters {
        line-height: 40px;
        padding: 0 20px;
        font-size: 16px;
    }
}
/* ============================================================
 * FIX RESPONSIVE (template-global-ranking.php + GlobalRanking.vue)
 * All global-ranking specific rules live here for easy maintenance.
 * The inner .friend-rank rows reuse the global .friend-rank styles
 * already present in style.css; only the outer card, the discipline
 * filters, the pagination and the rank number are defined below.
 * ============================================================ */

/*.s__insta-wrapper {
    margin: -50% auto 100px;
}*/

@supports (-moz-appearance: none) {
    .share-section .a2a_svg svg {
        transform: translateY(-8px);
    }
}

@media only screen and (max-width: 991px) {
    .s__insta-wrapper {
        margin: -50% auto 100px;
    }
}

@media only screen and (min-width: 820px) {
    .page-template-template-frontpage #s1 .event-date {
        margin-bottom: 115px;
    }

    .s__insta-wrapper {
        margin: -25% auto 100px;
    }

    .share-section .a2a_svg svg {
        transform: translateY(-4px);
    }

    .swiper-horizontal .swiper-button-next,
    .swiper-horizontal .swiper-button-prev {
        --swiper-navigation-sides-offset: 20%;
        top: auto !important;
    }
}

@media only screen and (min-width: 1024px) {
    .s__insta-wrapper {
        margin: 0 auto 100px;
    }
    .a2a_s_instagram svg {
        transform: scale(1.5) translateY(-2px) !important;
    }
}

.connexion-wrapper {
    overflow: hidden;
}

.pmpro-login .img-fluid {
    width: 100%;
}

.arc_form_pmpro.account_content .account_block,
.arc_form_pmpro.account_content .register_block {
    position: relative !important;
    top: 0 !important;
}
.pmpro-login .arc_form_pmpro.account_content {
    height: auto !important;
    padding-bottom: 0;
}

@media only screen and (min-width: 768px) {
    .arc_form_pmpro.account_content .account_block,
    .arc_form_pmpro.account_content .register_block {
        max-width: 60%;
    }
}

@media only screen and (min-width: 1024px) {
    .arc_form_pmpro.account_content .account_block,
    .arc_form_pmpro.account_content .register_block {
        max-width: 100%;
    }

    .connexion-wrapper {
        max-width: 1320px;
    }

    .account_content:has(.register_block) {
        height: auto;
    }
}

#pmpro_search_authorisation_fields,
#pmpro_tos_fields,
.pmpro_lost_password-instructions {
    color: #333 !important;
}
.search_authorisation_checkbox,
.pmpro_label-inline {
    text-align: left !important;
}

.pmpro_captcha {
    margin: 0;
}
.pmpro_checkout-fields label {
    margin-bottom: 0;
}
@media only screen and (max-width: 991.98px) {
    .account_content form [type="checkbox"] + label {
        margin-bottom: 15px !important;
    }
    .account_content {
        padding-bottom: 30px !important;
    }
}

.pmpro_checkout-fields input {
    width: 100% !important;
}

.pmpro_btn-submit-checkout {
    border-color: linear-gradient(135deg, #E3097D 0%, #EE7E52 25%, #1e539e 50%, #EE7E52 75%, #E3097D 100%);
}

#faq-section {
    margin-bottom: 48px;
}

#faq-section h1 {
    padding-top: 60px;
    text-align: center;
}

/*
.page-template-template-global-ranking .find-my-friends h2 {
  color: #EE7E52;
  font-weight: 800;
  font-size: 40px;
  padding-left: 70px;
  line-height: 31px;
  background: url(img/find-friends-title.svg) 0 50% / 45px no-repeat;
  margin-bottom: 35px;
  }*/


/* ---- FIX RESPONSIVE ---- */
@media only screen and (max-width: 768px) {
    .page-template-template-frontpage .s2__pastille-compteur .global-counter-number.hundred span {
        width: 35px;
        height: 46px;
    }
    .page-template-template-frontpage .s2__pastille-compteur .global-counter-number.hundred {
        font-size: 22px;
        line-height: 46px;
    }
    .deduction-logged-in {
        padding-top: 100px;
    }
}
