.elementor-kit-8{--e-global-color-primary:#FDD7DA;--e-global-color-secondary:#0000FF;--e-global-color-text:#353535;--e-global-color-accent:#FF7731;--e-global-color-f898f31:#FFFEFE;--e-global-color-0d046a4:#E9E9E9;--e-global-color-c6c574f:#F9F9F9;--e-global-color-7ad78f4:#FFFFFFE6;--e-global-color-8630d9f:#7E222200;--e-global-color-b500f0a:#FFFFFF;--e-global-color-535748f:#FF7731;--e-global-color-5bcf7d4:#FFFF57;--e-global-color-4f344b6:#BED8FC;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-size:45px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-text-transform:capitalize;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Slice mono";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-text-font-family:"Bricolage Grotesque";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-family:"Silkscreen";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-line-height:1.2em;--e-global-typography-6ed476c-font-family:"Varela Round";--e-global-typography-6ed476c-font-size:20px;--e-global-typography-6ed476c-font-weight:400;--e-global-typography-6ed476c-text-transform:capitalize;--e-global-typography-9525bd0-font-family:"Montserrat";--e-global-typography-9525bd0-font-size:20px;--e-global-typography-9525bd0-font-weight:300;--e-global-typography-9525bd0-text-transform:capitalize;--e-global-typography-cdaaf6a-font-family:"Varela Round";--e-global-typography-cdaaf6a-font-size:16px;--e-global-typography-cdaaf6a-font-weight:300;--e-global-typography-cdaaf6a-text-transform:capitalize;--e-global-typography-cdaaf6a-font-style:normal;--e-global-typography-0009af8-font-family:"Montserrat";--e-global-typography-0009af8-font-size:14px;--e-global-typography-0009af8-font-weight:400;--e-global-typography-0009af8-text-transform:capitalize;--e-global-typography-0009af8-font-style:normal;--e-global-typography-0009af8-letter-spacing:0px;--e-global-typography-ef2c50b-font-family:"Varela Round";--e-global-typography-ef2c50b-font-size:15px;--e-global-typography-ef2c50b-font-weight:300;--e-global-typography-f8a9e51-font-family:"Varela Round";--e-global-typography-f8a9e51-font-size:35px;--e-global-typography-f8a9e51-font-weight:300;--e-global-typography-f8a9e51-text-transform:capitalize;--e-global-typography-f8a9e51-line-height:1.2em;--e-global-typography-ccc280a-font-family:"Varela Round";--e-global-typography-ccc280a-font-size:80px;--e-global-typography-ccc280a-font-weight:300;--e-global-typography-ccc280a-text-transform:capitalize;--e-global-typography-ccc280a-line-height:1.2em;--e-global-typography-2c11d45-font-family:"Varela Round";--e-global-typography-2c11d45-font-size:50px;--e-global-typography-2c11d45-font-weight:500;--e-global-typography-2c11d45-text-transform:capitalize;--e-global-typography-2c11d45-line-height:1.2em;--e-global-typography-0607a91-font-family:"Silkscreen";font-family:"Silkscreen", Sans-serif;background-color:var( --e-global-color-f898f31 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-8{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:18px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:15px;--e-global-typography-6ed476c-font-size:18px;--e-global-typography-9525bd0-font-size:18px;--e-global-typography-cdaaf6a-font-size:15px;--e-global-typography-0009af8-font-size:14px;--e-global-typography-ef2c50b-font-size:15px;--e-global-typography-f8a9e51-font-size:25px;--e-global-typography-ccc280a-font-size:70px;--e-global-typography-2c11d45-font-size:45px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:16px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:15px;--e-global-typography-6ed476c-font-size:20px;--e-global-typography-9525bd0-font-size:18px;--e-global-typography-cdaaf6a-font-size:15px;--e-global-typography-0009af8-font-size:14px;--e-global-typography-ef2c50b-font-size:15px;--e-global-typography-f8a9e51-font-size:25px;--e-global-typography-ccc280a-font-size:50px;--e-global-typography-2c11d45-font-size:35px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Carte */
.km-card{
  position: relative;
  padding-bottom: 28px; /* espace pour le cartouche qui déborde */
}

/* Wrapper image avec ratio fixe portrait */
.km-figure{
  position: relative;
  border-radius: 14px;
  overflow: hidden;               /* masque l'image qui dépasse */
  aspect-ratio: 3 / 4;            /* 600x800 */
  background: #f4f4f4;            /* couleur de fond si image lente */
}

/* Image toujours visible et couvrante */
.km-figure img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;              /* remplit sans déformer */
}

/* Cartouche blanc qui chevauche l'image */
.km-name{
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -18px;                  /* chevauche vers le bas */
  margin: 0;
  padding: 14px 16px;
  background: #fff;
  border: 2px solid #0000FF;      /* filet bleu 2px */
  box-sizing: border-box;          /* garde la largeur visuelle */
  border-radius: 0px;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  z-index: 2;
  pointer-events: none;           /* évite des clics parasites */
}

/* Micro-anim au hover sur la carte */
.km-card:hover .km-figure img{
  transform: scale(1.03);
  transition: transform .35s ease;
}
.km-card{
  transition: transform .3s ease, box-shadow .3s ease;
}

.km-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
/* Le parent doit être relatif pour ancrer les stickers */
.hero-stickers{
  position: relative;
  overflow: visible;
  background: #f6f4ef;
  min-height: 480px; /* pour avoir de la place aux stickers */
}

/* Titre */
.title-line1{
  font-size: clamp(48px, 8vw, 140px);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #0c2333;
  margin: 0 0 10px 0;
}
.title-line2{
  font-size: clamp(44px, 7.5vw, 130px);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffd230;
  margin: 0;
}

/* Tous les stickers passent en absolu */
.sticker{
  position: absolute !important;
  z-index: 3;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,.08));
  transform-origin: center;
  pointer-events: none; /* option : pas cliquables */
}

/* Placement proche de ta ref (à ajuster au pixel si besoin) */
.hero-stickers .s1{ top: 12%; left: 9%;  transform: rotate(-14deg); } /* éclair jaune */
.hero-stickers .s2{ top: 10%; right: 12%; transform: rotate(10deg); } /* part de pizza */
.hero-stickers .s3{ top: 26%; left: 22%; transform: rotate(6deg) scale(0.85); } /* étoile rose/verte */
.hero-stickers .s4{ top: 28%; right: 7%; transform: rotate(-10deg) scale(0.9); } /* main peace */
.hero-stickers .s5{ bottom: 10%; left: 6%; transform: rotate(8deg); } /* badge good heart */
.hero-stickers .s6{ bottom: 8%; right: 14%; transform: rotate(-6deg); } /* damier rond */

/* Option: animation subtile */
@keyframes floaty{ 0%,100%{ transform: translateY(0) rotate(var(--r,0)); } 50%{ transform: translateY(-6px) rotate(var(--r,0)); } }
.s1{ --r:-14deg; } .s2{ --r:10deg; } .s3{ --r:6deg; } .s4{ --r:-10deg; } .s5{ --r:8deg; } .s6{ --r:-6deg; }
.sticker{ animation: floaty 6s ease-in-out infinite; }

/* Responsive : on évite la surcharge sur mobile */
@media (max-width: 1024px){
  .sticker{ transform: scale(.9) rotate(var(--r,0)); }
}
@media (max-width: 767px){
  .hero-stickers{ padding-top: 80px; padding-bottom: 80px; min-height: 420px; }
  .hero-stickers .s3, .hero-stickers .s4{ display:none; }
  .hero-stickers .s1{ top: 6%; left: 6%; }
  .hero-stickers .s2{ top: 6%; right: 6%; }
  .hero-stickers .s5{ bottom: 8%; left: 8%; }
  .hero-stickers .s6{ bottom: 8%; right: 10%; }
}
/* 1) Assurer l'ancre relative au bon niveau */
.hero-stickers { position: relative; }

/* Elementor crée plusieurs wrappers — on les laisse en flux (static) */
.hero-stickers > .elementor-container,
.hero-stickers .elementor-row,
.hero-stickers .elementor-column,
.hero-stickers .elementor-widget-wrap {
  position: static !important;
  overflow: visible !important;
}

/* 2) Forcer les stickers en absolu, par-dessus */
.hero-stickers .sticker {
  position: absolute !important;
  z-index: 5 !important;
  pointer-events: none;
}

/* (Optionnel) s'il y a un conflit de z-index avec le titre */
.hero-stickers .title-line1,
.hero-stickers .title-line2 {
  position: relative;
  z-index: 3;
}
/* Force les images des stands au même format portrait */
.stand-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 3;   /* format portrait 600x800 */
  object-fit: cover;     /* recadre sans déformer */
  display: block;
  border-radius: 10px;   /* optionnel, arrondi */
}
/* ---------- HERO ---------- */
.corner-hero{
  position: relative;
  min-height: 420px;
  background-size: cover;
  background-position: center;
}
.corner-hero-title{
  position: relative;
  z-index: 2;
  font-size: clamp(56px, 11vw, 180px);
  line-height: .85;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffd230; /* jaune titre */
  margin: 40px 0;
  text-transform: uppercase;
}
/* ornement au centre derrière le titre */
.corner-ornament{
  position: absolute !important;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  z-index: 1;
  opacity: .9;
  mix-blend-mode: multiply; /* optionnel */
  pointer-events: none;
}

/* ---------- BODY ---------- */
.corner-body{
  background: #fff;
}

/* Titres & texte */
.corner-title{
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 0 0 16px 0;
}
.corner-desc{
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .01em;
  text-transform: none;
  max-width: 720px;
}

/* Boutons ghost (gauche) */
.corner-btns .elementor-widget-button{ margin: 10px 0; }
.btn-ghost .elementor-button{
  width: 260px; max-width: 100%;
  background: #111;
  color: #fff;
  border-radius: 0;
  padding: 14px 18px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: transform .2s ease, background .2s ease;
}
.btn-ghost .elementor-button:hover{ background:#222; transform: translateY(-2px); }

/* ---------- CARD NOIRE (droite) ---------- */
.corner-card{
  position: relative;
  background: #0b0b0b;
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(0,0,0,.15);
  overflow: visible;
}
.corner-badge{
  position: absolute;
  top: -18px; right: 20px;
  z-index: 3;
  background: #ffd230;
  color: #0b0b0b;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.corner-addr{
  color: #ffd230;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 800;
  letter-spacing: .02em;
  margin: 8px 0 18px 0;
  text-transform: uppercase;
}
.corner-list .elementor-icon-list-items{
  gap: 10px;
}
.corner-list .elementor-icon-list-item{
  color: #ffd230;
  font-size: 14px;
  line-height: 1.5;
}
.corner-list .elementor-icon-list-icon i{
  color: #ffd230;
}

/* CTA filaire */
.btn-wire .elementor-button{
  width: 120px;
  background: transparent;
  border: 1px solid #ffd230;
  color: #ffd230;
  border-radius: 0;
  font-weight: 800;
  letter-spacing: .04em;
  margin-top: 18px;
}
.btn-wire .elementor-button:hover{
  background: #ffd230; color: #0b0b0b;
}
/* Header sticky + états */
.header-smart{
  position: sticky;
  top: 0;
  z-index: 999;
  will-change: transform, opacity;
}

/* Style compact quand on a dépassé le seuil */
.header-smart.is-compact{
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(180%) blur(10px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* État final caché (après anim-hide) */
.header-smart.is-hidden{
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

/* Animations */
.header-smart.anim-show{
  animation: headerShow .48s cubic-bezier(.22,.61,.36,1) both;
}
.header-smart.anim-hide{
  animation: headerHide .40s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes headerShow{
  from { transform: translateY(-16px); opacity: 0; }
  to   { transform: translateY(0);     opacity: 1; }
}
@keyframes headerHide{
  from { transform: translateY(0);     opacity: 1; }
  to   { transform: translateY(-100%); opacity: 0; }
}

/* Barre admin WP */
.admin-bar .header-smart{ top: 32px; }
@media (max-width: 782px){ .admin-bar .header-smart{ top: 46px; } }

/* Accessibilité : réduit l’anim si demandé par l’OS */
@media (prefers-reduced-motion: reduce){
  .header-smart{ animation: none !important; transition: none !important; }
}
:root{ --accent:#0000FF; }

/* ===== CARD ===== */
.km-card{
  position: relative;
  padding-bottom: 28px;                 /* espace pour le cartouche */
  border-radius: 0px;                  /* pour que le filet suive les coins */
  box-shadow: 0 0 0 2px var(--accent);  /* filet bleu autour de toute la fiche */
  transition: transform .3s ease, box-shadow .3s ease;
}
.km-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 0 0 2px var(--accent), 0 10px 30px rgba(0,0,0,.12);
}

/* ===== IMAGE ===== */
.km-figure{
  position: relative;
  border-radius: 0px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background:#f4f4f4;
  .km-figure{ border-radius: 0; }
.km-figure img{ border-radius: 0; } /* au cas où un style global s’applique */

}
.km-figure img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.km-card:hover .km-figure img{
  transform: scale(1.03);
  transition: transform .35s ease;
}

/* ===== NOM : barre blanche pleine largeur (par défaut) ===== */
.km-name{
  position:absolute;
  left:16px; right:16px; bottom:-18px;
  margin:0;
  padding:14px 16px;
  background:#fff;
  border-radius:0;
  line-height:1.2;
  font-weight:600;
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  z-index:2;
  pointer-events:none;
}

/* ===== VARIANTE "BOUTON" (cadre autour du mot) =====
   Ajoute simplement la classe CSS `km-name--btn` au widget du titre.
   Aucun HTML à modifier. */
.km-name--btn{
  left:50%; right:auto; transform:translateX(-50%);
  display:inline-block;                /* largeur calée au texte */
  padding:.45em .85em;
  background:#fff;
  outline:2px solid var(--accent);     /* filet sans modifier la boîte */
  outline-offset:0;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  box-sizing:border-box;
}
/* Réglages d’écart */
.km-card{ padding-bottom: 10px; }  /* avant : 28px */
.km-name{ bottom: -10px; }         /* avant : -18px */


/* ---------- Responsive ---------- */
@media (max-width: 1024px){
  .corner-hero{ min-height: 360px; }
}
@media (max-width: 767px){
  .corner-ornament{ width: 70%; opacity: .85; }
  .btn-ghost .elementor-button{ width: 100%; }
}
/* 1) Restaure le comportement normal des icônes Elementor */
.elementor-icon svg,
.elementor-button .elementor-button-icon svg,
.elementor a svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* 2) Neutralise les classes génériques d'export (Illustrator, etc.) */
svg .cls-1,
svg .cls-2,
svg .st0,
svg .st1 {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* 3) Force le blanc UNIQUEMENT dans ton bloc réseaux sociaux */
.hn-social svg,
.hn-social svg * {
  fill: #fff !important;
  stroke: #fff !important;
}

/* 4) (Option sécurité) Désactive les <style> internes des SVG hors bloc social
   — utile si un SVG embarque un <style>. Dé-commente si besoin. */
/*
svg style { display: none !important; }
.hn-social svg style { display: block !important; }
*/
/* Bloc hero aligné sur 1200 px comme la section du dessous */
.hero-wrap{
  max-width: 1350px;
  margin: 0 auto;
  position: relative;       /* ancrage du logo si overlay */
  padding: 0;               /* pas d'espace parasite */
}

/* Image hero = pleine largeur du conteneur, hauteur max 500, crop propre */
.hero-media img{
  width: 100%;
  height: 500px;            /* cible desktop */
  max-height: 500px;        /* plafond demandé */
  object-fit: cover;        /* adapte/cadre sans déformer */
  border-radius: 0px;      /* optionnel, à harmoniser avec la galerie */
  display: block;
}

/* Si tu utilises un logo overlay (optionnel) */
.hero-logo{
  position: absolute;
  left: 40%;
  bottom: 30%;
  z-index: 3;
  pointer-events: none;
}
.hero-logo img{
  width: clamp(120px, 18vw, 260px);
  height: auto;
  display: block;
}

/* Tablette : un peu moins haut pour garder le rythme */
@media (max-width: 1024px){
  .hero-media img{ height: 420px; }
}

/* Mobile : largeur fluide + hauteur en proportion de l'écran */
@media (max-width: 767px){
  .hero-wrap{ max-width: 92vw; }   /* même respiration que le contenu */
  .hero-media img{ height: 56vw; } /* conserve un beau ratio en cover */
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Slice mono';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://hallenovamarket.com/wp-content/uploads/2025/09/MBASliceMono-Regular.woff') format('woff');
}
/* End Custom Fonts CSS */