/* LQCaventures — calendrier v8 : cartes illustrées par circuit, regroupées par mois.
   Couleurs d'accent par circuit (jamais de bleu) :
   Haut-Atlas magenta · Atlantique or · Désert terre cuite · Canada blanc glacier · France vert LQC */
.kind-haut-atlas{--k:#FF14B6}.kind-atlantique{--k:#F2C14E}.kind-desert{--k:#E07B39}.kind-canada{--k:#F2F2F5}
.kind-maroc{--k:#7CD947}.kind-nocturne,.kind-journee,.kind-weekend,.kind-concession,.kind-france{--k:#7CD947}
.lqc-kind{display:inline-flex;align-items:center;gap:6px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(10,10,13,.78);border:1px solid var(--k,#7CD947);border-left-width:3px;padding:5px 10px;border-radius:4px;line-height:1.2;white-space:nowrap}

/* Filtres */
.cal-v8-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 8px}
.cal-v8-filters button{border:1px solid rgba(124,217,71,.3);background:transparent;color:var(--txt,#e8e8ec);padding:10px 14px;border-radius:999px;font-family:'Barlow Condensed',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;min-height:42px}
.cal-v8-filters button.active,.cal-v8-filters button:hover{background:#7CD947;color:#0a0a0d;border-color:#7CD947}

/* Grille + titres de mois */
.cal-v8-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;align-items:stretch}
.cal-v8-month{grid-column:1/-1;margin:26px 0 0;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.12);font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:.04em;color:#fff;line-height:1}
.cal-v8-month span{color:var(--txt-dim,#9a9aa3);font-size:22px}
.cal-v8-month:first-child{margin-top:6px}
.cal-v8-month[hidden],.cal-v8-card[hidden]{display:none!important}

/* Carte */
.cal-v8-card{display:flex;flex-direction:column;background:var(--bg-card,#141418);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--k,#7CD947);border-radius:10px;overflow:hidden;transition:transform .2s,border-color .2s}
.cal-v8-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);border-top-color:var(--k,#7CD947)}
.cal-v8-visual{position:relative;display:block;aspect-ratio:16/8;overflow:hidden;background:#0a0a0d}
.cal-v8-visual img:not(.fli){width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cal-v8-card:hover .cal-v8-visual img:not(.fli){transform:scale(1.04)}
.cal-v8-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,13,0) 45%,rgba(10,10,13,.55))}
.cal-v8-visual .lqc-kind{position:absolute;left:12px;top:12px;z-index:1}
.cal-v8-tag{position:absolute;right:12px;top:12px;z-index:1;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--k,#7CD947);background:rgba(10,10,13,.82);border:1px solid var(--k,#7CD947);padding:4px 9px;border-radius:4px}
.cal-v8-content{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.cal-v8-when{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.cal-v8-date{font-family:'Bebas Neue',sans-serif;font-size:30px;line-height:1;color:var(--k,#7CD947)}
.kind-canada .cal-v8-date{color:#fff}
.cal-v8-year{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.12em;color:var(--txt-dim,#9a9aa3)}
.cal-v8-title{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:20px;line-height:1.2;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.cal-v8-title a{color:#fff;text-decoration:none}
.cal-v8-title a:hover{color:var(--k,#7CD947)}
.cal-v8-sub{margin:0;color:var(--txt-dim,#a6a6ae);font-size:14.5px;line-height:1.45}
.cal-v8-price{margin:2px 0 0;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:600;letter-spacing:.03em;color:#7CD947}

/* Statut : pastille compacte (corrige les pastilles déformées) */
.cal-v8-status{display:inline-block!important;width:auto!important;height:auto!important;min-height:0!important;margin-left:auto;align-self:center;border:1px solid currentColor;border-radius:999px;padding:4px 10px!important;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;white-space:nowrap;background:transparent;color:#7CD947}
.cal-v8-status.status-complet,.cal-v8-status.status-privatise{color:#FF14B6}
.cal-v8-status.status-dernieres_places{color:#0a0a0d;background:#FF14B6;border-color:#FF14B6}
.cal-v8-status.status-places_ouvertes{color:#0a0a0d;background:#7CD947;border-color:#7CD947}
.cal-v8-status.status-preinscrip,.cal-v8-status.status-ouverture_prochaine,.cal-v8-status.status-programme_preparation{color:#e8e8ec}
.cal-v8-status.status-sur_demande{color:#7CD947;border-style:dashed}
.cal-v8-status.status-annule{color:#9a9aa3;text-decoration:line-through}

/* Actions */
.cal-v8-actions{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:auto;padding-top:10px}
.cal-v8-wa{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;background:#7CD947;color:#0a0a0d!important;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:4px}
.status-complet .cal-v8-wa,.status-privatise .cal-v8-wa{background:transparent;color:#e8e8ec!important;border:1px solid rgba(255,255,255,.25)}
.cal-v8-more,.cal-v8-ics{font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#e8e8ec;text-decoration:underline;text-underline-offset:3px;min-height:42px;display:inline-flex;align-items:center}
.cal-v8-more:hover,.cal-v8-ics:hover{color:#7CD947}

/* Accueil : pastille du circuit sur chaque ligne */
#calendrier .cal-row .lqc-kind{margin:0 0 6px;font-size:11px;padding:3px 8px}
#calendrier .cal-row[class*="kind-"]{border-left:3px solid var(--k,#7CD947)}

@media(max-width:640px){
  .cal-v8-grid{grid-template-columns:1fr;gap:14px}
  .cal-v8-month{font-size:28px;margin-top:18px}
  .cal-v8-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .cal-v8-filters button{flex:0 0 auto}
  .cal-v8-visual{aspect-ratio:16/7}
  .cal-v8-date{font-size:28px}
}
/* Neutralise les anciens styles de cartes (bordures pointillées / magenta) */
.cal-v8-grid .cal-v8-card,.cal-v8-grid .cal-v8-card[data-signature],.cal-v8-grid .cal-v8-card[class*="status-"]{border:1px solid rgba(255,255,255,.08)!important;border-top:3px solid var(--k,#7CD947)!important;border-style:solid!important;background:var(--bg-card,#141418)!important;box-shadow:none!important}
.cal-v8-grid .cal-v8-card:hover{border-color:rgba(255,255,255,.2)!important;border-top-color:var(--k,#7CD947)!important}
.cal-v8-grid .cal-v8-status{background:transparent;border-color:currentColor}
.cal-v8-grid .cal-v8-status.status-places_ouvertes{background:#7CD947!important;color:#0a0a0d!important}
.cal-v8-grid .cal-v8-status.status-dernieres_places{background:#FF14B6!important;color:#0a0a0d!important}

/* Galerie de l'accueil : grille régulière sans trous (v8) */
@media (min-width:900px){
  .gallery-grid{grid-auto-rows:210px;grid-auto-flow:dense}
  .gallery-grid .gallery-item{aspect-ratio:auto!important;height:100%}
  .gallery-grid .gallery-item.tall{grid-row:span 2}
  .gallery-grid .gallery-item.wide{grid-column:span 2;grid-row:span 2}
  .gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover}
}
/* Cartes « autres séjours » Canada : listes alignées à gauche */
#autres-sejours .price-card ul,#other-trips .price-card ul{text-align:left;padding-left:18px}

/* v11.1 — le drapeau de la pastille ne doit jamais être étiré par la règle image de la carte */
.cal-v8-visual .lqc-kind img.fli{width:1.05em;height:.72em;position:static;min-width:0;min-height:0;object-fit:cover;transform:none}
