/* ==========================================================================
   Listing pages — Plein-Air Editions and Plein-Air Homestays
   ========================================================================== */

/* --- Featured card (an edition or a homestay) ---------------------------- */
.featured{display:grid;grid-template-columns:1.1fr 1fr;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:0 40px 70px -50px rgba(31,42,36,.55);transition:transform .45s var(--ease),box-shadow .45s}
.featured:hover{transform:translateY(-4px);box-shadow:0 50px 80px -50px rgba(31,42,36,.65)}
.featured-media{position:relative;min-height:420px;overflow:hidden;background:var(--alpine)}
.featured-media>img,.featured-media picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.featured:hover .featured-media>img,.featured:hover .featured-media picture img{transform:scale(1.04)}
.featured-media.ph-slot{border-radius:0}
.featured-media .badge{position:absolute;left:20px;top:20px;z-index:2}
.featured-body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column}
.featured-body .k{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);margin-bottom:14px}
.featured-body h2{font-size:clamp(32px,3.6vw,46px);margin-bottom:12px}
.featured-body>p{color:var(--ink-3);margin-bottom:22px}
.facts-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:6px 0 26px;padding:20px 0;border-block:1px solid var(--line)}
.facts-list dt{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.facts-list dd{font:400 18px/1.25 var(--display);color:var(--alpine)}
.facts-list dd.tba{font:500 14px/1.4 var(--sans);color:var(--ink-3);font-style:italic}
.flags{display:flex;gap:8px;font-size:22px;margin-bottom:24px;flex-wrap:wrap}
.flags span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);border:1px solid var(--line)}
.featured-body .btn-row{margin-top:auto}

/* --- "Coming soon" card --------------------------------------------------- */
.soon{margin-top:22px;display:flex;align-items:center;gap:22px;padding:26px 30px;border-radius:12px;border:1.5px dashed rgba(31,42,36,.22);color:var(--ink-3)}
.soon .plus{flex-shrink:0;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--sage-deep);font-size:26px}
.soon strong{display:block;font:400 22px/1.2 var(--display);color:var(--alpine);margin-bottom:4px}

/* --- Timeline of editions ------------------------------------------------- */
.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;margin-top:12px}
.timeline::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:repeating-linear-gradient(90deg,rgba(249,248,245,.3) 0 8px,transparent 8px 14px)}
.timeline li{position:relative;padding-top:48px}
.timeline li::before{content:"";position:absolute;left:0;top:4px;width:24px;height:24px;border-radius:50%;border:2px solid rgba(249,248,245,.45);background:var(--alpine)}
.timeline li.now::before{background:var(--snow);border-color:var(--snow);box-shadow:0 0 0 8px rgba(255,198,32,.18)}
.timeline .yr{font:400 40px/1 var(--display);color:var(--paper);margin-bottom:8px}
.timeline li.now .yr{color:var(--snow)}
.timeline h3{font-size:21px;color:var(--paper);margin-bottom:6px}
.timeline p{font-size:15px;color:var(--on-dark-2)}
.timeline a{color:var(--snow)}

/* --- Steps (how a homestay works) ------------------------------------------ */
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:end;margin-bottom:clamp(48px,6vw,72px)}
.intro-split h2{margin:0}
.intro-split .lead{margin:0}

@media (max-width:980px){
  .featured{grid-template-columns:1fr}
  .featured-media{min-height:280px}
  .timeline{grid-template-columns:1fr;gap:8px}
  .timeline::before{left:11px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,rgba(249,248,245,.3) 0 8px,transparent 8px 14px)}
  .timeline li{padding:0 0 28px 48px}
  .intro-split{grid-template-columns:1fr;gap:16px}
}
@media (max-width:560px){
  .facts-list{grid-template-columns:1fr}
  .featured-body .btn-row .btn{flex:1 1 100%}
  .soon{flex-direction:column;align-items:flex-start}
}

/* Flag row on the featured edition card: round flags with a sheen */
.flags span{position:relative;overflow:hidden;padding:0;border:0;box-shadow:0 6px 14px -8px rgba(31,42,36,.55),inset 0 0 0 1px rgba(31,42,36,.1)}
.flags span svg{display:block;width:100%;height:100%}
.flags span::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,rgba(255,255,255,.35),rgba(255,255,255,0) 35%,rgba(0,0,0,.12) 60%,rgba(255,255,255,.18) 80%,rgba(0,0,0,.1))}
.flags span:first-child{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--terracotta)}
