/* ==========================================================================
   Accueil v4 — maquettes 2a (ordinateur) et 3a (mobile)
   ========================================================================== */

.wp-h { display: flex; flex-direction: column; }
.wp-h-only-m { display: none; }

/* Gabarit commun : blocs dans la colonne de 1280px, bandes pleine largeur. */
.wp-h-hero, .wp-h-sec, .wp-h-split, .wp-h-proband {
  width: 100%; max-width: var(--wp-wrap); margin: 0 auto; padding-left: var(--wp-gut); padding-right: var(--wp-gut);
}
.wp-h-soiree, .wp-h-contest, .wp-h-forum, .wp-h-pro {
  width: calc(100% - var(--wp-gut) * 2); max-width: calc(var(--wp-wrap) - var(--wp-gut) * 2); margin: 0 auto 40px;
}
.wp-h-dir__in, .wp-h-terr__in { max-width: var(--wp-wrap); margin: 0 auto; padding: 40px var(--wp-gut); }

/* ---------- La une ---------- */

.wp-h-hero {
  display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px;
  padding-top: 32px; padding-bottom: 32px;
}
.wp-h-car { position: relative; border-radius: var(--wp-r-lg); overflow: hidden; min-height: 470px; background: var(--wp-ink); isolation: isolate; }
.wp-h-car__slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .9s ease; }
.wp-h-car__slide.is-on { opacity: 1; pointer-events: auto; z-index: 1; }
.wp-h-car__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.wp-h-car__slide.is-on .wp-h-car__img { animation: wpKen 9s ease-out forwards; }
.wp-h-car__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27, 26, 23, 0) 30%, rgba(27, 26, 23, .88) 100%); }
.wp-h-car__slide--soiree {
  background: var(--wp-soiree);
  background-image: radial-gradient(circle at 85% 30%, rgba(240, 90, 30, .35) 0 160px, transparent 161px);
}
.wp-h-car__soiree { position: absolute; right: 48px; top: 40px; width: 230px; height: 230px; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.wp-h-car__slide--soiree.is-on .wp-h-car__soiree { transform: rotate(-6deg); }
.wp-h-car__soiree img { width: 100%; height: 100%; }
.wp-h-car__copy {
  position: absolute; left: 28px; right: 28px; bottom: 52px; color: var(--wp-paper);
  display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
  transform: translateY(16px); transition: transform .9s cubic-bezier(.2, .7, .2, 1);
}
.wp-h-car__slide.is-on .wp-h-car__copy { transform: none; }
.wp-h-car__tags { display: flex; gap: 8px; align-items: center; }
.wp-tag--soiree { background: var(--wp-soiree-acc); color: var(--wp-soiree-cream); }
.wp-h-car__meta { font: 400 11px/1.3 var(--wp-mono); text-transform: uppercase; letter-spacing: .08em; padding: 4px 0; }
.wp-h-car__t { font-size: 42px; font-weight: 900; letter-spacing: -.03em; line-height: 1.05; max-width: 640px; text-wrap: balance; }
.wp-h-car__t a { color: inherit; }
.wp-h-car__t a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
body.wp .wp-h-car__t a:hover { color: inherit; }
.wp-h-car__x { font-size: 16px; line-height: 1.5; opacity: .9; max-width: 580px; }
.wp-h-car__cta { background: var(--wp-paper); color: var(--wp-ink); font-weight: 700; font-size: 14px; padding: 10px 18px; border-radius: 999px; margin-top: 4px; transition: background .2s; }
.wp-h-car__slide:hover .wp-h-car__cta { background: var(--wp-acc); }
.wp-h-car__bars { position: absolute; left: 28px; right: 28px; bottom: 22px; display: flex; gap: 8px; z-index: 3; }
.wp-h-car__bar { flex: 1; height: 15px; padding: 6px 0; background: none; border: 0; cursor: pointer; }
.wp-h-car__bar span { display: block; height: 3px; border-radius: 2px; background: rgba(251, 249, 244, .3); overflow: hidden; position: relative; }
.wp-h-car__bar span::after {
  content: ''; position: absolute; inset: 0; background: var(--wp-paper);
  transform-origin: 0 50%; transform: scaleX(0);
}
.wp-h-car__bar.is-done span::after { transform: scaleX(1); }
.wp-h-car__bar.is-on span::after { animation: wpFill var(--wp-slide-dur, 6500ms) linear forwards; }
.wp-h-car.is-paused .wp-h-car__bar.is-on span::after { animation-play-state: paused; }
.wp-h-car__fil { display: none; }

.wp-h-aside { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.wp-h-find { background: var(--wp-paper); border-radius: var(--wp-r-lg); padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.wp-h-find .wp-chip--soft { padding: 6px 11px; font-weight: 400; }
.wp-h-today { background: var(--wp-paper); border-radius: var(--wp-r-lg); padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.wp-h-today__hd { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.wp-h-today__more { font-size: 13px; font-weight: 600; white-space: nowrap; }
.wp-h-today__rows { display: flex; flex-direction: column; gap: 8px; }
.wp-h-today__rows .wp-kv { border-bottom: 1px solid var(--wp-line); padding-bottom: 8px; }
body.wp .wp-h-today__rows .wp-kv:hover > :first-child { color: var(--wp-acc-2); }
.wp-h-today__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 8px; margin-top: 4px; }
.wp-h-today__stats a { display: flex; flex-direction: column; }

/* Résultats de la recherche instantanée */
.wp-hit { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: var(--wp-r-sm); }
.wp-hit:hover, .wp-hit.is-active { background: var(--wp-sand); }
.wp-hit__v { width: 40px; height: 40px; border-radius: 8px; background: var(--wp-sand-2); overflow: hidden; flex-shrink: 0; }
.wp-hit__v img { width: 100%; height: 100%; object-fit: cover; }
.wp-hit__c { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wp-hit__c b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-hit__c mark { background: rgba(236, 122, 36, .3); color: inherit; border-radius: 2px; }
.wp-hit__c small { font-size: 12px; color: var(--wp-muted); }
.wp-hit__b { font: 400 10px var(--wp-mono); text-transform: uppercase; color: var(--wp-acc-2); white-space: nowrap; }
.wp-hit__empty { padding: 12px; font-size: 14px; color: var(--wp-muted); }
.wp-hit__more { display: block; padding: 10px; font-size: 13px; font-weight: 700; border-top: 1px solid var(--wp-line); margin-top: 4px; }

/* Portes d'entrée (mobile) */
.wp-h-doors { display: none; }

/* ---------- Sections à titre ---------- */

.wp-h-sec { display: flex; flex-direction: column; gap: 16px; padding-bottom: 40px; }
.wp-h-week { padding-top: 8px; }
.wp-h-week__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.wp-h-week__empty { grid-column: 1 / -1; }
.wp-h-ev .wp-card__img { height: 120px; }
.wp-h-week__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 14px; color: var(--wp-ink-2); }
.wp-h-week__foot .wp-strong:hover { color: var(--wp-acc-2); }

/* ---------- La Soirée des Weppes ---------- */

.wp-h-soiree {
  background: var(--wp-soiree); color: var(--wp-soiree-cream); border-radius: var(--wp-r-lg); overflow: hidden;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 36px; align-items: center; padding: 32px 36px;
  background-image:
    radial-gradient(circle at 92% 120%, rgba(240, 90, 30, .28) 0 180px, transparent 181px),
    radial-gradient(circle at 92% 120%, transparent 0 220px, rgba(251, 243, 228, .08) 221px 223px, transparent 224px);
}
.wp-h-soiree__logo { width: 170px; height: 170px; }
.wp-h-soiree__copy { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.wp-h-soiree__tags { display: flex; gap: 10px; align-items: center; font: 400 12px var(--wp-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--wp-soiree-soft); }
.wp-h-soiree__ed { background: var(--wp-soiree-acc); color: var(--wp-soiree-cream); padding: 4px 8px; border-radius: 4px; }
.wp-h-soiree__m, .wp-h-soiree__mbtn { display: none; }
.wp-h-soiree__t { font-size: 40px; font-weight: 900; letter-spacing: -.03em; line-height: 1; }
.wp-h-soiree__x { font-size: 16px; line-height: 1.5; color: #D8E0D6; max-width: 620px; }
.wp-h-soiree__facts { display: flex; gap: 28px; font-size: 15px; margin: 4px 0 0; flex-wrap: wrap; }
.wp-h-soiree__facts dt { font: 400 11px var(--wp-mono); text-transform: uppercase; color: var(--wp-soiree-soft); }
.wp-h-soiree__facts dd { margin: 0; }
.wp-h-soiree__cta { display: flex; flex-direction: column; gap: 10px; min-width: 220px; }
.wp-h-soiree__count { text-align: center; }
.wp-h-soiree__count b { display: block; font-size: 64px; font-weight: 900; line-height: .9; color: var(--wp-soiree-acc); }
.wp-h-soiree__count span { display: block; font: 400 11px var(--wp-mono); text-transform: uppercase; color: #D8E0D6; margin-top: 4px; }
.wp-h-soiree__book { background: var(--wp-soiree-acc); color: var(--wp-soiree-cream); font-weight: 800; font-size: 15px; padding: 13px 18px; }
body.wp a.wp-h-soiree__book:hover { background: #FF6B2E; color: var(--wp-soiree-cream); }
.wp-h-soiree__partner { background: transparent; border-color: rgba(251, 243, 228, .4); color: var(--wp-soiree-cream); }
body.wp a.wp-h-soiree__partner:hover { border-color: var(--wp-soiree-cream); color: var(--wp-soiree-cream); }

/* ---------- Concours photo ---------- */

.wp-h-contest {
  background: var(--wp-paper); border: 2px solid var(--wp-ink); border-radius: var(--wp-r-lg); overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
.wp-h-contest__copy { padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.wp-h-contest__mk { display: none; }
.wp-h-contest__stats { display: flex; gap: 24px; margin-top: 4px; }
.wp-h-contest__stats b { display: block; font-size: 30px; font-weight: 900; line-height: 1.1; }
.wp-h-contest__stats span { font-size: 12px; color: var(--wp-muted); }
.wp-h-contest__btns { display: flex; gap: 8px; margin-top: auto; flex-wrap: wrap; }
.wp-h-contest__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4px; min-height: 0; align-self: stretch;
}
.wp-h-contest__grid a { position: relative; display: block; overflow: hidden; min-height: 0; }
.wp-h-contest__grid a:first-child { grid-row: span 2; }
.wp-h-contest__grid img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s; }
.wp-h-contest__grid a:hover img { transform: scale(1.05); }

/* ---------- Le fil + colonne ---------- */

.wp-h-split { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 28px; padding-bottom: 40px; align-items: start; }
.wp-h-fil { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.wp-h-compose { background: var(--wp-paper); border-radius: var(--wp-r); padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; }
.wp-h-compose__row { display: flex; align-items: center; gap: 12px; }
.wp-h-compose__row .wp-avatar .lw-icon { font-size: 20px; color: var(--wp-muted); }
.wp-h-compose__in {
  flex: 1; min-width: 0; background: var(--wp-sand); border: 0; border-radius: 999px; padding: 11px 16px;
  font-size: 15px; color: var(--wp-ink); outline: none;
}
a.wp-h-compose__in { color: var(--wp-faint); }
.wp-h-compose__in::placeholder { color: var(--wp-faint); }
.wp-h-compose__in:focus { box-shadow: 0 0 0 3px rgba(236, 122, 36, .25); }
.wp-h-compose__chips { display: flex; gap: 8px; flex-wrap: wrap; padding-left: 50px; }
.wp-h-compose__chips .wp-chip { padding: 5px 11px; }
.wp-h-feed { display: flex; flex-direction: column; gap: 14px; }


.wp-h-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.wp-h-side__hd { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.wp-h-commune { background: var(--wp-dark); color: var(--wp-on-dark); border-radius: var(--wp-r-lg); overflow: hidden; }
.wp-h-commune > img { width: 100%; height: 120px !important; object-fit: cover; }
.wp-h-commune__body { padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.wp-h-commune__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; color: var(--wp-on-dark-2); }
.wp-h-commune__stats b { display: block; font-size: 20px; font-weight: 800; color: var(--wp-on-dark); }
.wp-h-offer { display: flex; gap: 12px; align-items: center; }
.wp-h-offer__v { background: var(--wp-acc-soft, #FBE3D0); color: var(--wp-acc-2); font-weight: 900; font-size: 13px; padding: 8px 4px; border-radius: 6px; width: 50px; text-align: center; flex-shrink: 0; white-space: nowrap; }
.wp-h-offer__c { min-width: 0; display: flex; flex-direction: column; }
.wp-h-offer__c b { font-size: 14px; }
.wp-h-offer__c small { font-size: 12px; color: var(--wp-muted); }
body.wp .wp-h-offer:hover b { color: var(--wp-acc-2); }
.wp-h-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.wp-h-photos a { display: block; border-radius: 6px; overflow: hidden; }
.wp-h-photos img { width: 100%; height: 84px !important; object-fit: cover; transition: transform .4s; }
.wp-h-photos a:hover img { transform: scale(1.06); }
.wp-h-bulletin { background: var(--wp-acc); border-radius: var(--wp-r-lg); padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.wp-h-bulletin__t { font-size: 20px; font-weight: 900; line-height: 1.15; }
.wp-h-bulletin__row { display: flex; gap: 6px; }
.wp-h-bulletin__row .wp-input { padding: 9px 14px; font-size: 13px; border-color: transparent; }
.wp-h-bulletin__row .wp-btn { font-size: 13px; padding: 9px 14px; }
.wp-h-bulletin__ok { font-size: 12px; }
.wp-h-bulletin__ok input { width: 15px; height: 15px; }

.wp-h-ask-m, .wp-h-ad-m { display: none; }
.wp-h-side > .wp-ad { max-width: none; }

/* ---------- L'annuaire ---------- */

.wp-h-dir { background: var(--wp-paper); }
.wp-h-dir__in { display: flex; flex-direction: column; gap: 20px; }
.wp-h-dir__hd { display: flex; align-items: flex-end; gap: 24px; }
.wp-h-dir__hd > div:first-child { flex: 1; }
.wp-h-dir__hd .wp-kick { font-size: 12px; }
.wp-h-dir__hd .wp-text { margin-top: 4px; }
.wp-h-dir__cats { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.wp-h-cat { background: var(--wp-sand); border-radius: var(--wp-r-sm); padding: 14px; display: flex; flex-direction: column; gap: 2px; transition: background .2s, transform .2s; }
.wp-h-cat:hover { background: var(--wp-sand-2); transform: translateY(-2px); }
.wp-h-cat b { font-size: 15px; font-weight: 700; line-height: 1.2; }
.wp-h-cat span { font: 400 11px var(--wp-mono); color: var(--wp-muted); }
.wp-h-dir__fiches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.wp-h-fiche .wp-card__img { height: 110px; }
.wp-h-fiche .wp-card__body { padding: 12px 14px; gap: 3px; }
.wp-h-fiche__t { display: flex; gap: 6px; align-items: center; min-width: 0; }
.wp-h-fiche__t b { font-size: 16px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-h-fiche__o { font-size: 12px; font-weight: 600; margin-top: 4px; }
.wp-h-dir__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--wp-line); padding-top: 16px; font-size: 14px; }
.wp-h-dir__claim { color: var(--wp-ink-2); }

/* ---------- Petites annonces + coups de main ---------- */

.wp-h-split--ads { padding-top: 40px; }
.wp-h-ann { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.wp-h-ann__item .wp-card__img { height: 130px; }
.wp-h-ann__item .wp-card__media .wp-tag { left: 8px; top: 8px; }
.wp-h-ann__item .wp-card__body { padding: 12px 14px; }
.wp-h-ann__row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.wp-h-ann__row b { font-size: 18px; font-weight: 900; color: var(--wp-acc-2); white-space: nowrap; }
.wp-h-ann__row small { min-width: 0; font-size: 12px; color: var(--wp-faint); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-h-split--ads > section { gap: 14px; }
.wp-h-help { background: var(--wp-paper); border-radius: var(--wp-r-sm); padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.wp-h-help__t { font-size: 15px; font-weight: 700; }
.wp-h-help .wp-btn--sm { font-size: 12px; padding: 5px 10px; }
.wp-h-help--car { padding: 12px; font-size: 13px; }
.wp-h-help--car span { color: var(--wp-muted); }
body.wp a.wp-h-help--car:hover b { color: var(--wp-acc-2); }

/* ---------- Le forum ---------- */

.wp-h-forum { background: var(--wp-paper); border-radius: var(--wp-r-lg); padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 36px; }
.wp-h-forum > .wp-stack { gap: 12px; }
.wp-h-forum .wp-kick { font-size: 12px; }
.wp-h-forum__ask { display: flex; align-items: center; gap: 10px; background: var(--wp-sand); border-radius: var(--wp-r); padding: 6px 6px 6px 16px; margin-top: 4px; }
.wp-h-forum__ask input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 15px; outline: none; padding: 8px 0; }
.wp-h-forum__ask input::placeholder { color: var(--wp-faint); }
.wp-h-forum__ask:focus-within { box-shadow: 0 0 0 3px rgba(236, 122, 36, .25); }
.wp-h-forum__ask .wp-btn { padding: 10px 16px; }
.wp-h-forum__stats { display: flex; gap: 20px; font-size: 13px; color: var(--wp-muted); }
.wp-h-forum__stats b { color: var(--wp-ink); font-size: 18px; }
.wp-h-forum__cols { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; }
.wp-h-forum__h { font-size: 16px; font-weight: 800; }
.wp-h-topic { display: flex; flex-direction: column; gap: 3px; }
.wp-h-forum .wp-list > * { padding: 0 0 10px; margin-bottom: 10px; }
.wp-h-topic__t { font-size: 15px; font-weight: 700; }
body.wp .wp-h-topic:hover .wp-h-topic__t { color: var(--wp-acc-2); }
.wp-h-group { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: var(--wp-sand); border-radius: var(--wp-r-sm); padding: 10px 12px; }
.wp-h-group > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.wp-h-group b { font-size: 14px; }
.wp-h-group small { font-size: 12px; color: var(--wp-muted); }
.wp-h-group .wp-btn--sm { font-size: 12px; padding: 5px 10px; }
body.wp a.wp-h-group:hover .wp-btn--line { background: var(--wp-ink); color: var(--wp-paper); }
.wp-h-forum__cols .wp-more { font-size: 13px; }

/* ---------- La gazette ---------- */

.wp-h-gaz__cats { font-size: 14px; }
.wp-h-gaz { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.wp-h-art { display: flex; flex-direction: column; gap: 8px; }
.wp-h-art img { width: 100%; height: 160px !important; object-fit: cover; border-radius: 8px; transition: transform .4s, box-shadow .4s; }
.wp-h-art:hover img { transform: translateY(-3px); box-shadow: var(--wp-shadow); }
.wp-h-art__t { font-size: 18px; font-weight: 800; line-height: 1.2; }
.wp-h-art__x { font-size: 14px; line-height: 1.45; color: var(--wp-ink-2); }
body.wp .wp-h-art:hover .wp-h-art__t { color: var(--wp-acc-2); }

/* ---------- Découvrir ---------- */

.wp-h-terr { background-color: var(--wp-dark); background-image: var(--wp-furrow-dark); color: var(--wp-on-dark); }
.wp-h-terr__in { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; }
.wp-h-terr .wp-kick { font-size: 12px; }
.wp-h-terr .wp-chips { gap: 8px; }
.wp-h-terr .wp-chip { font-size: 14px; font-weight: 400; }
.wp-h-terr .wp-btn--ghost { border-color: var(--wp-muted); }
.wp-h-terr h3 { font-size: 20px; }
.wp-h-terr__n { font: 400 12px var(--wp-mono); color: var(--wp-on-dark-2); }
.wp-h-trail { display: flex; gap: 12px; align-items: center; }
.wp-h-trail > span { display: flex; flex-direction: column; min-width: 0; }
.wp-h-trail b { font-size: 15px; }
.wp-h-trail small { font-size: 12px; color: var(--wp-on-dark-2); }
body.wp a.wp-h-trail:hover b { color: var(--wp-acc); }
.wp-h-terr__also { font-size: 13px; color: var(--wp-on-dark-2); }
body.wp .wp-h-terr__also a:hover { color: var(--wp-acc); }

/* ---------- Pros ---------- */

.wp-h-pro {
  margin-top: 40px; margin-bottom: 0; background-color: var(--wp-acc); background-image: var(--wp-furrow-acc);
  border-radius: var(--wp-r-lg); padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 32px; align-items: center;
}
.wp-h-pro .wp-kick { font-size: 12px; }
.wp-h-pro__views { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.wp-h-pro__views b { font-size: 44px; font-weight: 900; letter-spacing: -.03em; line-height: 1; }
.wp-h-pro__views span { font-size: 15px; font-weight: 700; }
.wp-h-pro__x { font-size: 15px; line-height: 1.5; }
.wp-h-pro__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wp-h-pro__step { background: var(--wp-paper); border-radius: var(--wp-r); padding: 16px; display: flex; flex-direction: column; gap: 6px; transition: transform .2s, box-shadow .2s; }
.wp-h-pro__step:hover { transform: translateY(-3px); box-shadow: var(--wp-shadow); }
.wp-h-pro__n { font-size: 28px; font-weight: 900; color: var(--wp-acc-2); line-height: 1; }
.wp-h-pro__t { font-size: 16px; font-weight: 800; }
.wp-h-pro__step > span:not(.wp-h-pro__cta) { font-size: 13px; line-height: 1.4; color: var(--wp-ink-2); }
.wp-h-pro__cta { font-size: 13px; font-weight: 700; margin-top: auto; }
.wp-h-proband { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 16px; padding-bottom: 40px; }
.wp-h-proband .wp-card--pad-lg { padding: 22px; gap: 8px; }
.wp-h-proband__t { font-size: 20px; font-weight: 800; line-height: 1.2; }
.wp-h-proband .wp-text { font-size: 14px; line-height: 1.45; }
.wp-h-proband__btn { align-self: flex-start; margin-top: 6px; padding: 9px 16px; }

/* ---------- Outils ---------- */

.wp-h-tools { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.wp-h-tool { background: var(--wp-paper); border-radius: var(--wp-r-sm); padding: 14px; display: flex; flex-direction: column; gap: 4px; transition: background .2s, transform .2s; }
.wp-h-tool:hover { background: #fff; transform: translateY(-2px); }
.wp-h-tool b { font-size: 15px; font-weight: 800; }
.wp-h-tool span { font-size: 12px; line-height: 1.4; color: var(--wp-muted); }
body.wp a.wp-h-tool:hover { color: var(--wp-ink); }

/* ---------- En bref + appli ---------- */

.wp-h-split--faq { align-items: stretch; }
.wp-h-split--faq .wp-sh { display: block; }
.wp-h-faq__row { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--wp-line-2); padding: 10px 0; }
.wp-h-faq__row > span { font-size: 18px; color: var(--wp-faint); }
.wp-h-faq__q { font-size: 16px; font-weight: 700; }
.wp-h-faq__a { font-size: 14px; line-height: 1.45; color: var(--wp-ink-2); margin-top: 2px; }
.wp-h-app { background: var(--wp-dark); color: var(--wp-on-dark); border-radius: var(--wp-r-lg); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.wp-h-app__t { font-size: 24px; font-weight: 900; line-height: 1.1; }
.wp-h-app p { font-size: 14px; line-height: 1.5; color: var(--wp-on-dark-2); }
.wp-h-app__shot {
  flex: 1; min-height: 120px; border-radius: var(--wp-r-sm); overflow: hidden; display: flex; align-items: flex-end; justify-content: center;
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 8px, rgba(255, 255, 255, .1) 8px 16px);
}
.wp-h-app__shot img { max-height: 220px; width: auto; }
.wp-h-app .wpap-stores { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.wp-h-app .wpap-store { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 1 1 140px; min-height: 48px; padding: 7px 12px; border-radius: 10px; background: var(--wp-paper); color: var(--wp-ink); }
.wp-h-app .wpap-store small { display: block; font-size: 10px; line-height: 1.15; }
.wp-h-app .wpap-store strong { display: block; font-size: 14px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.wp-h-app .wpap-store__mark { width: 20px; height: 20px; flex: none; display: block; }
body.wp .wp-h-app a.wpap-store:hover { background: #fff; color: var(--wp-ink); }

/* ==========================================================================
   Tablette
   ========================================================================== */

@media (max-width: 1180px) {
  .wp-h-dir__cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wp-h-tools { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wp-h-week__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wp-h-soiree { grid-template-columns: auto minmax(0, 1fr); }
  .wp-h-soiree__cta { grid-column: 1 / -1; flex-direction: row; align-items: center; flex-wrap: wrap; }
  .wp-h-soiree__count { display: flex; align-items: baseline; gap: 10px; }
  .wp-h-soiree__count b { font-size: 44px; }
}

@media (max-width: 1023px) {
  .wp-h-hero { grid-template-columns: minmax(0, 1fr); }
  .wp-h-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-h-contest { grid-template-columns: minmax(0, 1fr); }
  .wp-h-contest__grid { height: 240px; min-height: 0; }
  .wp-h-split { grid-template-columns: minmax(0, 1fr); }
  .wp-h-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-h-dir__fiches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-h-ann { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-h-forum, .wp-h-terr__in, .wp-h-pro { grid-template-columns: minmax(0, 1fr); }
  .wp-h-gaz { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-h-proband { grid-template-columns: minmax(0, 1fr); }
  .wp-h-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ==========================================================================
   Mobile (maquette 3a)
   ========================================================================== */

@media (max-width: 760px) {
  .wp-h-only-d { display: none; }
  .wp-h-only-m { display: inline; }
  .wp-h > * { order: 20; }
  .wp-h > .wp-flash { order: 0; }
  .wp-h-hero { order: 1; }
  .wp-h-doors { order: 2; }
  .wp-h-week { order: 3; }
  .wp-h-soiree { order: 4; }
  .wp-h-split:not(.wp-h-split--ads):not(.wp-h-split--faq) { order: 5; }
  .wp-h-contest { order: 6; }
  .wp-h-ask-m { order: 7; }
  .wp-h-ad-m { order: 8; }
  .wp-h-dir { order: 9; }
  .wp-h-pro { order: 10; }
  .wp-h-split--ads, .wp-h-forum, .wp-h > .wp-h-sec:not(.wp-h-week), .wp-h-terr, .wp-h-proband, .wp-h-split--faq { display: none; }

  /* Titres de section façon mobile : sans filet. */
  .wp-h .wp-sh { border: 0; background: none; padding: 0; justify-content: space-between; flex-wrap: nowrap; }
  .wp-h .wp-sh__t { font-size: 21px; }
  .wp-h .wp-sh__end { gap: 8px; }
  .wp-h .wp-more { font-size: 13px; }

  /* Une plein cadre + « À l'instant dans le fil » */
  .wp-h-hero { padding: 0; gap: 0; }
  .wp-h-aside { display: none; }
  .wp-h-car { border-radius: 0; min-height: 0; height: 440px; }
  .wp-h-car__shade { background: linear-gradient(180deg, rgba(27, 26, 23, .1) 0%, rgba(27, 26, 23, .9) 70%); }
  .wp-h-car__copy { left: 18px; right: 18px; bottom: 18px; gap: 8px; }
  .wp-h-car:has(.wp-h-car__fil) .wp-h-car__copy { bottom: 136px; }
  .wp-h-car .wp-tag { font-size: 10px; padding: 3px 7px; }
  .wp-h-car__meta { font-size: 10px; padding: 3px 0; }
  .wp-h-car__t { font-size: 30px; line-height: 1.02; }
  .wp-h-car__x, .wp-h-car__cta { display: none; }
  .wp-h-car__soiree { width: 150px; height: 150px; right: 18px; top: 34px; }
  .wp-h-car__bars { top: 12px; bottom: auto; left: 18px; right: 18px; }
  .wp-h-car__fil {
    display: flex; flex-direction: column; gap: 6px; position: absolute; z-index: 3; left: 18px; right: 18px; bottom: 18px;
    border-top: 1px solid rgba(251, 249, 244, .3); padding-top: 10px; color: var(--wp-paper);
  }
  .wp-h-car__filhd { display: flex; justify-content: space-between; font: 400 10px var(--wp-mono); text-transform: uppercase; color: var(--wp-acc); }
  .wp-h-car__filhd a { font: 700 12px var(--wp-sans); text-transform: none; color: var(--wp-paper); }
  .wp-h-car__filrow { display: flex; gap: 8px; font-size: 13px; }
  .wp-h-car__filrow span { font-weight: 700; flex: 1; }
  .wp-h-car__filrow small { font-size: 13px; opacity: .7; flex-shrink: 0; }
  body.wp a.wp-h-car__filrow:hover { color: var(--wp-acc); }

  .wp-h-doors { display: flex; gap: 8px; padding: 16px; overflow-x: auto; scrollbar-width: none; }
  .wp-h-doors::-webkit-scrollbar { display: none; }
  .wp-h-doors__item { flex-shrink: 0; background: var(--wp-paper); border: 1px solid var(--wp-line); border-radius: var(--wp-r-lg); padding: 12px 14px; min-width: 96px; display: flex; flex-direction: column; }
  .wp-h-doors__item b { font-size: 15px; font-weight: 800; }
  .wp-h-doors__item span { font-size: 11px; color: var(--wp-muted); }

  .wp-h-sec { padding-bottom: 20px; gap: 12px; }
  .wp-h-week { padding-top: 4px; }
  .wp-h-week__grid { --rail-w: 200px; }
  .wp-h-ev .wp-card__img { height: 110px; }
  .wp-h-ev .wp-date { left: 8px; top: 8px; border-radius: 7px; padding: 3px 7px; }
  .wp-h-ev .wp-date__d { font-size: 16px; }
  .wp-h-ev .wp-date__m { font-size: 9px; }
  .wp-h-ev .wp-card__body { padding: 10px 12px; gap: 2px; }
  .wp-h-ev .wp-kick { display: none; }
  .wp-h-ev .wp-card__t { font-size: 14px; }
  .wp-h-ev .wp-card__s { font-size: 12px; }
  .wp-h-week__foot { display: none; }

  .wp-h-soiree { width: auto; margin: 0 16px 20px; border-radius: 16px; padding: 16px; display: flex; gap: 14px; align-items: center; background-image: none; }
  .wp-h-soiree__logo { width: 72px; height: 72px; flex-shrink: 0; }
  .wp-h-soiree__copy { gap: 0; }
  .wp-h-soiree__tags, .wp-h-soiree__x, .wp-h-soiree__facts, .wp-h-soiree__cta { display: none; }
  .wp-h-soiree__m { display: block; font: 400 10px var(--wp-mono); text-transform: uppercase; color: var(--wp-soiree-soft); }
  .wp-h-soiree__t { font-size: 17px; line-height: 1.15; }
  .wp-h-soiree__mbtn { display: inline-block; align-self: flex-start; margin-top: 8px; background: var(--wp-soiree-acc); color: var(--wp-soiree-cream); font-size: 12px; font-weight: 800; padding: 7px 12px; border-radius: 999px; }
  body.wp a.wp-h-soiree__mbtn:hover { color: var(--wp-soiree-cream); }

  .wp-h-split { padding-bottom: 20px; gap: 10px; }
  .wp-h-fil { gap: 10px; }
  .wp-h-compose, .wp-h-side { display: none; }
  .wp-h-fil > .wp-chips { gap: 6px; margin: 0 calc(var(--wp-gut) * -1); padding: 0 var(--wp-gut); }
  .wp-h-fil > .wp-chips .wp-chip { font-size: 12px; padding: 6px 11px; }
  .wp-h-feed { gap: 10px; }

  .wp-h-contest { width: auto; margin: 0 16px 20px; border-radius: 16px; display: flex; flex-direction: column; }
  .wp-h-contest__grid { order: -1; grid-template-columns: 2fr 1fr; grid-template-rows: 70px 70px; gap: 3px; height: auto; min-height: 0; }
  .wp-h-contest__grid a { min-height: 0; }
  .wp-h-contest__grid a:nth-child(n+4) { display: none; }
  .wp-h-contest__copy { padding: 14px; gap: 6px; }
  .wp-h-contest__copy > .wp-row, .wp-h-contest__copy .wp-text, .wp-h-contest__stats, .wp-h-contest__btns .wp-btn--line { display: none; }
  .wp-h-contest__mk { display: block; }
  .wp-h-contest .wp-h2 { font-size: 18px; }
  .wp-h-contest__btns { margin-top: 4px; }
  .wp-h-contest__btns .wp-btn { width: 100%; font-size: 13px; padding: 10px; }

  .wp-h-ask-m { display: block; }
  .wp-h-ask-m > .wp-sh__t { padding: 0 16px; font-size: 21px; font-weight: 900; letter-spacing: -.02em; }
  .wp-h-ask-m__box { margin: 10px 16px 20px; background: var(--wp-paper); border-radius: var(--wp-r-lg); padding: 14px; display: flex; flex-direction: column; gap: 10px; }
  .wp-h-ask-m .wp-input { border-radius: var(--wp-r-sm); padding: 11px 12px; font-size: 14px; }
  .wp-h-ask-m .wp-list > * { display: flex; flex-direction: column; padding: 0 0 8px; margin-bottom: 8px; }
  .wp-h-ask-m .wp-list > *:last-child { margin-bottom: 0; }
  .wp-h-ask-m .wp-h-topic__t { font-size: 14px; }
  .wp-h-ask-m .wp-meta { font-size: 11px; color: var(--wp-muted); }

  .wp-h-ad-m { display: block; margin: 0 16px 20px; }
  .wp-h-ad-m .wp-ad { max-width: none; }

  .wp-h-dir { background: transparent; }
  .wp-h-dir__in { padding: 0 16px 20px; gap: 12px; }
  .wp-h-dir__hd .wp-kick, .wp-h-dir__hd .wp-text, .wp-h-dir__hd .wp-seg, .wp-h-dir__fiches, .wp-h-dir__foot { display: none; }
  .wp-h-dir .wp-h2 { font-size: 21px; }
  .wp-h-dir__cats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .wp-h-cat { background: var(--wp-paper); padding: 11px 12px; }
  .wp-h-cat b { font-size: 13px; }
  .wp-h-cat span { font-size: 10px; }

  .wp-h-pro { width: auto; margin: 0 16px 20px; border-radius: 16px; padding: 18px; gap: 8px; background-image: none; }
  .wp-h-pro .wp-kick { font-size: 10px; }
  .wp-h-pro .wp-h2 { font-size: 22px; }
  .wp-h-pro__views { margin-top: 0; gap: 6px; }
  .wp-h-pro__views b { font-size: 20px; }
  .wp-h-pro__views span { font-size: 13px; font-weight: 400; }
  .wp-h-pro__x, .wp-h-pro__steps { display: none; }
  .wp-h-pro .wp-h-only-m.wp-btn { display: flex; font-size: 13px; padding: 10px; }
}
