/*
 * Zephyr — Async CSS (below-the-fold)
 * Charger via preload + onload pour éviter le blocage du rendu :
 *
 * <link rel="preload" href="/templates/zephyr/css/async-load.css" as="style"
 *       onload="this.onload=null;this.rel='stylesheet'">
 * <noscript><link rel="stylesheet" href="/templates/zephyr/css/async-load.css"></noscript>
 *
 * Contient tout ce qui n'est PAS dans critical.css.
 */

/* ── Section padding ── */
.section-padding{padding-top:64px;padding-bottom:64px}
@media(min-width:1024px){.section-padding{padding-top:96px;padding-bottom:96px}}

/* ── Quick facts ── */
.quick-facts{background:var(--color-bg-light)}
.quick-facts__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  list-style:none;margin:0;padding:0;
}
@media(min-width:640px){.quick-facts__grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.quick-facts__grid{grid-template-columns:repeat(6,1fr)}}
.quick-facts__item{
  background:var(--color-bg-warm);border-radius:16px;padding:24px 16px;
  text-align:center;border:1px solid var(--color-border);
}
.quick-facts__icon{font-size:1.75rem;display:block;margin-bottom:8px}
.quick-facts__label{
  display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--color-text-secondary);font-weight:700;margin-bottom:4px;
}
.quick-facts__value{display:block;font-size:14px;font-weight:600;color:var(--color-text)}

/* ── Experience block ── */
.experience-block .experience-block__inner{
  display:grid;grid-template-columns:1fr;gap:48px;align-items:center;
}
@media(min-width:1024px){.experience-block .experience-block__inner{grid-template-columns:1fr 1fr;gap:64px}}
.experience-block__title{margin-bottom:16px}
.experience-block__body{margin-bottom:16px}
.experience-block__cta{margin-top:8px}
.experience-block__img{border-radius:16px;width:100%;height:auto;object-fit:cover}

/* ── Itinerary timeline ── */
.itinerary-timeline{background:var(--color-bg-warm)}
.itinerary-timeline__heading{text-align:center;margin-bottom:48px}
.itinerary-timeline__list{list-style:none;margin:0;padding:0;position:relative}
.itinerary-timeline__list::before{
  content:'';position:absolute;left:20px;top:0;bottom:0;
  width:2px;background:var(--color-border);
}
@media(min-width:1024px){.itinerary-timeline__list::before{left:50%;transform:translateX(-50%)}}
.itinerary-timeline__item{
  display:flex;gap:24px;padding-bottom:32px;position:relative;
}
.itinerary-timeline__marker{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  background:var(--color-accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px;z-index:1;
}
.itinerary-timeline__content{flex:1;padding-top:8px}
.itinerary-timeline__step-title{font-size:18px;font-weight:600;margin-bottom:8px}
.itinerary-timeline__step-desc{font-size:14px;margin:0}

/* ── Included list ── */
.included-list{background:var(--color-bg-light)}
.included-list__heading{text-align:center;margin-bottom:48px}
.included-list__grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:640px){.included-list__grid{grid-template-columns:1fr 1fr}}
.included-list__col-title{font-size:18px;margin-bottom:16px}
.included-list__items{list-style:none;margin:0;padding:0}
.included-list__item{
  display:flex;align-items:flex-start;gap:8px;
  padding:8px 0;border-bottom:1px solid var(--color-border);
  font-size:14px;
}
.included-list__item:last-child{border-bottom:none}

/* ── Gallery grid ── */
.gallery-grid{background:var(--color-bg-warm)}
.gallery-grid__heading{text-align:center;margin-bottom:32px}
.gallery-grid__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto;
  gap:12px;
}
.gallery-grid__item--large{grid-column:1/-1}
@media(min-width:640px){
  .gallery-grid__grid{grid-template-columns:repeat(4,1fr)}
  .gallery-grid__item--large{grid-column:span 2;grid-row:span 2}
}
.gallery-grid__item img{
  width:100%;height:100%;object-fit:cover;border-radius:12px;
  transition:transform .25s ease;
}
.gallery-grid__item:hover img{transform:scale(1.02)}

/* ── Trust bar ── */
.trust-bar{background:var(--color-accent);padding:24px 0}
.trust-bar__inner{
  display:flex;flex-wrap:wrap;gap:24px;
  align-items:center;justify-content:center;
}
.trust-bar__item{display:flex;align-items:center;gap:8px;color:#fff}
.trust-bar__icon{font-size:1.25rem}
.trust-bar__text{font-size:14px;font-weight:600}

/* ── CTA strip ── */
.cta-strip{
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));
  padding:64px 0;
}
.cta-strip__inner{text-align:center}
.cta-strip__title{color:#fff;margin-bottom:8px}
.cta-strip__subtitle{color:rgba(255,255,255,.85);margin-bottom:32px;font-size:18px}
.btn--white{background:#fff;color:var(--color-accent);border-color:#fff}
.btn--white:hover{background:var(--color-bg-warm)}

/* ── FAQ accordion ── */
.faq-accordion{background:var(--color-bg-light)}
.faq-accordion__heading{text-align:center;margin-bottom:48px}
.faq-accordion__wrap{max-width:760px}
.faq-accordion__item{
  border-bottom:1px solid var(--color-border);
  overflow:hidden;
}
.faq-accordion__question{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0;cursor:pointer;list-style:none;
  font-family:var(--font-heading);font-size:20px;font-weight:600;
  color:var(--color-text);
}
.faq-accordion__question::-webkit-details-marker{display:none}
.faq-accordion__icon::after{content:'+'`font-size:1.5rem;transition:transform .2s ease}
details[open] .faq-accordion__icon::after{content:'−'}
.faq-accordion__answer{padding-bottom:20px;font-size:15px}

/* ── Form section ── */
.form-section{background:var(--color-bg-light)}
.form-section__wrap{max-width:640px}
.form-section__heading{text-align:center;margin-bottom:8px}
.form-section__subheading{text-align:center;color:var(--color-text-secondary);margin-bottom:48px}
