/* ============================================================
   EriFaye TV PATCH V6.2 REPAIR
   Objectif : stabiliser après V6.0/restore cassé
   - Catalogue : petit search aligné au badge Catalogue, ancien gros bloc retiré/neutralisé
   - Catalogue : réduire uniquement le gap title/subtitle -> catalogue, sans coller le titre au header
   - Abonnements : reformater les blocs Formule en compact
   - Ne touche pas aux choix binaires inscription déjà validés
   ============================================================ */

:root {
    --ef-v62-red: #f20c18;
    --ef-v62-red-dark: #bb0710;
    --ef-v62-bg: #070910;
    --ef-v62-card: rgba(255,255,255,0.055);
    --ef-v62-border: rgba(255,255,255,0.14);
    --ef-v62-text: #ffffff;
    --ef-v62-muted: rgba(255,255,255,0.74);
}

/* ============================================================
   Neutralisation des assets V5.8/V5.9/V6.0 qui ont pu laisser
   des marges négatives ou des blocs fantômes.
   ============================================================ */
body.ef-v62-catalog-page .ef-v58-catalog-toolbar,
body.ef-v62-catalog-page .ef-v59-catalog-toolbar,
body.ef-v62-catalog-page .ef-v60-catalog-toolbar,
body.ef-v62-catalog-page .ef-v62-catalog-toolbar {
    transform: none !important;
    top: auto !important;
}

body.ef-v62-catalog-page .ef-v58-hidden-original-search,
body.ef-v62-catalog-page .ef-v59-hidden-original-search,
body.ef-v62-catalog-page .ef-v60-hidden-original-search,
body.ef-v62-catalog-page .ef-v62-old-search-removed {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* ============================================================
   Catalogue : spacing propre.
   Important : on ne réduit PAS le gap header -> title ici.
   On réduit seulement le gap title/subtitle -> catalogue.
   ============================================================ */
body.ef-v62-catalog-page .ef-v62-page-title-block {
    margin-bottom: 4px !important;
    padding-bottom: 6px !important;
}

body.ef-v62-catalog-page .ef-v62-title-under-header-fix {
    padding-top: var(--ef-v62-title-fix-padding, 0px) !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-main-start,
body.ef-v62-catalog-page .ef-v62-catalog-main-start > .container,
body.ef-v62-catalog-page .ef-v62-catalog-main-start > .container-fluid {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-toolbar {
    width: min(100%, 1180px);
    margin: 0 auto 8px auto !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    position: relative;
    z-index: 8;
}

body.ef-v62-catalog-page .ef-v62-catalog-toolbar-badge {
    flex: 0 0 auto;
    margin: 0 !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 9px !important;
    flex: 0 1 auto;
}

body.ef-v62-catalog-page .ef-v62-catalog-search-toggle {
    min-height: 36px !important;
    border: 1px solid rgba(255,255,255,0.16) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.06) !important;
    color: #ffffff !important;
    padding: 8px 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search-toggle:hover,
body.ef-v62-catalog-page .ef-v62-catalog-search-toggle:focus {
    background: rgba(242,12,24,0.13) !important;
    border-color: rgba(242,12,24,0.65) !important;
    box-shadow: 0 0 0 4px rgba(242,12,24,0.13) !important;
    color: #ffffff !important;
    outline: none !important;
    transform: translateY(-1px);
}

body.ef-v62-catalog-page .ef-v62-search-icon,
body.ef-v62-catalog-page .ef-v62-search-label {
    color: #ffffff !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search-input {
    width: 0 !important;
    min-width: 0 !important;
    max-width: min(300px, calc(100vw - 130px)) !important;
    height: 36px !important;
    border: 1px solid rgba(255,255,255,0) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.08) !important;
    color: #ffffff !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    outline: none !important;
    transition: width 0.22s ease, opacity 0.18s ease, padding 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search-input::placeholder {
    color: rgba(255,255,255,0.64) !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search.is-open .ef-v62-catalog-search-input {
    width: min(300px, calc(100vw - 130px)) !important;
    padding: 0 14px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    border-color: rgba(255,255,255,0.18) !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search.is-open .ef-v62-catalog-search-input:focus {
    border-color: rgba(242,12,24,0.70) !important;
    box-shadow: 0 0 0 4px rgba(242,12,24,0.12) !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-filter-hidden {
    display: none !important;
}

body.ef-v62-catalog-page .ef-v62-catalog-search-feedback {
    color: rgba(255,255,255,0.68) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    white-space: nowrap;
    margin-left: 2px;
}

/* ============================================================
   Abonnements : cartes formules compactes.
   On réduit la hauteur sans changer la logique métier.
   ============================================================ */
body.ef-v62-subscription-page .ef-v62-page-title-block,
body.ef-v62-subscription-page .page-title,
body.ef-v62-subscription-page .page-title-area,
body.ef-v62-subscription-page .page-header,
body.ef-v62-subscription-page .inner-banner,
body.ef-v62-subscription-page .breadcrumb-area,
body.ef-v62-subscription-page .pq-breadcrumb {
    margin-bottom: 4px !important;
    padding-bottom: 8px !important;
}

body.ef-v62-subscription-page .ef-v62-plan-card,
body.ef-v62-subscription-page .pricing-card,
body.ef-v62-subscription-page .plan-card,
body.ef-v62-subscription-page .subscription-card,
body.ef-v62-subscription-page .abonnement-card,
body.ef-v62-subscription-page .pricing-item,
body.ef-v62-subscription-page .price-item,
body.ef-v62-subscription-page .pq-pricing-plan,
body.ef-v62-subscription-page .pq-price-box,
body.ef-v62-subscription-page .card:has(.ef-v62-plan-cta) {
    padding: 16px 16px !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    min-height: 0 !important;
}

body.ef-v62-subscription-page .ef-v62-plan-card h2,
body.ef-v62-subscription-page .ef-v62-plan-card h3,
body.ef-v62-subscription-page .pricing-card h2,
body.ef-v62-subscription-page .pricing-card h3,
body.ef-v62-subscription-page .plan-card h2,
body.ef-v62-subscription-page .plan-card h3,
body.ef-v62-subscription-page .subscription-card h2,
body.ef-v62-subscription-page .subscription-card h3,
body.ef-v62-subscription-page .abonnement-card h2,
body.ef-v62-subscription-page .abonnement-card h3,
body.ef-v62-subscription-page .pq-pricing-plan h2,
body.ef-v62-subscription-page .pq-pricing-plan h3,
body.ef-v62-subscription-page .pq-price-box h2,
body.ef-v62-subscription-page .pq-price-box h3 {
    font-size: clamp(18px, 2.2vw, 24px) !important;
    line-height: 1.16 !important;
    margin-bottom: 8px !important;
}

body.ef-v62-subscription-page .ef-v62-plan-card p,
body.ef-v62-subscription-page .pricing-card p,
body.ef-v62-subscription-page .plan-card p,
body.ef-v62-subscription-page .subscription-card p,
body.ef-v62-subscription-page .abonnement-card p,
body.ef-v62-subscription-page .pricing-item p,
body.ef-v62-subscription-page .pq-pricing-plan p,
body.ef-v62-subscription-page .pq-price-box p {
    font-size: 13px !important;
    line-height: 1.38 !important;
    margin-bottom: 8px !important;
}

body.ef-v62-subscription-page .ef-v62-plan-card ul,
body.ef-v62-subscription-page .pricing-card ul,
body.ef-v62-subscription-page .plan-card ul,
body.ef-v62-subscription-page .subscription-card ul,
body.ef-v62-subscription-page .abonnement-card ul,
body.ef-v62-subscription-page .pricing-item ul,
body.ef-v62-subscription-page .pq-pricing-plan ul,
body.ef-v62-subscription-page .pq-price-box ul {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    padding-top: 0 !important;
}

body.ef-v62-subscription-page .ef-v62-plan-card li,
body.ef-v62-subscription-page .pricing-card li,
body.ef-v62-subscription-page .plan-card li,
body.ef-v62-subscription-page .subscription-card li,
body.ef-v62-subscription-page .abonnement-card li,
body.ef-v62-subscription-page .pricing-item li,
body.ef-v62-subscription-page .pq-pricing-plan li,
body.ef-v62-subscription-page .pq-price-box li {
    font-size: 13px !important;
    line-height: 1.32 !important;
    margin-bottom: 5px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.ef-v62-subscription-page .ef-v62-plan-cta,
body.ef-v62-subscription-page .ef-v62-plan-card .btn,
body.ef-v62-subscription-page .pricing-card .btn,
body.ef-v62-subscription-page .plan-card .btn,
body.ef-v62-subscription-page .subscription-card .btn,
body.ef-v62-subscription-page .abonnement-card .btn,
body.ef-v62-subscription-page .pricing-item .btn,
body.ef-v62-subscription-page .pq-pricing-plan .btn,
body.ef-v62-subscription-page .pq-price-box .btn {
    min-height: 40px !important;
    padding: 9px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    margin-top: 8px !important;
    white-space: normal !important;
}

/* Texte clair sur fonds colorés/sombres. */
body.ef-v62-subscription-page .btn,
body.ef-v62-catalog-page .btn,
body.ef-v62-subscription-page [class*="badge" i],
body.ef-v62-catalog-page [class*="badge" i] {
    color: #ffffff;
}

/* Home : petit souffle sous le header, pas collé trop brutalement. */
body.ef-v62-home-page main > section:first-child,
body.ef-v62-home-page .main-content > section:first-child,
body.ef-v62-home-page .content-area > section:first-child,
body.ef-v62-home-page section[class*="banner" i]:first-of-type,
body.ef-v62-home-page section[class*="hero" i]:first-of-type,
body.ef-v62-home-page section[class*="slider" i]:first-of-type {
    margin-top: 6px !important;
}

@media (max-width: 767.98px) {
    body.ef-v62-catalog-page .ef-v62-catalog-toolbar {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-bottom: 6px !important;
        gap: 8px !important;
    }

    body.ef-v62-catalog-page .ef-v62-search-label {
        display: none !important;
    }

    body.ef-v62-catalog-page .ef-v62-catalog-search-toggle {
        width: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.ef-v62-catalog-page .ef-v62-catalog-search.is-open {
        flex: 1 1 auto;
        min-width: 0;
    }

    body.ef-v62-catalog-page .ef-v62-catalog-search.is-open .ef-v62-catalog-search-input {
        width: min(100%, calc(100vw - 150px)) !important;
        max-width: calc(100vw - 150px) !important;
    }

    body.ef-v62-catalog-page .ef-v62-catalog-search-feedback {
        display: none !important;
    }

    body.ef-v62-subscription-page .ef-v62-plan-card,
    body.ef-v62-subscription-page .pricing-card,
    body.ef-v62-subscription-page .plan-card,
    body.ef-v62-subscription-page .subscription-card,
    body.ef-v62-subscription-page .abonnement-card,
    body.ef-v62-subscription-page .pricing-item,
    body.ef-v62-subscription-page .price-item,
    body.ef-v62-subscription-page .pq-pricing-plan,
    body.ef-v62-subscription-page .pq-price-box,
    body.ef-v62-subscription-page .card:has(.ef-v62-plan-cta) {
        padding: 13px 13px !important;
        margin-bottom: 10px !important;
    }

    body.ef-v62-subscription-page .ef-v62-plan-card h2,
    body.ef-v62-subscription-page .ef-v62-plan-card h3,
    body.ef-v62-subscription-page .pricing-card h2,
    body.ef-v62-subscription-page .pricing-card h3,
    body.ef-v62-subscription-page .plan-card h2,
    body.ef-v62-subscription-page .plan-card h3,
    body.ef-v62-subscription-page .subscription-card h2,
    body.ef-v62-subscription-page .subscription-card h3,
    body.ef-v62-subscription-page .abonnement-card h2,
    body.ef-v62-subscription-page .abonnement-card h3,
    body.ef-v62-subscription-page .pq-pricing-plan h2,
    body.ef-v62-subscription-page .pq-pricing-plan h3,
    body.ef-v62-subscription-page .pq-price-box h2,
    body.ef-v62-subscription-page .pq-price-box h3 {
        font-size: 18px !important;
        margin-bottom: 6px !important;
    }

    body.ef-v62-subscription-page .ef-v62-plan-card p,
    body.ef-v62-subscription-page .pricing-card p,
    body.ef-v62-subscription-page .plan-card p,
    body.ef-v62-subscription-page .subscription-card p,
    body.ef-v62-subscription-page .abonnement-card p,
    body.ef-v62-subscription-page .pricing-item p,
    body.ef-v62-subscription-page .pq-pricing-plan p,
    body.ef-v62-subscription-page .pq-price-box p,
    body.ef-v62-subscription-page .ef-v62-plan-card li,
    body.ef-v62-subscription-page .pricing-card li,
    body.ef-v62-subscription-page .plan-card li,
    body.ef-v62-subscription-page .subscription-card li,
    body.ef-v62-subscription-page .abonnement-card li,
    body.ef-v62-subscription-page .pricing-item li,
    body.ef-v62-subscription-page .pq-pricing-plan li,
    body.ef-v62-subscription-page .pq-price-box li {
        font-size: 12.5px !important;
        line-height: 1.28 !important;
    }
}
