/* ============================================================
   EriFaye TV - Patch V6.6 CLEAN UI
   Corrections ciblées : catalogue search, spacing, cards abo,
   subscription intent publique.
   ============================================================ */

/* Sécurité : ne jamais afficher les anciens toolbars/search patchés dans le header */
header .ef-v65-catalog-toolbar,
nav .ef-v65-catalog-toolbar,
header .ef-v66-catalog-toolbar,
nav .ef-v66-catalog-toolbar,
header .ef-v65-catalog-search,
nav .ef-v65-catalog-search,
header .ef-v66-catalog-search,
nav .ef-v66-catalog-search {
    display: none !important;
}

body.ef-v66-catalog-page .ef-v65-catalog-toolbar,
body.ef-v66-catalog-page .ef-v65-catalog-search {
    display: none !important;
}

/* Ancien gros bloc search : en complément du remove() JS */
body.ef-v66-catalog-page .ef-v66-remove-original-search,
body.ef-v66-catalog-page .ef-v66-hide-original-search {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Search discret placé près du badge Catalogue du bloc contenu */
body.ef-v66-catalog-page .ef-v66-catalog-toolbar {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

body.ef-v66-catalog-page .ef-v66-catalog-toolbar .ef-v66-catalog-search {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body.ef-v66-catalog-page .ef-v66-search-toggle {
    appearance: none !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.055) !important;
    color: #fff !important;
    border-radius: 999px !important;
    min-height: 34px !important;
    padding: 7px 13px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    cursor: pointer !important;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

body.ef-v66-catalog-page .ef-v66-search-toggle:hover,
body.ef-v66-catalog-page .ef-v66-search-toggle:focus {
    border-color: rgba(242,12,24,.65) !important;
    background: rgba(242,12,24,.13) !important;
    box-shadow: 0 0 0 3px rgba(242,12,24,.12) !important;
    outline: none !important;
}

body.ef-v66-catalog-page .ef-v66-search-input {
    width: 0 !important;
    max-width: 0 !important;
    opacity: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(10,13,22,.92) !important;
    color: #fff !important;
    border-radius: 999px !important;
    min-height: 34px !important;
    padding: 0 !important;
    font-size: 13px !important;
    transition: width .18s ease, max-width .18s ease, opacity .14s ease, padding .18s ease !important;
}

body.ef-v66-catalog-page .ef-v66-catalog-search.is-open .ef-v66-search-input {
    width: 230px !important;
    max-width: min(230px, 42vw) !important;
    opacity: 1 !important;
    padding: 7px 13px !important;
}

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

body.ef-v66-catalog-page .ef-v66-search-input:focus {
    outline: none !important;
    border-color: rgba(242,12,24,.70) !important;
    box-shadow: 0 0 0 3px rgba(242,12,24,.12) !important;
}

body.ef-v66-catalog-page .ef-v66-search-feedback {
    color: rgba(255,255,255,.60) !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

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

/* Catalogue : réduire le gros vide title/subtitle -> contenu sans faire passer le titre sous le header */
body.ef-v66-catalog-page .ef-hero-mini,
body.ef-v66-catalog-page .ef-page-title,
body.ef-v66-catalog-page .ef-page-header,
body.ef-v66-catalog-page .page-title,
body.ef-v66-catalog-page .page-title-area,
body.ef-v66-catalog-page .page-header,
body.ef-v66-catalog-page .inner-banner,
body.ef-v66-catalog-page .breadcrumb-area,
body.ef-v66-catalog-page .pq-breadcrumb,
body.ef-v66-catalog-page section[class*="breadcrumb" i],
body.ef-v66-catalog-page section[class*="page-title" i] {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
}

body.ef-v66-catalog-page .ef-hero-mini + section,
body.ef-v66-catalog-page .ef-page-title + section,
body.ef-v66-catalog-page .ef-page-header + section,
body.ef-v66-catalog-page .page-title + section,
body.ef-v66-catalog-page .page-title-area + section,
body.ef-v66-catalog-page .page-header + section,
body.ef-v66-catalog-page .inner-banner + section,
body.ef-v66-catalog-page .breadcrumb-area + section,
body.ef-v66-catalog-page .pq-breadcrumb + section {
    margin-top: 0 !important;
    padding-top: 15px !important;
}

/* Section catalogue / carousel : max ~50px après subtitle */
body.ef-v66-catalog-page .ef-v66-catalog-content-start,
body.ef-v66-catalog-page section:has(.ef-v66-catalog-toolbar),
body.ef-v66-catalog-page [class*="catalog" i]:not(header *):not(nav *) {
    margin-top: 0 !important;
}

body.ef-v66-catalog-page .ef-v66-toolbar-host {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-bottom: 10px !important;
}

/* Abonnements : cards plus compactes */
body.ef-v66-subscription-page .pricing-card,
body.ef-v66-subscription-page .price-card,
body.ef-v66-subscription-page .plan-card,
body.ef-v66-subscription-page .subscription-card,
body.ef-v66-subscription-page .ef-plan-card,
body.ef-v66-subscription-page .ef-subscription-card,
body.ef-v66-subscription-page [class*="pricing" i] .card,
body.ef-v66-subscription-page [class*="price" i] .card,
body.ef-v66-subscription-page [class*="plan" i] .card,
body.ef-v66-subscription-page [class*="subscription" i] .card {
    padding: 22px 24px !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    min-height: 0 !important;
}

body.ef-v66-subscription-page [class*="pricing" i] h2,
body.ef-v66-subscription-page [class*="pricing" i] h3,
body.ef-v66-subscription-page [class*="plan" i] h2,
body.ef-v66-subscription-page [class*="plan" i] h3,
body.ef-v66-subscription-page .pricing-card h2,
body.ef-v66-subscription-page .pricing-card h3,
body.ef-v66-subscription-page .plan-card h2,
body.ef-v66-subscription-page .plan-card h3 {
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
}

body.ef-v66-subscription-page [class*="pricing" i] p,
body.ef-v66-subscription-page [class*="plan" i] p,
body.ef-v66-subscription-page .pricing-card p,
body.ef-v66-subscription-page .plan-card p {
    margin-bottom: 12px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.ef-v66-subscription-page [class*="pricing" i] [class*="price" i],
body.ef-v66-subscription-page [class*="plan" i] [class*="price" i],
body.ef-v66-subscription-page .pricing-card .price,
body.ef-v66-subscription-page .plan-card .price {
    font-size: clamp(24px, 2.8vw, 34px) !important;
    line-height: 1.1 !important;
    margin: 16px 0 12px !important;
}

body.ef-v66-subscription-page [class*="pricing" i] ul,
body.ef-v66-subscription-page [class*="plan" i] ul,
body.ef-v66-subscription-page .pricing-card ul,
body.ef-v66-subscription-page .plan-card ul {
    margin-top: 14px !important;
    margin-bottom: 14px !important;
    gap: 8px !important;
}

body.ef-v66-subscription-page [class*="pricing" i] li,
body.ef-v66-subscription-page [class*="plan" i] li,
body.ef-v66-subscription-page .pricing-card li,
body.ef-v66-subscription-page .plan-card li {
    margin-bottom: 9px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.ef-v66-subscription-page [class*="pricing" i] .btn,
body.ef-v66-subscription-page [class*="plan" i] .btn,
body.ef-v66-subscription-page [class*="pricing" i] a[class*="btn" i],
body.ef-v66-subscription-page [class*="plan" i] a[class*="btn" i] {
    min-height: 46px !important;
    padding: 12px 18px !important;
    font-size: 13px !important;
    white-space: normal !important;
    max-width: 100% !important;
}

/* Gap titre -> contenu sur abonnements */
body.ef-v66-subscription-page .ef-hero-mini,
body.ef-v66-subscription-page .ef-page-title,
body.ef-v66-subscription-page .ef-page-header,
body.ef-v66-subscription-page .page-title,
body.ef-v66-subscription-page .page-title-area,
body.ef-v66-subscription-page .page-header,
body.ef-v66-subscription-page .inner-banner,
body.ef-v66-subscription-page .breadcrumb-area,
body.ef-v66-subscription-page .pq-breadcrumb,
body.ef-v66-subscription-page section[class*="breadcrumb" i],
body.ef-v66-subscription-page section[class*="page-title" i] {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
}

body.ef-v66-subscription-page .ef-hero-mini + section,
body.ef-v66-subscription-page .ef-page-title + section,
body.ef-v66-subscription-page .ef-page-header + section,
body.ef-v66-subscription-page .page-title + section,
body.ef-v66-subscription-page .page-title-area + section,
body.ef-v66-subscription-page .page-header + section,
body.ef-v66-subscription-page .inner-banner + section,
body.ef-v66-subscription-page .breadcrumb-area + section,
body.ef-v66-subscription-page .pq-breadcrumb + section {
    margin-top: 0 !important;
    padding-top: 15px !important;
}

/* Alerte parasite connecte-toi : le JS la supprime, ceci limite son impact si elle apparaît avant JS */
body.ef-v66-auth-page .ef-v66-login-required-alert,
body.ef-v66-hide-login-required-alert {
    display: none !important;
}

@media (max-width: 767.98px) {
    body.ef-v66-catalog-page .ef-v66-catalog-toolbar {
        gap: 8px !important;
        margin-bottom: 10px !important;
    }
    body.ef-v66-catalog-page .ef-v66-catalog-search.is-open {
        width: 100% !important;
        flex-wrap: wrap !important;
    }
    body.ef-v66-catalog-page .ef-v66-catalog-search.is-open .ef-v66-search-input {
        width: min(100%, 260px) !important;
        max-width: 100% !important;
    }
    body.ef-v66-catalog-page .ef-hero-mini,
    body.ef-v66-catalog-page .page-title,
    body.ef-v66-catalog-page .inner-banner,
    body.ef-v66-catalog-page .breadcrumb-area {
        padding-bottom: 14px !important;
    }
    body.ef-v66-subscription-page .pricing-card,
    body.ef-v66-subscription-page .price-card,
    body.ef-v66-subscription-page .plan-card,
    body.ef-v66-subscription-page .subscription-card,
    body.ef-v66-subscription-page [class*="pricing" i] .card,
    body.ef-v66-subscription-page [class*="plan" i] .card {
        padding: 18px !important;
        margin-bottom: 14px !important;
    }
}
