/* ==========================================================================
   Finitions de la revue d'interface du 2026-10-14, a 1280 et 390 px.
   Chargee apres les feuilles des widgets, par modules/interface.php.
   ========================================================================== */

/* --- Marges laterales au telephone -----------------------------------------
   Les sections Elementor encadrees n'y gardent que l'espacement de colonne :
   0 ou 5 px. Fil d'Ariane, recherche, actualites et Mon compte touchaient le
   bord de l'ecran. On complete jusqu'a 16 px, contenu seulement : l'en-tete et
   le pied de page ont leurs propres marges. Jusqu'a 1024 px : la tablette avait
   le meme defaut. */
@media (max-width: 1024px) {
    .page-content > .elementor > .elementor-section.elementor-top-section > .elementor-container.elementor-column-gap-no,
    .elementor-location-single > .elementor-section.elementor-top-section > .elementor-container.elementor-column-gap-no,
    .elementor-location-archive > .elementor-section.elementor-top-section > .elementor-container.elementor-column-gap-no {
        padding-left: 16px;
        padding-right: 16px;
    }

    .page-content > .elementor > .elementor-section.elementor-top-section > .elementor-container.elementor-column-gap-narrow,
    .elementor-location-single > .elementor-section.elementor-top-section > .elementor-container.elementor-column-gap-narrow,
    .elementor-location-archive > .elementor-section.elementor-top-section > .elementor-container.elementor-column-gap-narrow {
        padding-left: 11px;
        padding-right: 11px;
    }
}

/* --- Mon compte ------------------------------------------------------------- */
/* La taille vient de style-mon-compte-bear-it/account.css, passee de 10 a 12 px. */
.woocommerce-form-login__submit.woocommerce-form-login__submit,
.woocommerce-form-register__submit.woocommerce-form-register__submit {
    min-height: 44px;
}

/* --- Fiche produit -----------------------------------------------------------
   Le titre etait mis en capitales a chaque mot : « À Manches Courtes Et Col V ». */
.single-product .product_title.product_title {
    text-transform: none !important;
}

/* Le bouton d'ajout au panier n'etait qu'un contour, moins visible qu'Apple Pay
   juste en dessous : c'est pourtant l'action principale de la page. */
.single-product .single_add_to_cart_button.single_add_to_cart_button {
    background-color: #f0a51f !important;
    border-color: #f0a51f !important;
    color: #111 !important;
    font-weight: 700;
}

.single-product .single_add_to_cart_button.single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button.single_add_to_cart_button:focus-visible {
    background-color: #ffbd45 !important;
    border-color: #ffbd45 !important;
}

/* --- Panier --------------------------------------------------------------------
   Le code promo est secondaire : son gros bouton orange passait devant le bouton
   de commande. La croix de retrait mesurait 12 px de large. */
.e-cart__container .e-apply-coupon.e-apply-coupon,
.woocommerce-cart .coupon .button {
    background-color: transparent !important;
    border: 1px solid var(--bi-or) !important;
    color: var(--bi-or) !important;
}

.e-cart__container .e-apply-coupon.e-apply-coupon:hover,
.e-cart__container .e-apply-coupon.e-apply-coupon:focus-visible {
    background-color: var(--bi-or) !important;
    color: var(--bi-surface) !important;
}

/* Le panier (gabarit 85, widget 3ff4cd25) etait une carte blanche au milieu d'un site
   sombre, avec des reglages de widget calibres pour du clair : textes #151719, champs
   blancs, boutons de hauteurs differentes, totaux en 12,6 px. */
.elementor-85 .elementor-element-7c6c00f {
    margin-bottom: 56px;
}

.elementor-85 .elementor-element-7c6c00f > .elementor-widget-wrap {
    background: var(--bi-surface) !important;
    border: 1px solid var(--bi-filet);
    border-radius: 16px !important;
    padding: 32px !important;
}

.elementor-85 .elementor-element-5d2f23a .elementor-button {
    background: transparent !important;
    color: var(--bi-texte) !important;
    padding: 0 0 8px !important;
    font-size: 18px !important;
    letter-spacing: .04em;
}

.elementor-85 .elementor-element-5d2f23a .elementor-button svg {
    fill: var(--bi-or) !important;
}

.elementor-element-3ff4cd25 .e-cart__container {
    gap: 24px !important;
}

.elementor-element-3ff4cd25 .e-cart-section {
    background: var(--bi-surface-2) !important;
    border: 1px solid rgba(242, 237, 228, .1) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    padding: 28px !important;
    color: var(--bi-texte) !important;
}

.elementor-element-3ff4cd25 .e-cart-section :is(td, h2, label, p, a:not(.button):not(.checkout-button), .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, bdi) {
    color: var(--bi-texte) !important;
}

.elementor-element-3ff4cd25 table.shop_table thead th {
    font-size: var(--bi-etiquette) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bi-texte-doux) !important;
    padding: 0 12px 14px 0 !important;
    border-bottom: 1px solid rgba(242, 237, 228, .12) !important;
}

.elementor-element-3ff4cd25 table.shop_table tbody td {
    font-size: 15px !important;
    padding: 16px 12px 16px 0 !important;
    vertical-align: middle !important;
    border-color: rgba(242, 237, 228, .12) !important;
}

.elementor-element-3ff4cd25 table.shop_table td.product-name,
.elementor-element-3ff4cd25 table.shop_table td.product-name a {
    font-weight: 600 !important;
}

.elementor-element-3ff4cd25 table.shop_table .product-thumbnail img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover;
    border-radius: 8px;
}

.elementor-element-3ff4cd25 .product-remove a.remove {
    color: var(--bi-texte-doux) !important;
    font-size: 20px !important;
}

.elementor-element-3ff4cd25 .product-remove a.remove:hover {
    color: var(--bi-or) !important;
    background: transparent !important;
}

.elementor-element-3ff4cd25 :is(.quantity input, .coupon input, #pwgc-redeem-gift-card-number) {
    background: var(--bi-surface) !important;
    color: var(--bi-texte) !important;
    border: 1px solid rgba(242, 237, 228, .22) !important;
    border-radius: 10px !important;
    height: 48px !important;
    min-height: 48px;
    font-size: 15px !important;
    padding: 0 14px !important;
    box-shadow: none !important;
}

.elementor-element-3ff4cd25 .quantity input {
    width: 72px !important;
    padding: 0 6px !important;
    text-align: center;
}

.elementor-element-3ff4cd25 :is(.quantity input, .coupon input, #pwgc-redeem-gift-card-number):focus {
    border-color: var(--bi-or) !important;
    outline: none;
}

.elementor-element-3ff4cd25 ::placeholder {
    color: var(--bi-texte-doux) !important;
    opacity: 1;
}

.elementor-element-3ff4cd25 .coupon {
    display: flex !important;
    gap: 12px;
    align-items: center;
}

/* Champ et bouton sont emballes dans .coupon-col : c'est lui qui doit s'etirer. */
.elementor-element-3ff4cd25 .coupon > .coupon-col {
    display: flex !important;
    gap: 12px;
    align-items: center;
    width: 100% !important;
    margin: 0 !important;
}

/* Elementor repartit 2 pour le champ, 1 pour le bouton : le bouton prend sa largeur, le champ le reste. */
.elementor-element-3ff4cd25 .coupon .coupon-col-start {
    flex: 1 1 auto !important;
}

.elementor-element-3ff4cd25 .coupon .coupon-col-end {
    flex: 0 0 auto !important;
}

/* La typographie globale d'Elementor posait 13 px sur chaque montant. */
.elementor-element-3ff4cd25 .e-cart-section :is(.woocommerce-Price-amount, bdi, th *) {
    font-size: inherit !important;
}

.elementor-element-3ff4cd25 .coupon :is(.coupon-col-start, .coupon-col-end) {
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-element-3ff4cd25 .coupon input {
    width: 100% !important;
}

.elementor-element-3ff4cd25 .e-apply-coupon.e-apply-coupon {
    height: 48px !important;
    padding: 0 22px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .04em;
    white-space: nowrap;
}

.elementor-element-3ff4cd25 .cart_totals h2 {
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 0 0 14px !important;
    margin: 0 0 6px !important;
    border-bottom: 1px solid rgba(242, 237, 228, .12);
}

.elementor-element-3ff4cd25 .cart_totals :is(th, td) {
    font-size: 15px !important;
    padding: 10px 0 !important;
    border-color: rgba(242, 237, 228, .12) !important;
}

.elementor-element-3ff4cd25 .cart_totals th {
    font-weight: 500 !important;
    color: var(--bi-texte-doux) !important;
}

.elementor-element-3ff4cd25 .cart_totals td {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    text-align: right !important;
}

/* Les libelles des totaux sont des ::before des cellules (tableau adaptatif de WooCommerce). */
.elementor-element-3ff4cd25 .cart_totals td::before {
    float: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--bi-texte-doux) !important;
}

.elementor-element-3ff4cd25 .cart_totals .order-total td::before {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--bi-texte) !important;
}

.elementor-element-3ff4cd25 .cart_totals .order-total :is(th, td) {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--bi-texte) !important;
    padding-top: 14px !important;
}

.elementor-element-3ff4cd25 .cart_totals .order-total td :is(.woocommerce-Price-amount, bdi, .woocommerce-Price-currencySymbol) {
    color: var(--bi-or) !important;
}

/* Carte-cadeau : libelle, saut de ligne puis champ et bouton de hauteurs differentes. */
.elementor-element-3ff4cd25 #pwgc-redeem-gift-card-form {
    margin-top: 20px;
}

.elementor-element-3ff4cd25 #pwgc-redeem-gift-card-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.elementor-element-3ff4cd25 #pwgc-redeem-gift-card-container > label,
.elementor-element-3ff4cd25 #pwgc-redeem-error {
    flex-basis: 100%;
    font-size: var(--bi-secondaire) !important;
    color: var(--bi-texte-doux) !important;
    margin: 0 !important;
}

.elementor-element-3ff4cd25 #pwgc-redeem-error:empty,
.elementor-element-3ff4cd25 #pwgc-redeem-gift-card-container > br {
    display: none;
}

.elementor-element-3ff4cd25 #pwgc-redeem-gift-card-number {
    flex: 1;
    min-width: 0;
    width: auto !important;
}

.elementor-element-3ff4cd25 #pwgc-redeem-button {
    height: 48px !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    background: transparent !important;
    border: 1px solid var(--bi-or) !important;
    color: var(--bi-or) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.elementor-element-3ff4cd25 .wc-proceed-to-checkout {
    padding-top: 20px !important;
}

.elementor-element-3ff4cd25 a.checkout-button {
    height: 52px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 20px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Au telephone, WooCommerce empile chaque cellule sous son libelle : libelles presque
   noirs, valeurs au milieu, et Elementor ajoutait 28 px de chaque cote de chaque ligne. */
@media (max-width: 767px) {
    .elementor-85 .elementor-element-7c6c00f > .elementor-widget-wrap {
        padding: 20px 12px !important;
    }

    .elementor-85 .elementor-element-5d2f23a .elementor-button {
        font-size: 16px !important;
    }

    .elementor-element-3ff4cd25 .e-cart-section {
        padding: 16px !important;
    }

    .elementor-element-3ff4cd25 table.shop_table,
    .elementor-element-3ff4cd25 table.shop_table tbody {
        display: block !important;
        width: 100% !important;
    }

    .elementor-element-3ff4cd25 table.shop_table tbody tr {
        display: block;
        padding: 4px 0 12px !important;
        margin: 0 !important;
    }

    .elementor-element-3ff4cd25 table.shop_table tbody td {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        width: 100% !important;
        box-sizing: border-box;
        margin: 0 !important;
        padding: 10px 0 !important;
        text-align: right !important;
    }

    .elementor-element-3ff4cd25 table.shop_table tbody td::before {
        float: none !important;
        font-size: var(--bi-etiquette) !important;
        font-weight: 600 !important;
        text-transform: uppercase;
        letter-spacing: .05em;
        color: var(--bi-texte-doux) !important;
    }

    .elementor-element-3ff4cd25 table.shop_table td.product-remove {
        justify-content: flex-end;
        padding: 0 !important;
        border: 0 !important;
        margin-bottom: -40px !important;
        position: relative;
        z-index: 1;
    }

    .elementor-element-3ff4cd25 table.shop_table td.product-thumbnail {
        justify-content: flex-start;
        padding: 0 0 6px !important;
    }

    .elementor-element-3ff4cd25 table.shop_table :is(td.product-remove, td.product-thumbnail)::before {
        display: none;
    }

    .elementor-element-3ff4cd25 a.checkout-button {
        font-size: 14px !important;
        letter-spacing: .02em;
        white-space: nowrap;
    }

    .elementor-element-3ff4cd25 #pwgc-redeem-gift-card-number,
    .elementor-element-3ff4cd25 #pwgc-redeem-button {
        flex-basis: 100%;
    }

    .elementor-element-3ff4cd25 .coupon > .coupon-col {
        flex-direction: column;
        align-items: stretch;
    }
}

.woocommerce-cart a.remove {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

/* --- Paiement ------------------------------------------------------------------
   Au telephone, « Nom de famille » etait decale de 8 px par rapport a « Prenom ». */
@media (max-width: 767px) {
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* --- Fiche du calendrier -------------------------------------------------------
   Pres de 50 px de vide entre la date et le prix. */
.single-tribe_events .tribe-events-single .tribe-events-schedule.tribe-events-schedule {
    margin-bottom: 4px !important;
}

.single-tribe_events .tribe-events-single .tribe-block.tribe-block__event-price {
    padding-top: 4px !important;
}

/* --- Billetterie des articles --------------------------------------------------
   Deux colonnes de billets a 390 px : noms coupes, prix sur trois lignes,
   « Tout est vendu ! » illisible. Une colonne sous 520 px. */
@media (max-width: 520px) {
    .watn-ticketing__grid {
        --watn-ticket-columns: 1;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .watn-ticketing__grid--centered > .watn-ticket {
        flex-basis: 100%;
    }
}

/* Pied du billet : prix et inventaire en haut, puis la quantite (ou le tampon SOLD OUT)
   seule et centree en bas, a la meme hauteur quelles que soient les infos presentes. */
.watn-ticket__footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto;
    row-gap: 4px;
}

.watn-ticket__price {
    grid-row: 1;
}

.watn-ticket__price .woocommerce-price-suffix {
    display: block;
    font-size: var(--bi-secondaire) !important;
    font-weight: 500 !important;
    line-height: 1.3;
    margin-top: 4px;
    opacity: .8;
}

.watn-ticket__price .woocommerce-price-suffix * {
    font-size: inherit !important;
    font-weight: inherit !important;
}

.watn-ticket__stock {
    grid-row: 2;
    margin: 0 !important;
}

.watn-ticket-quantity {
    grid-row: 4;
    justify-self: center;
    margin: 8px 0 0 !important;
}

.watn-ticket__soldout,
.watn-ticket__unavailable {
    grid-row: 4;
}

/* Le tampon SOLD OUT dit deja « Tout est vendu ! ». */
.watn-ticket.is-sold-out .watn-ticket__stock {
    display: none;
}

/* Couleur du titre sur le fond sombre d'un billet indisponible : illisible. */
.watn-ticket.is-unavailable .watn-ticket__unavailable {
    color: var(--watn-ticket-soldout-lower-text-color) !important;
}

/* --- Plancher typographique ----------------------------------------------------
   Textes de 9 a 11 px dans les composants ajoutes depuis P4-13. */
.watn-article-texte__eyebrow,
.watn-article-texte__subtitle,
.watn-article-texte__meta-label,
.watn-article-texte__meta-value,
.watn-ticket__stock,
.watn-ticket-practical__label,
.wan2026-article__pill,
.wdpn2026-dernier-post__date,
.wdpn2026-dernier-post__button,
.wmod2026__intro-item-text,
.wmoen2026__tagline,
.wmot2026__fact-label,
.wmot2026__fact-value {
    font-size: 12px !important;
}

/* --- Pied de page --------------------------------------------------------------
   Liens legaux de 14 px de haut au telephone, trop justes pour le doigt. */
@media (max-width: 767px) {
    .wppnico-footer__legal-links a {
        display: inline-block;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .wppnico-footer__unsubscribe-link {
        display: inline-block;
        padding-top: 11px;
        padding-bottom: 11px;
    }
}

/* ==========================================================================
   Seconde revue, 2026-10-14 : echelle de texte unique et couleurs de Bear It.
   ========================================================================== */

:root {
    --bi-or: #f0a51f;
    --bi-or-clair: #ffbd45;
    --bi-texte: #f2ede4;
    --bi-texte-doux: #c9c3b9;   /* 9,9:1 sur #17181b */
    --bi-surface: #17181b;
    --bi-surface-2: #1f2024;
    --bi-filet: rgba(240, 165, 31, .45);
    --bi-corps: 16px;
    --bi-secondaire: 14px;
    --bi-etiquette: 13px;
}

@media (max-width: 767px) {
    :root {
        --bi-corps: 15px;
    }
}

/* --- Echelle de texte ---------------------------------------------------------
   Les widgets maison ecrivaient leurs textes courants en 12 px et leurs etiquettes
   en 9 a 11 px : plus de 60 textes en 12 px par page. Trois tailles, quel que
   soit le widget : texte courant, texte secondaire, etiquette en capitales. */

/* Texte courant */
.watn-article-texte__body,
.watn-article-texte__body p,
.watn-article-texte__body li,
.watn-article-texte__box-text,
.watn-article-texte__archive-text,
.watn-article-texte__practical-text,
.watn-ticket-lineup__description,
.watn-ticket-practical__text,
.wmoc2026__video-copy p,
.wmoen2026__description,
.wmot2026__copy,
.woocommerce-Tabs-panel,
.woocommerce-Tabs-panel p {
    font-size: var(--bi-corps) !important;
    line-height: 1.6 !important;
}

/* Texte secondaire */
.watn-article-texte__feature-text,
.watn-article-texte__meta-value,
.watn-article-texte__subtitle,
.watn-ticket__subtitle,
.watn-ticket__feature,
.watn-ticket-lineup__subtitle,
.waa2026-card__excerpt,
.waa2026-list__excerpt,
.waa2026-mini__excerpt,
.wmod2026__intro-item-text,
.wmoen2026__tagline,
.wdpn2026-dernier-post__title,
.wdpn2026-dernier-post__post-title,
.wbn2026-boutique__title,
.wpn2026-publicite__title,
.wmt2026-cart-panel__meta,
.wmt2026-cart-panel__tax-note,
.wmt2026-cart-panel__secure,
.wppnico-footer__newsletter-text,
.wppnico-footer__newsletter-message,
.wppnico-footer__newsletter-note {
    font-size: var(--bi-secondaire) !important;
    line-height: 1.5 !important;
}

/* Etiquettes en capitales */
.watn-article-texte__eyebrow,
.watn-article-texte__meta-label,
.watn-article-texte__card-kicker,
.watn-article-texte__box-note,
.watn-article-texte__button,
.watn-ticket-practical__label,
.watn-article-texte__practical-title,
.watn-article-texte .watn-article-texte__practical-title,
.watn-ticket-lineup__tag,
.watn-ticket__stock,
.watn-ticket__unavailable,
.waa2026-card__badge,
.waa2026-card__date,
.waa2026-card__read,
.waa2026-actualite__all-link,
.waa2026-list__date,
.waa2026-mini__date,
.waa2026-mini__read,
.waa2026-group__link,
.wan2026-article__pill,
.wbn2026-boutique__button,
.wdpn2026-dernier-post__date,
.wdpn2026-dernier-post__button,
.wmod2026__intro-item-title,
.wnmot__eyebrow,
.wnmot__subtitle,
.wnmot-card__year,
.wppnico-footer__social-label,
.wsben-countdown__label,
.wsben-countdown__timezone,
.wmoc2026__candidate-role,
.wmot2026__fact-label,
.wmot2026__fact-value,
.wmot2026__quality-title {
    font-size: var(--bi-etiquette) !important;
    letter-spacing: .05em;
}

.wmot2026__quality-text {
    font-size: var(--bi-etiquette) !important;
}

/* Infos pratiques des articles : titre de rubrique lisible et valeurs en blanc. */
.watn-ticket-practical__label {
    font-weight: 800 !important;
}

.watn-ticket-practical__text {
    color: var(--bi-texte) !important;
}

/* --- Recherche ---------------------------------------------------------------
   Icone dans une pastille orange posee a cote du champ, texte d'invite orange
   sur fond sombre : 2,9:1. Un seul champ, l'icone dedans, l'invite en gris clair. */
.elementor-search-form--skin-minimal .elementor-search-form__container {
    background: var(--bi-surface) !important;
    border: 1px solid var(--bi-filet) !important;
    border-radius: 8px !important;
    overflow: hidden;
    min-height: 46px;
}

.elementor-search-form--skin-minimal .elementor-search-form__icon {
    background: transparent !important;
    color: var(--bi-or) !important;
    padding-left: 14px !important;
}

.elementor-search-form--skin-minimal .elementor-search-form__input {
    background: transparent !important;
    border: 0 !important;
    color: var(--bi-texte) !important;
    font-size: 15px !important;
}

.elementor-search-form__input::placeholder {
    color: var(--bi-texte-doux) !important;
    opacity: 1;
}

/* --- Categories de la boutique ------------------------------------------------
   Seules les categories a sous-categories ont un « + », et l'extension decale
   leur compteur de 22 px : les compteurs ne s'alignaient pas. On reserve la
   place de l'icone sur toutes les lignes. */
.wpb_category_n_menu_accordion ul li > a {
    padding-right: 47px !important;
}

.wpb_category_n_menu_accordion ul li a .wpb-wmca-cat-count,
.wpb_category_n_menu_accordion ul li a:has(.wpb-submenu-indicator) .wpb-wmca-cat-count {
    margin-right: 0 !important;
    min-width: 26px;
    height: 22px;
    line-height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: rgba(240, 165, 31, .14) !important;
    color: var(--bi-or) !important;
    font-size: 12px !important;
}

.wpb_category_n_menu_accordion .wpb-wmca-cat-name {
    font-size: 15px !important;
}

/* --- Fiche du combo -------------------------------------------------------------
   Titres des billets inclus en gris fonce sur fond sombre : 1,06:1. Pastille
   « Promo » rognee dans le coin, avis d'indisponibilite en encadre blanc. */
.bundled_product_summary .bundled_product_title,
.bundled_product_summary .item_title {
    color: var(--bi-texte) !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
}

.bundled_product_summary .bundled_item_unavailable,
.bundled_product_summary .stock {
    color: var(--bi-texte-doux) !important;
    font-size: var(--bi-secondaire) !important;
}

.single-product .elementor-widget-woocommerce-product-images span.onsale {
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    background: var(--bi-or) !important;
    color: #111 !important;
    z-index: 3;
}

/* Avis de WooCommerce : en encadre clair, ils detonnaient sur le site sombre. */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-info {
    background: var(--bi-surface-2) !important;
    color: var(--bi-texte) !important;
    border: 1px solid var(--bi-filet) !important;
    border-top: 3px solid var(--bi-or) !important;
    border-radius: 8px;
    font-size: var(--bi-secondaire);
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before {
    color: var(--bi-or) !important;
}

/* --- Panneau de description --------------------------------------------------
   Texte orange colle aux bords, grand vide en dessous. Texte courant en clair,
   l'orange reste aux accents. */
.woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 24px 28px !important;
    color: var(--bi-texte) !important;
    min-height: 0 !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel p:last-child {
    margin-bottom: 0;
}

/* Le cadre orange autour des onglets n'avait que 10 px de marge : onglet et panneau
   touchaient sa bordure. */
body.single-product .elementor-widget-wrap:has(> .elementor-widget-woocommerce-product-data-tabs) {
    padding: 24px !important;
}

body.single-product .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs ul.tabs {
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
}

body.single-product .elementor-widget-woocommerce-product-data-tabs .woocommerce-Tabs-panel {
    margin-top: 12px !important;
}

/* --- Pied de page --------------------------------------------------------------
   L'encadre de l'infolettre etait rose fuchsia, une couleur absente du reste du
   site. Aux couleurs de Bear It, champ et bouton a la meme hauteur, bouton plein. */
.wppnico-footer .wppnico-footer__newsletter {
    border: 1px solid var(--bi-filet) !important;
    box-shadow: 0 0 0 1px rgba(240, 165, 31, .08), 0 18px 40px rgba(0, 0, 0, .35) !important;
    background: rgba(17, 18, 20, .92) !important;
    border-radius: 12px !important;
    padding: 32px !important;
}

/* Une seule icone pour l'infolettre, celle du titre, sans encadre : trois icones
   (titre, champ, bouton) chargeaient le bloc pour rien. */
.wppnico-footer .wppnico-footer__newsletter-icon {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--bi-or) !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
}

.wppnico-footer .wppnico-footer__input-icon,
.wppnico-footer .wppnico-footer__button-icon {
    display: none !important;
}

.wppnico-footer .wppnico-footer__newsletter-input {
    padding-left: 16px !important;
}

.wppnico-footer .wppnico-footer__newsletter-icon svg,
.wppnico-footer .wppnico-footer__newsletter-icon svg * {
    stroke: var(--bi-or) !important;
    color: var(--bi-or) !important;
}

.wppnico-footer .wppnico-footer__newsletter-subtitle {
    color: var(--bi-or) !important;
    font-size: var(--bi-etiquette) !important;
}

.wppnico-footer .wppnico-footer__newsletter-text {
    color: var(--bi-texte-doux) !important;
    margin-top: 16px !important;
}

.wppnico-footer .wppnico-footer__newsletter-form {
    gap: 12px !important;
    align-items: stretch !important;
    margin-top: 20px !important;
}

.wppnico-footer .wppnico-footer__input-wrap,
.wppnico-footer .wppnico-footer__newsletter-button {
    min-height: 48px !important;
    border-radius: 8px !important;
}

.wppnico-footer .wppnico-footer__input-wrap {
    border-color: rgba(242, 237, 228, .35) !important;
    background: var(--bi-surface) !important;
}

.wppnico-footer .wppnico-footer__newsletter-input {
    font-size: 15px !important;
    color: var(--bi-texte) !important;
}

.wppnico-footer .wppnico-footer__newsletter-input::placeholder {
    color: var(--bi-texte-doux) !important;
}

.wppnico-footer .wppnico-footer__newsletter-button {
    background: var(--bi-or) !important;
    border-color: var(--bi-or) !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.wppnico-footer .wppnico-footer__newsletter-button:hover,
.wppnico-footer .wppnico-footer__newsletter-button:focus-visible {
    background: var(--bi-or-clair) !important;
    border-color: var(--bi-or-clair) !important;
}

.wppnico-footer .wppnico-footer__newsletter-button svg,
.wppnico-footer .wppnico-footer__newsletter-button svg * {
    stroke: #111 !important;
}

.wppnico-footer .wppnico-footer__newsletter-note {
    color: var(--bi-texte-doux) !important;
    margin-top: 14px !important;
}

.wppnico-footer .wppnico-footer__bottom {
    border-top: 1px solid rgba(242, 237, 228, .12) !important;
    padding-top: 18px !important;
    margin-top: 32px !important;
}

.wppnico-footer .wppnico-footer__legal-links a,
.wppnico-footer .wppnico-footer__copyright {
    font-size: var(--bi-etiquette) !important;
    color: var(--bi-texte-doux) !important;
}

.wppnico-footer .wppnico-footer__legal-links a:hover,
.wppnico-footer .wppnico-footer__legal-links a:focus-visible {
    color: var(--bi-or) !important;
}

/* --- Inscription des participants ---------------------------------------------
   Etape entre le panier et le paiement. Police de The Events Calendar au lieu de
   celle du site, filets blancs, grand vide sous le titre, recapitulatif ou le nom
   du billet tenait sur trois lignes et le prix taxes comprises sur quatre, bouton
   centre sous un formulaire aligne a gauche. */
.page-tribe-attendee-registration .tribe-tickets__registration,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h1,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h2,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h3,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h4,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h5,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h6,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h7,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-h8,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-b1,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-b2,
.page-tribe-attendee-registration .tribe-tickets__registration .tribe-common-b3 {
    font-family: "Mulish", sans-serif !important;
}

.page-tribe-attendee-registration .tribe-tickets__registration h1,
.page-tribe-attendee-registration .tribe-tickets__registration h2,
.page-tribe-attendee-registration .tribe-tickets__registration h3,
.page-tribe-attendee-registration .tribe-tickets__mini-cart-title {
    font-family: "Poppins", sans-serif !important;
    font-weight: 700 !important;
    color: var(--bi-texte) !important;
}

.page-tribe-attendee-registration .tribe-tickets__registration-actions {
    margin-top: 32px !important;
}

.page-tribe-attendee-registration .tribe-tickets__registration-back-to-cart {
    font-size: var(--bi-secondaire) !important;
    color: var(--bi-or) !important;
}

.page-tribe-attendee-registration .tribe-tickets__registration h1 {
    border-bottom: 1px solid rgba(242, 237, 228, .14) !important;
    padding-bottom: 16px;
}

/* Le bloc touchait le pied de page et ses colonnes fixes (558 + 360 px) remplissaient deja
   la largeur : l'ecart s'y ajoutait et le recapitulatif sortait du cadre. */
.page-tribe-attendee-registration .tribe-tickets__registration {
    max-width: 1040px !important;
    margin: 40px auto 80px !important;
    padding: 32px 40px 40px !important;
    border: 1px solid var(--bi-filet) !important;
    border-radius: 16px !important;
    background: var(--bi-surface) !important;
}

.page-tribe-attendee-registration .tribe-tickets__registration-grid {
    margin-top: 32px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    align-items: start;
}

/* La premiere rangee ne porte qu'un avis vide, mais le recapitulatif qui s'etend sur les deux
   lui donnait sa hauteur : l'evenement descendait de 145 px. */
@media (min-width: 900px) {
    .page-tribe-attendee-registration .tribe-tickets__registration-grid {
        grid-template-columns: minmax(0, 1fr) 340px !important;
        grid-template-rows: auto 1fr !important;
        column-gap: 40px !important;
        row-gap: 0 !important;
    }
}

@media (max-width: 899px) {
    .page-tribe-attendee-registration .tribe-tickets__registration {
        margin: 24px 16px 56px !important;
        padding: 24px 20px 28px !important;
    }
}

.page-tribe-attendee-registration .tribe-tickets__registration-description {
    font-size: var(--bi-secondaire) !important;
    color: var(--bi-or) !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.page-tribe-attendee-registration .tribe-tickets__registration-title h2,
.page-tribe-attendee-registration .tribe-tickets__registration-title h2 a {
    font-size: 26px !important;
    line-height: 1.25 !important;
    color: var(--bi-texte) !important;
    text-decoration: none !important;
}

.page-tribe-attendee-registration .tribe-tickets__registration-content > :first-child,
.page-tribe-attendee-registration .tribe-tickets__registration-event {
    margin-top: 0 !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart {
    margin: 0 !important;
    position: sticky;
    top: 96px;
    border: 1px solid var(--bi-filet) !important;
    border-radius: 12px !important;
    background: var(--bi-surface) !important;
    padding: 20px !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart hr,
.page-tribe-attendee-registration .tribe-tickets__mini-cart-title,
.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item,
.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__footer {
    border-color: rgba(242, 237, 228, .14) !important;
}

/* Le nom du billet sur toute la largeur, prix, quantite et total sur une ligne. */
.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    gap: 6px 14px !important;
    align-items: baseline;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-content-title-container {
    grid-row: 1 !important;
    grid-column: 1 / -1 !important;
    width: auto !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-content-title {
    font-size: 16px !important;
    line-height: 1.35 !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-content-subtitle {
    font-size: var(--bi-etiquette) !important;
    color: var(--bi-texte-doux) !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 2px;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-extra {
    grid-row: 2 !important;
    grid-column: 1 !important;
    width: auto !important;
    text-align: left !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-sale-price-suffix {
    display: block;
    font-size: var(--bi-etiquette) !important;
    color: var(--bi-texte-doux) !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-ticket-quantity {
    grid-row: 2 !important;
    grid-column: 2 !important;
    width: auto !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-total-wrap {
    grid-row: 2 !important;
    grid-column: 3 !important;
    width: auto !important;
}

.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__footer {
    font-size: var(--bi-secondaire) !important;
}

.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item {
    border-radius: 12px !important;
    border-left: 3px solid var(--bi-or) !important;
}

.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item label,
.page-tribe-attendee-registration .tribe-tickets__form-field-label {
    font-size: var(--bi-secondaire) !important;
    color: var(--bi-texte) !important;
}

.page-tribe-attendee-registration .tribe-tickets__form-field-input,
.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item input[type="text"],
.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item input[type="email"] {
    font-size: 15px !important;
    min-height: 44px;
}

.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item input::placeholder {
    color: var(--bi-texte-doux) !important;
    opacity: 1;
}

.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-footer,
.page-tribe-attendee-registration .tribe-tickets__registration-footer {
    text-align: left !important;
}

.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-footer-divider,
.page-tribe-attendee-registration .tribe-tickets__registration-footer-divider {
    display: none !important;
}

.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-submit,
.page-tribe-attendee-registration .tribe-tickets__registration-submit {
    min-height: 48px;
    padding: 12px 28px !important;
    font-size: 15px !important;
    margin-left: 0 !important;
}

.page-tribe-attendee-registration .tribe-tickets__notice--error,
.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-error {
    font-size: var(--bi-secondaire) !important;
}

@media (max-width: 767px) {
    .page-tribe-attendee-registration .tribe-tickets__mini-cart {
        position: static;
    }

    .page-tribe-attendee-registration .tribe-tickets__attendee-tickets-submit,
    .page-tribe-attendee-registration .tribe-tickets__registration-submit {
        width: 100%;
    }
}

/* La colonne de la description s'etirait a la hauteur de la colonne voisine
   (« Produits recents ») : un cadre vide de plusieurs centaines de pixels. */
.single-product .elementor-container > .elementor-column:has(.elementor-widget-woocommerce-product-data-tabs) {
    align-self: flex-start;
}

/* Mini-cartes des actualites regionales : hauteur fixe, le titre et l'extrait
   agrandis y etaient ecrases et coupes a mi-ligne. La carte grandit avec son
   contenu, en gardant sa hauteur minimale. */
.waa2026-mini.waa2026-mini {
    height: auto !important;
}

.waa2026-mini__title,
.waa2026-mini__excerpt {
    flex-shrink: 0;
}

/* A 768 px, le champ et le bouton cote a cote debordaient de l'ecran de 127 px :
   l'un sous l'autre jusqu'a 1024 px, et le pied de page sur une colonne sous 900. */
@media (max-width: 1024px) {
    .wppnico-footer .wppnico-footer__newsletter-form {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 900px) {
    .wppnico-footer .wppnico-footer__top {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 32px !important;
    }

    /* Le widget place l'infolettre en colonne 2 : sans cela, la grille cree une
       colonne fantome de largeur nulle et l'encadre recouvre la marque. */
    .wppnico-footer .wppnico-footer__brand {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .wppnico-footer .wppnico-footer__newsletter {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .wppnico-footer .wppnico-footer__bottom {
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: center;
        text-align: center;
        row-gap: 10px !important;
    }

    .wppnico-footer .wppnico-footer__mini-logo {
        display: none !important;
    }

    .wppnico-footer .wppnico-footer__legal-links {
        flex-wrap: wrap;
        justify-content: center !important;
        column-gap: 18px !important;
    }

    .wppnico-footer .wppnico-footer__legal-separator {
        display: none !important;
    }

    .wppnico-footer .wppnico-footer__copyright {
        justify-self: center !important;
        text-align: center !important;
    }
}

/* L'enveloppe passait au-dessus du titre, centree, au telephone. */
.wppnico-footer .wppnico-footer__newsletter-head {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    text-align: left !important;
}

.wppnico-footer .wppnico-footer__newsletter-icon {
    margin: 0 !important;
    flex: 0 0 auto;
}

/* Le cadenas restait seul sur sa ligne au telephone. */
.wppnico-footer .wppnico-footer__newsletter-note {
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 8px !important;
}

.wppnico-footer .wppnico-footer__newsletter-note > span {
    flex: 1 1 0;
    min-width: 0;
}

.wppnico-footer .wppnico-footer__unsubscribe-link {
    flex-basis: 100%;
}

/* L'encadre de l'infolettre s'etirait a la hauteur de la colonne de gauche. */
.wppnico-footer .wppnico-footer__newsletter {
    align-self: start !important;
}

/* Gabarit des articles (section 1646445) : en tablette, les widgets de la colonne
   laterale « Boutique » sont masques mais la colonne gardait 201 px vides, et
   l'article tenait dans 528 px sur 768. Le telephone empile deja les colonnes. */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-element-1646445 > .elementor-container > .elementor-element-dcfc766 {
        width: 100% !important;
    }

    .elementor-element-1646445 > .elementor-container > .elementor-element-a7e1215 {
        display: none !important;
    }
}

/* Menu ouvert au telephone et en tablette : liens de 12 px sur 37 px de haut, sans
   separation, la page transparaissait sous le panneau. */
@media (max-width: 1024px) {
    .wmt2026-menu-top.is-menu-open .wmt2026-menu-top__nav {
        background: #0b0b0c !important;
        box-shadow: 0 18px 30px rgba(0, 0, 0, .55);
    }

    .wmt2026-menu-top.is-menu-open .wmt2026-menu-top__menu > li > a {
        font-size: 15px !important;
        min-height: 48px;
        display: flex !important;
        align-items: center;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .wmt2026-menu-top.is-menu-open .wmt2026-menu-top__menu > li + li {
        border-top: 1px solid rgba(242, 237, 228, .08);
    }

    .wmt2026-menu-top.is-menu-open .wmt2026-menu-top__menu .sub-menu a {
        font-size: 14px !important;
        min-height: 44px;
        display: flex !important;
        align-items: center;
    }
}

/* --- Fiche du festival : historique des Sugar Bear ------------------------------
   Colonne et cartes blanches sous des titres orange, bouton « Afficher plus » au
   texte orange sur fond orange (gabarit 1992, widget Publications f352c06). */
.elementor-1992 .elementor-element-16c880b > .elementor-widget-wrap {
    background: var(--bi-surface) !important;
    border: 1px solid var(--bi-filet);
}

.elementor-1992 .elementor-element-f352c06 .elementor-post__card {
    background: var(--bi-surface-2) !important;
    border: 1px solid rgba(242, 237, 228, .1);
    box-shadow: none !important;
}

.elementor-1992 .elementor-element-f352c06 .elementor-button {
    color: var(--bi-surface) !important;
    font-weight: 600;
}

/* --- Conditions generales de vente ---------------------------------------------
   Texte blanc sur une section #F9F9F9 (page 10872) : la page se lisait vide. Les
   intertitres h6 etaient presque noirs, l'un d'eux avec une couleur collee en ligne. */
.elementor-10872 .elementor-element-94c9cea {
    background: var(--bi-surface) !important;
    border: 1px solid var(--bi-filet);
}

.elementor-10872 .elementor-element-94c9cea h6 {
    color: var(--bi-or) !important;
    font-size: 16px !important;
    margin: 28px 0 10px !important;
}

.elementor-10872 .elementor-element-94c9cea span[style*="color"] {
    color: inherit !important;
}
