/* Boutons et étiquettes génériques, proposition A « Souligné » validée par Alex (#102, #109) : Anton en capitales, sans pilule ;
   action = mot crème souligné de bordeaux + flèche qui avance au survol ; filtre actif = mot crème souligné de bordeaux, compteur en exposant ;
   tailles uniquement par l'échelle (css/btp-typo-tokens.css). Chargé en dernier ; « html:not(#btp-a):not(#btp-b) body » passe devant les styles de page. */
:root { --btp-a-red: var(--btp-red, #C43A3A); --btp-a-cream: var(--btp-red-light, #F5E6D3); --btp-a-white: var(--btp-white, #EDF0F7); --btp-a-dim: rgba(237, 240, 247, 0.62); --btp-a-ls: var(--btp-ls-btn, 0.1em); }
:root:lang(ja), :root:lang(zh), :root:lang(ko) { --btp-a-ls: var(--btp-ls-caps, 0.04em); }

/* ---------- Actions ---------- */
html:not(#btp-a):not(#btp-b) body :is(.btp-btn, .btp-prog-ticket, .btp-social-google-cta, .btp-contact-inline button, .btp-newsletter-inline button, .btp-pm-book, .btp-pdf-btn, .btp-mt-resa, .btp-mobile-resa > button, .btp-ck-btn, .btp-cp-btn, .btp-embed-btn, .btp-home-event-cta) {
    display: inline-block !important; vertical-align: middle; min-height: 44px !important; width: auto; margin-left: 0; margin-right: 0;
    padding: max(0.35em, calc((44px - var(--btp-lh-6, 1.2) * 1em) / 2)) 0 !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    font-family: var(--btp-fd) !important; font-weight: 400 !important; font-size: var(--btp-t6) !important; line-height: var(--btp-lh-6, 1.2) !important;
    letter-spacing: var(--btp-a-ls) !important; text-transform: uppercase !important; color: var(--btp-a-cream) !important;
    text-decoration: underline !important; text-decoration-color: var(--btp-a-red) !important; text-decoration-thickness: 3px !important; text-underline-offset: 0.32em !important; text-decoration-skip-ink: none !important;
    white-space: normal !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; text-align: center;
    transform: none !important; transition: color 0.2s ease !important; cursor: pointer;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-btn, .btp-prog-ticket, .btp-social-google-cta, .btp-contact-inline button, .btp-newsletter-inline button, .btp-pm-book, .btp-pdf-btn, .btp-mt-resa, .btp-mobile-resa > button, .btp-ck-btn, .btp-cp-btn, .btp-embed-btn, .btp-home-event-cta)::after {
    content: '\2192'; display: inline-block; margin-left: 0.3em; text-decoration: none; font-family: var(--btp-fb) !important; font-weight: 600; letter-spacing: 0; transition: transform 0.2s ease;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-btn, .btp-prog-ticket, .btp-social-google-cta, .btp-contact-inline button, .btp-newsletter-inline button, .btp-pm-book, .btp-pdf-btn, .btp-mt-resa, .btp-mobile-resa > button, .btp-ck-btn, .btp-cp-btn, .btp-embed-btn, .btp-home-event-cta):is(:hover, :focus-visible) { color: var(--btp-a-white) !important; background: transparent !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-btn, .btp-prog-ticket, .btp-social-google-cta, .btp-contact-inline button, .btp-newsletter-inline button, .btp-pm-book, .btp-pdf-btn, .btp-mt-resa, .btp-mobile-resa > button, .btp-ck-btn, .btp-cp-btn, .btp-embed-btn, .btp-home-event-cta):hover::after { transform: translateX(5px); }
html:not(#btp-a):not(#btp-b) body :is(.btp-btn, .btp-prog-ticket, .btp-social-google-cta, .btp-contact-inline button, .btp-newsletter-inline button, .btp-pm-book, .btp-pdf-btn, .btp-mt-resa, .btp-mobile-resa > button, .btp-ck-btn, .btp-cp-btn, .btp-embed-btn, .btp-home-event-cta):focus-visible { outline: 2px solid var(--btp-a-cream) !important; outline-offset: 4px !important; }
/* Les libellés internes suivent le bouton ; les flèches écrites en dur cèdent la place à la flèche commune. */
html:not(#btp-a):not(#btp-b) body :is(.btp-btn, .btp-prog-ticket, .btp-social-google-cta, .btp-pm-book, .btp-home-event-cta) span:not(.btp-sr):not([aria-hidden="true"]) { font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; color: inherit !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-ticket, .btp-pm-book, .btp-social-google-cta, .btp-home-event-cta) > span[aria-hidden="true"], html:not(#btp-a):not(#btp-b) body .btp-social-google-cta > svg { display: none !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-book, .btp-home-event-cta)::after { content: '\2197' !important; }
/* Sur une photo : plaque marine à angles vifs pour rester lisible. */
html:not(#btp-a):not(#btp-b) body .btp-embed-btn { background: rgba(0, 10, 51, 0.82) !important; padding: 0.35em 1em !important; }
/* Barres fixes mobiles : le mot souligné, centré dans la barre. */
html:not(#btp-a):not(#btp-b) body .btp-mobile-resa > button { flex: 1 1 auto; }
/* Bandeau cookies : accepter et refuser à égalité (CNIL). */
html:not(#btp-a):not(#btp-b) body .btp-ck-btn { width: 100%; }

/* ---------- Liens secondaires : Anton plus petit, filet crème discret ---------- */
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-fiche, .btp-home-event-fiche, .btp-tuile-cta, .btpv-card-a, .btpv-more, .btpv-bk-a) {
    font-family: var(--btp-fd) !important; font-weight: 400 !important; font-size: var(--btp-t5) !important; letter-spacing: var(--btp-a-ls) !important; text-transform: uppercase !important;
    color: rgba(237, 240, 247, 0.8) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important;
    text-decoration: underline !important; text-decoration-color: rgba(245, 230, 211, 0.4) !important; text-decoration-thickness: 1px !important; text-underline-offset: 0.42em !important; text-decoration-skip-ink: none !important;
    transition: color 0.2s ease, text-decoration-color 0.2s ease !important;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-fiche, .btp-home-event-fiche, .btp-tuile-cta, .btpv-card-a, .btpv-more, .btpv-bk-a) span { font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; color: inherit !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-fiche, .btp-home-event-fiche, .btp-tuile-cta, .btpv-card-a, .btpv-more, .btpv-bk-a):hover,
html:not(#btp-a):not(#btp-b) body :is(a:hover > .btp-tuile-cta, .btpv-card:hover .btpv-card-a) { color: var(--btp-a-cream) !important; text-decoration-color: var(--btp-a-cream) !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-fiche, .btp-home-event-fiche, .btpv-more, .btpv-bk-a):focus-visible { outline: 2px solid var(--btp-a-cream) !important; outline-offset: 4px !important; }

/* ---------- Filtres (/programmation/, rubriques de /carte/) ---------- */
html:not(#btp-a):not(#btp-b) body .btp-prog-filters, html:not(#btp-a):not(#btp-b) body .btp-menu-nav { column-gap: 22px !important; row-gap: 0 !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter, .btp-menu-nav-link) {
    display: inline-block !important; min-height: 44px; padding: max(0.3em, calc((44px - var(--btp-lh-6, 1.2) * 1em) / 2)) 0 !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    font-family: var(--btp-fd) !important; font-weight: 400 !important; font-size: var(--btp-t6) !important; line-height: var(--btp-lh-6, 1.2) !important;
    letter-spacing: var(--btp-a-ls) !important; text-transform: uppercase !important; color: var(--btp-a-dim) !important;
    text-decoration: underline !important; text-decoration-color: transparent !important; text-decoration-thickness: 3px !important; text-underline-offset: 0.32em !important; text-decoration-skip-ink: none !important;
    white-space: nowrap !important; transition: color 0.2s ease, text-decoration-color 0.2s ease !important; cursor: pointer;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter, .btp-menu-nav-link)::before { display: none !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter, .btp-menu-nav-link) :is(.btp-menu-label, [data-i18n]) { font: inherit !important; letter-spacing: inherit !important; color: inherit !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter, .btp-menu-nav-link):hover { color: var(--btp-a-white) !important; text-decoration-color: rgba(245, 230, 211, 0.35) !important; background: transparent !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter.is-active, .btp-menu-nav-link.active, .btp-menu-nav-link[aria-pressed="true"]) { color: var(--btp-a-cream) !important; text-decoration-color: var(--btp-a-red) !important; background: transparent !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter, .btp-menu-nav-link):focus-visible { outline: 2px solid var(--btp-a-cream) !important; outline-offset: 4px !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter, .btp-menu-nav-link)[aria-disabled="true"] { opacity: 0.45; cursor: default; }
/* Compteur : exposant Anton, sans pastille. */
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter-count, .btp-menu-count) {
    display: inline-block !important; vertical-align: 0.7em; margin: 0 0 0 0.15em !important; padding: 0 !important; min-width: 0 !important; height: auto !important;
    background: none !important; border: 0 !important; border-radius: 0 !important;
    font-family: var(--btp-fd) !important; font-size: 0.62em !important; line-height: 1 !important; letter-spacing: 0.04em !important; color: var(--btp-text, #8EA4B8) !important; text-decoration: none !important;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-filter.is-active, .btp-menu-nav-link.active, .btp-menu-nav-link[aria-pressed="true"]) :is(.btp-prog-filter-count, .btp-menu-count) { color: var(--btp-a-cream) !important; }
html:not(#btp-a):not(#btp-b) body .btp-menu-nav-link .btp-menu-num { display: inline-block; min-width: 1.9em; text-decoration: none !important; font-size: 0.7em !important; }
html:not(#btp-a):not(#btp-b) body .btp-menu-nav-link .btp-menu-label { display: inline; }

/* ---------- Pagination (/concerts-passes/) ---------- */
html:not(#btp-a):not(#btp-b) body .btp-cp-pagelink {
    display: inline-block !important; min-height: 44px; padding: max(0.3em, calc((44px - 1.2em) / 2)) 0 !important; line-height: 1.2 !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
    font-family: var(--btp-fd) !important; font-weight: 400 !important; font-size: var(--btp-t6) !important; letter-spacing: var(--btp-a-ls) !important; text-transform: uppercase !important; color: var(--btp-a-cream) !important;
    text-decoration: underline !important; text-decoration-color: var(--btp-a-red) !important; text-decoration-thickness: 2px !important; text-underline-offset: 0.32em !important; text-decoration-skip-ink: none !important; white-space: nowrap;
}
html:not(#btp-a):not(#btp-b) body .btp-cp-pagelink:hover { color: var(--btp-a-white) !important; }
html:not(#btp-a):not(#btp-b) body .btp-cp-pagelink:focus-visible { outline: 2px solid var(--btp-a-cream) !important; outline-offset: 4px !important; }
html:not(#btp-a):not(#btp-b) body .btp-cp-pager-n { font-family: var(--btp-fd) !important; font-size: var(--btp-t3) !important; color: var(--btp-a-white) !important; }

/* ---------- Fermeture (modale du clip, visionneuse photos, aperçu PDF) : « FERMER ✕ » écrit, libellé traduit (aria-label) ---------- */
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close) {
    display: inline-flex !important; align-items: center !important; gap: 0.5em !important; width: auto !important; height: auto !important; min-height: 44px !important; padding: 0.3em 0.2em !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    font-size: 0 !important; line-height: 1 !important; color: var(--btp-a-cream) !important; cursor: pointer;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close) > svg { display: none !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close)::before {
    content: attr(aria-label); font-family: var(--btp-fd); font-size: var(--btp-t6); letter-spacing: var(--btp-a-ls); text-transform: uppercase;
    text-decoration: underline; text-decoration-color: var(--btp-a-red); text-decoration-thickness: 2px; text-underline-offset: 0.32em; text-decoration-skip-ink: none;
}
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close)::after { content: "\2715"; position: static !important; width: auto !important; height: auto !important; transform: none !important; font-family: var(--btp-fb); font-size: var(--btp-t5); }
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close):hover { color: var(--btp-a-white) !important; background: transparent !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close):focus-visible { outline: 2px solid var(--btp-a-cream) !important; outline-offset: 4px !important; }

/* ---------- Étiquette « Clip » sur l'affiche : plaque marine à angles vifs, filet bordeaux ---------- */
html:not(#btp-a):not(#btp-b) body .btp-cp-play { border-radius: 0 !important; border: 0 !important; border-bottom: 2px solid var(--btp-a-red) !important; font-family: var(--btp-fd) !important; font-size: var(--btp-t5) !important; letter-spacing: var(--btp-a-ls) !important; }
html:not(#btp-a):not(#btp-b) body .btp-cp-poster:is(:hover, :focus-visible) .btp-cp-play { background: rgba(0, 10, 51, 0.92) !important; color: var(--btp-a-white) !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-prog-ticket, .btp-pm-book, .btp-home-event-cta)::after { margin-left: 0.05em !important; }
html:not(#btp-a):not(#btp-b) body .btp-pdf-btn::after { content: none !important; }
html:not(#btp-a):not(#btp-b) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close) { flex-direction: row !important; justify-content: flex-end !important; }
