/* Claude — 2026-08-04 — Barre de recherche + pastilles catégories dans le HERO de la home
   (post 39), MOBILE UNIQUEMENT (<768px). Accord écrit explicite d'Antony pour ce périmètre
   précis dans la zone gelée. Au-dessus de 768px, champ ET pastilles restent masqués : le
   header desktop a déjà une barre de recherche pleine largeur permanente, et le menu affiche
   déjà les 4 univers — doublon sinon. Ne pas toucher au badge d'avis Google (widget 12a0044,
   HTML séparé, non concerné par ce fichier) ni au widget de recherche natif 0bd8ce4 (doublon
   masqué depuis le 24/06, cf. koaprint-home-hero n'a aucun rapport avec lui).

   4 correctifs mesurés et validés en direct avant cette reprise (tentative précédente du jour,
   rollback complet le 04/08 20h36) :
   1. Bouton loupe DANS le champ, background + background-color déclarés en dur (la variable
      --e-global-color-accent vaut #961038 bordeaux et reprend la main sans déclaration explicite).
   2. Pastilles : texte blanc forcé (!important) sur fond vert, pas de séparateur textuel.
   3. Badge d'avis intouché : ce bloc s'insère AVANT lui dans le DOM, jamais cloné/déplacé/restylé.
   4. box-sizing: border-box partout + pas de marge horizontale ajoutée par ce fichier, pour éviter
      le débordement latéral (scrollWidth > clientWidth) constaté à 320px/375px la dernière fois.

   Claude — 2026-08-05 — 2 correctifs supplémentaires après remontée en production (bouton encore
   bordeaux/ovale, icône invisible) :
   a) Règle concurrente identifiée dans le bundle CSS combiné : `form button[type="submit"]{
      background-color:#9b0035;border-radius:50px;padding:14px 28px;...}` a une spécificité
      (0,1,2) supérieure à un simple `.koa-mobile-search-btn` (0,1,0) — elle gagnait sur le fond,
      l'arrondi et le padding. Un reset générique `[type=submit],button{width:auto}` (0,1,0, à
      égalité) s'ajoutait à l'effet. Fix : sélecteurs scopés au conteneur
      (`.koa-mobile-search .koa-mobile-search-btn`, spécificité 0,2,0) pour battre proprement ces
      deux règles sans empiler de !important à l'aveugle.
   b) Icône SVG à width:0 : bug flexbox connu (déjà rencontré ce matin sur le bouton du header) —
      un <svg> enfant flex sans min-width ni flex-basis explicite peut s'écraser à 0 même avec
      width déclaré. Ajout de min-width + flex: 0 0 <taille> (ce n'est pas une guerre de
      spécificité, la propriété manquait tout simplement).
   c) Pastilles : margin-bottom ajouté pour ne jamais chevaucher le badge d'avis en dessous quand
      "Sélections" passe à la ligne.

   Claude — 2026-08-05 (bis) — Angles droits + bordure grise sur le champ, persistants même avec
   un style inline !important testé en direct (rendu natif iOS sur input[type="search"], pas un
   simple conflit de spécificité comme pour le bouton). Fix : l'arrondi ne se pose plus sur
   l'input mais sur un nouveau conteneur `.koa-mobile-search-wrap` (overflow:hidden qui découpe
   visuellement l'input, quel que soit son rendu natif). Le bouton reste un sibling du wrap
   (position:absolute relative à .koa-mobile-search-form, inchangée) pour ne jamais être rogné —
   structure HTML mise à jour dans le widget Elementor eeaa9e0 (_elementor_data), CSS ci-dessous.
   La règle concurrente identifiée : `input[type=search],...{border:1px solid #666;
   border-radius:3px;padding:.5rem 1rem;width:100%}` (spécificité 0,1,0, égale à un simple
   `.koa-mobile-search-input`) — neutralisée sur la bordure via sélecteur scopé au conteneur.

   Claude — 2026-08-05 (ter) — Panneau de suggestions sous le champ (demande séparée d'Antony,
   "les mêmes suggestions que dans le header"), construit par koaprint-home-hero.js. Style des
   lignes calqué sur .koa-search-suggestions-list du header (koaprint-header-search-mobile.css :
   séparateurs rgba(0,0,0,.06), item-name/-count, action-link) pour un rendu identique ; le
   conteneur du panneau lui-même est une carte flottante dédiée (fond blanc, radius 16px, ombre
   0 8px 24px rgba(0,0,0,.12)) — le header, lui, fusionne panneau + champ dans une seule boîte,
   structure différente qui ne s'applique pas ici (champ compact en pilule, pas une barre pleine
   largeur). Boost de z-index conditionnel : cf. koaprint-home-hero.js pour le pourquoi (chaîne
   d'ancêtres eeaa9e0 > c9aa14f > 0840013, retiré inconditionnellement à la fermeture).

   Claude — 2026-08-05 (quater) — 2 correctifs remontés par Antony (3e signalement sur les
   pastilles) :
   a) Pastilles : "Vêtements/Accessoires/Objets/Sélections" ne tenaient jamais sur 1 ligne à
      375px (3 posees + 1 orpheline). Passage flex -> grille 2x2, 4 largeurs strictement
      identiques (163px mesures), remplace l'ancienne regle flex (pas d'empilement).
   b) Reduction du hero mobile (accord ecrit Antony, decomposition mesuree 838px : titre 73 +
      sous-titre 116 (dont 30px de padding-top natif Elementor, inutile) + recherche/pastilles
      192 + badge 114 + image 287). Le vrai poste etait l'image, pas le titre. 3 reglages, faits
      directement dans le _elementor_data (controles natifs Elementor deja mobile-only ou ajoutes
      comme tels, pas de guerre de specificite CSS) :
      - widget image 22c6b12 : height_mobile 287 -> 170px (controle deja mobile-only)
      - widget sous-titre 7773f62 : nouvelle cle _padding_mobile (n'existait pas, le _padding de
        base = 30px reste donc INCHANGE pour tablette/desktop) top:8px
      - conteneur colonne c9aa14f : padding_mobile top/bottom 20 -> 12 (deja mobile-only),
        gauche/droite inchanges a 20
      Gain mesure : 155px (22 + 16 + 117), hero 838 -> 683px. Rien d'autre touche sur la page 39
      (titre, recherche, pastilles hors disposition, badge intacts).

   Claude — 2026-08-05 (quinquies) — Image du hero masquée en mobile (demande Antony, "pas dingo,
   gagner de la place") + rythme d'espacement resserre (mesure directe Antony, viewport 380px) :
   a) Image 22c6b12 : display:none en CSS uniquement (@media max-width:767px), _elementor_data
      NON touche — une regle CSS se retire en une ligne, une suppression de widget ne se defait
      pas aussi simplement. Desktop/tablette inchanges (aucune regle desktop touchee).
   b) Rythme d'espacement : passage de MARGIN a PADDING sur .koa-mobile-search pour eliminer le
      risque de fusion de marges (margin collapsing) avec le <p> du sous-titre (qui a sa propre
      marge par defaut WordPress, cf. regle globale `p{margin-block-end:.9rem}` en <768px) et avec
      le badge qui suit — la padding ne fusionne jamais, contrairement a la margin qui explique
      l'ecart mesure (58px observes pour 20px declares, 4px observes pour un total attendu de
      18-20px). <p> du sous-titre neutralise explicitement (margin-block-end:0) pour eliminer
      cette source d'ecart non maitrisee.
      - .koa-mobile-search : padding-top 24px (sous-titre -> recherche, etait ~58px mesures pour
        20px de margin-top declaree — ecart explique par la fusion avec la marge du <p>)
      - .koa-mobile-pills : margin-top 14px (recherche -> pastilles, etait 12px declares = 12px
        mesures, pas de fusion ici — le form n'a pas de margin-bottom concurrente)
      - .koa-mobile-search : padding-bottom 18px, .koa-mobile-pills : margin-bottom retire (etait
        18px mais fusionnait avec le 16px du parent — remplace par le padding-bottom du parent,
        seul et déterministe, pour la transition pastilles -> badge)
   ⚠️ Le chevauchement titre/sous-titre signale par Antony (14px) n'est PAS traite ici : verifie
   independamment que le _padding_mobile:18px du sous-titre (7773f62) est bien servi (confirme,
   cache-buster + re-verification), aucune marge negative ni line-height debordant trouves dans
   les regles reelles. Le mecanisme est deja en PADDING (non fusionnable) donc deterministe par
   construction — hypothese la plus probable : mesure d'Antony faite sur un cache pas encore a
   jour. Valeur laissee a 18px tant qu'une remesure fraiche ne confirme pas un vrai residu.

   Claude — 2026-08-05 (sexies) — Ecart sous-titre -> recherche encore a 49px mesures (49 != 24px
   de padding-top attendu), demande explicite d'Antony de reduire a ~26px, accord donne pour CETTE
   seule transition. Diagnostic via CSSOM (getComputedStyle + enumeration des regles matchees) :
   la neutralisation du <p> (regle juste au-dessus) etait deja correcte (marge du <p> confirmee a
   0), mais elle ne couvrait qu'UNE des deux sources de marge. La vraie 2e source, jamais
   documentee ici : une regle ANCIENNE et totalement hors de ce fichier, dans le CSS Additionnel
   natif WordPress (Customizer, post `custom_css` ID 740, PAS Elementor Custom Code, PAS ce fichier),
   datee du 2026-06-24 ("Hero espacement titre/promesse/badge") : `.elementor-element-7773f62{
   margin-bottom:24px!important}`, SANS media query — donc active a tous les breakpoints, y compris
   mobile. Cette regle reste necessaire pour desktop/tablette (elle fait partie du rythme du hero
   a ces tailles, non verifie ni touche ici) : on ne la supprime pas, on la neutralise seulement
   sous 768px, dans CE fichier dedie plutot que d'aller modifier le CSS Additionnel (hors perimetre,
   accord d'Antony limite a cette transition). Specificite volontairement elevee
   (`.elementor-39 .elementor-element.elementor-element-7773f62`, meme convention que la regle
   qui masque l'image 22c6b12 juste en dessous) pour battre a coup sur la regle du CSS Additionnel
   independamment de l'ordre d'impression des deux feuilles dans le <head> (WordPage imprime le
   CSS Additionnel a la priorite wp_head 101, apres nos assets enqueues a la priorite 10 — a
   specificite egale la regle la plus tardive gagnerait, d'ou la necessite de specificite
   superieure plutot que de compter sur l'ordre).
   Une fois cette 2e marge neutralisee, l'ecart mobile ne depend plus que du padding-top de
   .koa-mobile-search (source unique, deterministe) : passe de 24px a 26px pour retomber pile sur
   la cible mesuree. padding-bottom (18px, transition pastilles -> badge) et .koa-mobile-pills
   margin-top (14px, transition recherche -> pastilles) non touches — hors perimetre de la demande.
*/

.koa-mobile-search {
    display: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.koa-mobile-pills {
    display: none;
}

/* Neutralise la marge par defaut du <p> du sous-titre (regle globale WordPress/theme
   `p{margin-block-end:.9rem}` en <768px) : source d'ecart non maitrisee sur la transition
   sous-titre -> recherche, remplacee par le padding-top deterministe de .koa-mobile-search. */
@media (max-width: 767px) {
    .elementor-element-7773f62 .elementor-widget-container p {
        margin-block-end: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Claude — 2026-08-05 (sexies) — 2e source de marge, hors de ce fichier : CSS Additionnel
       WordPress (Customizer, post 740, regle du 2026-06-24, sans media query) pose
       `.elementor-element-7773f62{margin-bottom:24px!important}` a TOUS les breakpoints. Necessaire
       pour desktop/tablette (non touche), neutralisee ici uniquement sous 768px. Specificite
       elevee a dessein pour battre cette regle quel que soit l'ordre d'impression des feuilles. */
    .elementor-39 .elementor-element.elementor-element-7773f62 {
        margin-bottom: 0 !important;
    }

    /* Claude — 2026-08-05 (quinquies), SUPERSEDEE le 2026-09-13 : cette regle masquait l'image
       de fin de hero en mobile ("pas dingo", demande d'alors). Nouvelle demande explicite
       d'Antony du 13/09/2026 (banniere hiver, derogation ponctuelle du gel page 39) : l'image
       mobile redevient visible, en flux, sous le bloc texte. Regle de visibilite deplacee et
       mise a jour tout en bas de ce fichier (bloc "hero hiver 2026-09-13"), display:none retire
       d'ici pour ne pas laisser 2 regles contradictoires sur le meme selecteur/breakpoint. */
}

@media (max-width: 767px) {
    .koa-mobile-search {
        display: block;
        /* Claude — 2026-08-05 (sexies) — 24px -> 26px : avec la 2e source de marge neutralisee
           juste au-dessus, ce padding-top redevient la SEULE source de l'ecart sous-titre ->
           recherche. Cible mesuree ~26px (etait 49px avec les deux marges cumulees). */
        padding-top: 26px;
        padding-bottom: 18px;
    }

    .koa-mobile-pills {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 14px;
        margin-bottom: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .koa-mobile-pills > a {
        width: 100%;
        margin: 0;
        padding: 12px 8px;
        min-height: 44px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}

.koa-mobile-search-form {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.koa-mobile-search-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .10);
    box-sizing: border-box;
}

.koa-mobile-search .koa-mobile-search-input {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 56px;
    border-radius: 0;
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 64px 0 20px;
    font-size: 16px;
    line-height: 56px;
    box-sizing: border-box;
    color: #24241f;
    font-family: Poppins, sans-serif;
    -webkit-appearance: none;
    appearance: none;
}

.koa-mobile-search-input::placeholder {
    color: #6a6a66;
    opacity: 1;
}

.koa-mobile-search-input::-webkit-search-cancel-button,
.koa-mobile-search-input::-webkit-search-decoration {
    -webkit-appearance: none;
}

.koa-mobile-search .koa-mobile-search-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #0F544D;
    background-color: #0F544D;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    box-sizing: border-box;
}

.koa-mobile-search .koa-mobile-search-btn:hover,
.koa-mobile-search .koa-mobile-search-btn:focus {
    background: #0c4239;
    background-color: #0c4239;
}

.koa-mobile-search .koa-mobile-search-icon {
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex: 0 0 20px;
    fill: #fff !important;
    display: block;
    pointer-events: none;
}

.koa-mobile-pill {
    color: #fff !important;
    background: rgba(255, 255, 255, .18) !important;
    background-color: rgba(255, 255, 255, .18) !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    font-weight: 500 !important;
    border-radius: 999px;
    padding: 10px 16px;
    min-height: 40px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    line-height: 1.2;
    font-family: Poppins, sans-serif;
    text-decoration: none;
}

.koa-mobile-pill:hover,
.koa-mobile-pill:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, .28) !important;
    background-color: rgba(255, 255, 255, .28) !important;
}

/* ============================================================
   Panneau de suggestions (koaprint-home-hero.js) — mobile uniquement, cf. media query plus haut
   qui masque deja .koa-mobile-search entier des 768px (le panneau, enfant, l'est donc aussi).
   ============================================================ */

/* Boost de z-index CONDITIONNEL (posee/retiree en JS pendant l'ouverture uniquement) : sans lui,
   la chaine d'ancetres (position:relative mais z-index:auto) ne peut jamais passer au-dessus de
   la section qui suit le hero dans le DOM. Meme piege, meme fix que le header. */
.koa-hero-suggest-boost {
    position: relative !important;
    z-index: 10000 !important;
}

.koa-hero-suggest {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    background: #fff;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    box-sizing: border-box;
    padding: 6px 0;
    max-height: 60vh;
    overflow-y: auto;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .16s ease, transform .16s ease;
    z-index: 1;
}

.koa-hero-suggest.koa-hero-suggest-open {
    display: block;
}

.koa-hero-suggest.koa-hero-suggest-visible {
    opacity: 1;
    transform: translateY(0);
}

.koa-hero-suggest-label {
    padding: 10px 20px 6px 20px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #595959;
    font-family: Poppins, sans-serif;
}

.koa-hero-suggest-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.koa-hero-suggest-list li {
    border-top: 1px solid rgba(0, 0, 0, .06);
}

.koa-hero-suggest-list li:first-child {
    border-top: 0;
}

.koa-hero-suggest-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 44px;
    padding: 0 20px;
    font-size: 15px;
    color: #1a1a1a;
    text-decoration: none;
    font-family: Poppins, sans-serif;
    box-sizing: border-box;
}

.koa-hero-suggest-list a:active {
    background: rgba(15, 84, 77, .06);
}

.koa-hero-suggest-item-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.koa-hero-suggest-item-count {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 400;
    color: rgba(0, 0, 0, .45);
    white-space: nowrap;
}

/* Ligne d'action permanente : meme gabarit de ligne (44px/padding/police), mise en avant par la
   couleur d'accent en dur (#0F544D — jamais une couleur non explicite, cf. #9b0035 du reste du
   fichier). Selecteur combine pour l'emporter sur .koa-hero-suggest-list a (couleur #1a1a1a). */
.koa-hero-suggest-list a.koa-hero-suggest-action {
    color: #0F544D;
    font-weight: 600;
    justify-content: flex-start;
}

.koa-hero-suggest-list a.koa-hero-suggest-action:active {
    background: rgba(15, 84, 77, .06);
}

.koa-hero-suggest-nomatch {
    padding: 8px 20px 4px 20px;
    font-size: 13px;
    color: rgba(0, 0, 0, .45);
    font-family: Poppins, sans-serif;
}

/* ============================================================================================
   Claude — 2026-09-13 — hero hiver v3, dérogation gel page 39 autorisée par Antony (13/09/2026).
   Périmètre strict : container 0840013 et ses enfants c9aa14f / 22c6b12 / 484efb0 / 7773f62 /
   eeaa9e0 / 12a0044 / 0bd8ce4. Rien d'autre sur la page 39.

   v3 (soir) : Antony a fourni la bannière SANS le titre (médias 45389 desktop WebP 1956x804 et
   45390 mobile WebP recadré). Le H1 484efb0 redevient un vrai texte visible posé par-dessus
   l'image (SEO + accessibilité), avec « personnalisés » en orange via <span class="koa-hero-accent">
   (titre modifié dans _elementor_data par $wpdb, cf. scripts/elementor_data_write_wpdb_exemple.php).
   Le sous-titre « DES IDÉES POUR TOUTES VOS OCCASIONS » et les 4 icônes restent dessinés dans
   l'image (choix par défaut, Antony n'a pas tranché sur des icônes cliquables).

   Géométrie de l'image (1956x804) : zone libre en haut à gauche pour le H1 = x 5,5 % → 40 %,
   y 5 % → 33 % ; icônes y 38 % → 55 % ; sous-titre y ≈ 60 % ; badge avis SOUS le sous-titre,
   aligné à gauche, top 68 %, largeur ≈ 33 % de l'image (largeur du sous-titre).

   >=768px : bannière bord à bord, hauteur = aspect-ratio 1956/804 ; height:auto neutralise le
   `height:580px !important` du CSS additionnel WordPress (post 740, règle « Hero 50-50 v4 » du
   24/06) qui zoomait/rognait la bannière. Sous-titre 7773f62 et bloc recherche mobile eeaa9e0
   masqués (dans l'image). Widget search natif 0bd8ce4 masqué (déjà masqué ailleurs, ceinture).
   <768px : hero texte inchangé (H1 visible blanc, sous-titre, recherche + pastilles, badge en
   flux), image masquée (décision Antony 05/08 conservée). L'accent orange ne s'applique qu'à
   partir de 768px : sur fond vert mobile le titre reste entièrement blanc.
   ============================================================================================ */

@media (min-width: 768px) {
    .elementor-39 .elementor-element.elementor-element-0840013 {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1956 / 804;
        overflow: hidden;
    }

    .elementor-39 .elementor-element.elementor-element-c9aa14f,
    .elementor-39 .elementor-element.elementor-element-22c6b12 {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-39 .elementor-element.elementor-element-22c6b12 {
        z-index: 0;
    }

    .elementor-39 .elementor-element.elementor-element-22c6b12 .elementor-widget-container,
    .elementor-39 .elementor-element.elementor-element-22c6b12 .koa-hero-banner {
        display: block;
        width: 100%;
        height: 100%;
    }

    .elementor-39 .elementor-element.elementor-element-22c6b12 .koa-hero-banner-img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .elementor-39 .elementor-element.elementor-element-c9aa14f {
        z-index: 1;
        pointer-events: none;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        display: block !important;
    }

    /* H1 : vrai texte, posé dans la zone libre en haut à gauche de la bannière. */
    .elementor-39 .elementor-element.elementor-element-484efb0 {
        position: absolute !important;
        left: 21.75% !important;
        transform: translateX(-50%);
        text-align: center !important;
        top: 4% !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2;
        pointer-events: auto;
    }

    .elementor-39 .elementor-element.elementor-element-484efb0 .elementor-heading-title {
        text-align: center !important;
        font-family: Poppins, sans-serif !important;
        font-weight: 800 !important;
        font-size: clamp(26px, 3.6vw, 70px) !important;
        white-space: nowrap !important;
        line-height: 1.02 !important;
        letter-spacing: -0.01em !important;
        color: #0f544d !important;
        margin: 0 !important;
        text-shadow: none !important;
    }

    .elementor-39 .elementor-element.elementor-element-484efb0 .koa-hero-accent {
        color: #b8621b;
        display: block;
    }

    .elementor-39 .elementor-element.elementor-element-7773f62,
    .elementor-39 .elementor-element.elementor-element-eeaa9e0,
    .elementor-39 .elementor-element.elementor-element-0bd8ce4 {
        display: none !important;
    }

    /* Badge avis : sous le sous-titre dessiné dans l'image, aligné à gauche, largeur du sous-titre. */
    .elementor-39 .elementor-element.elementor-element-12a0044 {
        position: absolute !important;
        left: 22% !important;
        top: 63% !important;
        right: auto !important;
        bottom: auto !important;
        width: 430px !important;
        max-width: 430px !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2;
        pointer-events: auto;
        transform: translateX(-50%) scale(0.6);
        transform-origin: top center;
    }

    .elementor-39 .elementor-element.elementor-element-12a0044 .elementor-widget-container {
        width: 100% !important;
    }
}

@media (min-width: 1025px) {
    .elementor-39 .elementor-element.elementor-element-12a0044 {
        transform: translateX(-50%) scale(0.8);
    }
}

@media (min-width: 1440px) {
    .elementor-39 .elementor-element.elementor-element-12a0044 {
        transform: translateX(-50%) scale(1.1);
    }
}

@media (min-width: 1920px) {
    .elementor-39 .elementor-element.elementor-element-12a0044 {
        transform: translateX(-50%) scale(1.5);
    }
}

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-22c6b12 {
        display: none !important;
    }

    .elementor-39 .elementor-element.elementor-element-484efb0 .koa-hero-accent {
        color: inherit;
        display: inline;
    }
}

/* Claude — 2026-09-13 — hero hiver v5 : bannière finale (médias 45394/45395), interligne aéré. Trait sous « personnalisés » testé puis RETIRÉ à la demande d Antony (« retire le surligné »). */
@media (min-width: 768px) {
    .elementor-39 .elementor-element.elementor-element-484efb0 .elementor-heading-title {
        text-align: center !important;
        line-height: 1.12 !important;
    }
}
