/* Palaestra home 2026 — blocs refondus, alignés sur le système de la LP Bali.
   Toutes les classes sont préfixées ph- pour ne rien casser dans Webflow. */
.ph{--ink:#080808;--white:#fff;--forest:#1A3D27;--forest-2:#14301E;--gold:#CDA434;--lime:#ceff65;--paper:#F6F5F1;--paper-2:#ECEAE3;--muted:#5C5B54;--muted-d:rgba(255,255,255,.66);--line-d:rgba(255,255,255,.14);--line-l:rgba(8,8,8,.12);--fd:"Coolvetica Condensed","Arial Narrow",sans-serif;--fu:"Satoshi",system-ui,sans-serif;--maxw:1280px;--gutter:clamp(20px,5vw,84px);--ease:cubic-bezier(.22,1,.36,1)}
.ph,.ph *{box-sizing:border-box}
.ph{font-family:var(--fu);font-size:17px;line-height:1.6;color:var(--ink);-webkit-font-smoothing:antialiased}
.ph img{display:block;max-width:100%}
.ph a{color:inherit;text-decoration:none}
.ph p{margin:0}
.ph h1,.ph h2,.ph h3,.ph h4{font-family:var(--fd);font-weight:400;margin:0;text-transform:uppercase;text-wrap:balance}
.ph :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ph-wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.ph-sec{position:relative;padding-block:clamp(70px,9vw,132px)}
.ph-paper{background:var(--paper);color:var(--ink)}
.ph-panel{background:var(--paper-2);color:var(--ink)}
.ph-forest{background:var(--forest);color:var(--white)}
.ph-eyebrow{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 20px;display:inline-flex;align-items:center;gap:13px}
.ph-eyebrow:before{content:"";width:26px;height:2px;background:var(--gold)}
.ph-display{font-size:clamp(42px,6vw,96px);line-height:.9;letter-spacing:.005em}
.ph-display-sm{font-size:clamp(34px,4.3vw,62px);line-height:.92}
.ph-lead{font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:var(--muted);max-width:56ch}
.ph-forest .ph-lead,.ph-final .ph-lead{color:var(--muted-d)}
.ph-tiny{font-size:13px;color:var(--muted)}
.ph-stars{color:var(--gold);letter-spacing:.12em;font-size:14px}
.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;font-family:var(--fu);font-size:15px;font-weight:700;padding:16px 30px;border-radius:999px;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .35s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}
.ph-btn:hover{transform:translateY(-2px)}
.ph-lime{background:var(--lime);color:var(--ink)}
.ph-lime:hover{background:#dcff8c}
.ph-ghost{border-color:rgba(255,255,255,.4);color:var(--white)}
.ph-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.ph-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
/* hero */
.ph-hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--forest-2)}
.ph-hero-media{position:absolute;inset:0}
.ph-hero-media img{width:100%;height:100%;object-fit:cover}
.ph-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.72) 42%,rgba(20,48,30,.42) 100%)}
.ph-hero-in{position:relative;z-index:2;padding-block:clamp(60px,9vw,110px)}
.ph-hero h1{max-width:15ch;margin-bottom:26px}
.ph-hero .ph-lead{color:rgba(255,255,255,.8);max-width:52ch;margin-bottom:26px}
.ph-price{font-size:15px;color:var(--muted-d);margin-bottom:30px}
.ph-price b{color:var(--white);font-weight:700}
.ph-proof{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted-d)}
/* spec bar */
.ph-specs{background:var(--forest);color:var(--white);border-block:1px solid var(--line-d)}
.ph-specs-in{display:grid;grid-template-columns:repeat(5,1fr)}
.ph-spec{padding:26px 24px 28px;border-left:1px solid var(--line-d)}
.ph-spec:first-child{border-left:0;padding-left:0}
.ph-spec span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:9px}
.ph-spec strong{font-family:var(--fd);font-weight:400;font-size:clamp(20px,1.7vw,26px);text-transform:uppercase;line-height:1.05;display:block}
@media(max-width:900px){.ph-specs-in{grid-template-columns:repeat(2,1fr)}.ph-spec{border-left:0;border-top:1px solid var(--line-d);padding:20px 0}.ph-spec:nth-child(2n){padding-left:22px;border-left:1px solid var(--line-d)}}
/* section head */
.ph-head{max-width:60ch;margin-bottom:clamp(38px,4vw,60px)}
.ph-head .ph-lead{margin-top:20px}
/* for you */
.ph-foryou{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-l)}
.ph-fy{display:flex;gap:14px;padding:24px 26px;border-bottom:1px solid var(--line-l);font-size:15.5px}
.ph-fy:nth-child(2n){border-left:1px solid var(--line-l)}
.ph-fy:last-child,.ph-fy:nth-last-child(2){border-bottom:0}
.ph-dot{flex:0 0 auto;width:13px;height:13px;border-radius:50%;border:3px solid var(--ink);margin-top:5px}
@media(max-width:820px){.ph-foryou{grid-template-columns:1fr}.ph-fy:nth-child(2n){border-left:0}.ph-fy:nth-last-child(2){border-bottom:1px solid var(--line-l)}}
/* reviews */
.ph-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ph-review{background:var(--white);border:1px solid var(--line-l);padding:26px 24px;display:flex;flex-direction:column;gap:16px}
.ph-review blockquote{margin:0;border-left:2px solid var(--ink);padding-left:16px;font-size:15.5px;line-height:1.6;flex:1}
.ph-who{font-weight:700;font-size:14.5px}
.ph-src{font-size:12.5px;color:var(--muted)}
@media(max-width:860px){.ph-reviews{grid-template-columns:1fr}}
/* final cta */
.ph-final{position:relative;color:var(--white);overflow:hidden;background:var(--ink)}
.ph-final-media{position:absolute;inset:0}
.ph-final-media img{width:100%;height:100%;object-fit:cover;opacity:.42}
.ph-final-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(8,8,8,.9),rgba(8,8,8,.45))}
.ph-final-in{position:relative;z-index:2;padding-block:clamp(80px,11vw,150px)}
.ph-final h2{max-width:14ch;margin-bottom:24px}
.ph-final .ph-tiny{color:var(--muted-d)}

/* ───────────────────────────────────────────────────────────────
   v2 · 17/09/2026 — ajustements après mise en ligne
   ─────────────────────────────────────────────────────────────── */

/* Boutons du hero et du CTA final : pleine largeur sur petit écran */
@media(max-width:560px){
  .ph-cta-row{flex-direction:column;align-items:stretch}
  .ph-btn{width:100%}
  .ph-hero{min-height:auto}
  .ph-hero-in{padding-block:56px 48px}
}
@media(max-width:767px){
  .ph-final-in{padding-block:72px}
  .ph-review blockquote{font-size:15px}
}

/* ── Correctifs sur les blocs Webflow existants (page d'accueil) ── */

/* 1. Le bouton APPLY de la nav portait margin-top:40px : il dépassait de la barre */
@media(min-width:992px){
  .navbar .button{margin-top:0 !important}
}

/* 2. Le carrousel du template est masqué : on enlève l'espace vide qu'il laissait */
.selection_process .rt-testimonials-three{padding-top:0 !important;padding-bottom:0 !important}

/* 3. « Want a private camp, or a special date ? » fait doublon avec la carte Private
      et avec le CTA final : on le retire du parcours */
.section.background-color-white .f-section-regular-2{display:none !important}

/* 4. Footer : la liste de liens était plus large que son conteneur, d'où le désordre.
      La marque passe au-dessus, les liens prennent toute la largeur. */
footer .container-large>.margin-bottom-64:first-child .wrap_flex.is-align-top{flex-direction:column;align-items:flex-start;gap:26px}
footer .container-large>.margin-bottom-64:first-child .max-width-250{max-width:none}
footer .footer_links{margin-right:0 !important;width:100%;gap:12px 26px !important}
footer .footer_link{padding-left:0;padding-right:0}
footer .wrap_flex.is-align-top{flex-wrap:wrap;gap:32px}
@media(max-width:767px){
  footer .footer_links{gap:10px 18px !important}
  footer .footer_link{font-size:1rem}
  footer .email-form_wrap{width:100%}
}

/* ───────────────────────────────────────────────────────────────
   v3 · 17/09/2026 — cartes camps alignées sur les tokens v2
   Le composant « player card » vient du template acheté : Cinzel pour le nom
   de destination, Cormorant pour le prix, Montserrat pour le reste, et une
   palette parallèle (#163828 / #c9a24b / #f7f4ec) plus trois teintes par
   destination. data_style_tool > update_style est bloqué par la vérification
   de permissions Webflow, donc on surcharge ici, exactement comme pour le
   footer et la nav plus haut. Rien n'est supprimé : retirer ce bloc rend
   les cartes à leur état d'origine.
   ─────────────────────────────────────────────────────────────── */

/* Carte : filet 1px, angles droits, papier v2 */
.camp-card{
  background-color:#F6F5F1 !important;
  border:1px solid rgba(8,8,8,.12) !important;
  border-radius:0 !important;
}
.camp-card.w-variant-eac6a0c7-6cba-0944-7385-860cc7a3a58e,
.camp-card.w-variant-3f821b9f-6bd6-f456-a3ab-47b99712ef27{
  border-top-color:rgba(8,8,8,.12) !important;
}

/* Sur-titre, libellés, texte, bouton : Satoshi */
.camp-eyebrow,
.camp-labels,
.camp-info-text,
.camp-reserve{
  font-family:"Satoshi",system-ui,sans-serif !important;
}
.camp-eyebrow{
  color:#5C5B54 !important;
  letter-spacing:.2em !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.camp-labels{
  color:#CDA434 !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}
.camp-info-text{
  color:#5C5B54 !important;
  font-size:13px !important;
  line-height:22px !important;
}

/* Nom de destination : Coolvetica Condensed, un seul forest pour les quatre
   cartes — la distinction se fait par le contenu, pas par une couleur hors
   système. Pour revenir aux teintes par destination, supprimer les deux
   règles de variante ci-dessous. */
.camp-destination{
  font-family:"Coolvetica Condensed","Arial Narrow",sans-serif !important;
  font-weight:400 !important;
  color:#1A3D27 !important;
  font-size:2.25rem !important;
  letter-spacing:.005em !important;
}
.camp-destination.w-variant-eac6a0c7-6cba-0944-7385-860cc7a3a58e,
.camp-destination.w-variant-3f821b9f-6bd6-f456-a3ab-47b99712ef27{
  color:#1A3D27 !important;
}

/* Filet sous le nom : or v2 */
.camp-rule{background-color:#CDA434 !important}

/* Pied de carte : forest v2 pour les trois camps datés, transparent pour Private */
.camp-footer{background-color:#1A3D27 !important}
.camp-footer.w-variant-eac6a0c7-6cba-0944-7385-860cc7a3a58e,
.camp-footer.w-variant-3f821b9f-6bd6-f456-a3ab-47b99712ef27{
  background-color:#1A3D27 !important;
}
.camp-footer.w-variant-4d51f411-fe9e-eb28-3578-23c4eb9fff07{
  background-color:transparent !important;
  border-top:1px solid rgba(8,8,8,.12) !important;
}

/* Prix : Coolvetica Condensed comme les chiffres de la barre de specs */
.camp-price{
  font-family:"Coolvetica Condensed","Arial Narrow",sans-serif !important;
  font-weight:400 !important;
  color:#F6F5F1 !important;
  font-size:1.65rem !important;
  letter-spacing:.01em !important;
}

/* Bouton : pilule, comme partout ailleurs sur le site.
   text-decoration:none — le lien héritait d'un soulignement, invisible tant
   que le bouton était rectangulaire, franchement laid une fois en pilule. */
.camp-reserve{
  text-decoration:none !important;
  color:#CDA434 !important;
  border:1px solid #CDA434 !important;
  border-radius:999px !important;
  padding:9px 16px !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.1em !important;
  transition:background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1);
}
.camp-reserve:hover{background-color:#CDA434 !important;color:#1A3D27 !important}
.camp-reserve.w-variant-4d51f411-fe9e-eb28-3578-23c4eb9fff07{
  color:#1A3D27 !important;
  border-color:#1A3D27 !important;
}
.camp-reserve.w-variant-4d51f411-fe9e-eb28-3578-23c4eb9fff07:hover{
  background-color:#1A3D27 !important;
  color:#F6F5F1 !important;
}
