/* Infos pratiques. Deux colonnes sur grand écran : le lieu et le stationnement
   à gauche, les horaires et le détail à droite. */

.infos{position:relative;overflow-x:clip;
  padding:calc(var(--nav-h) + 2.6rem) 0 3rem}
.infos-wrap{position:relative;z-index:1;display:flex;flex-direction:column;
  gap:1.6rem;width:min(100% - 2rem,1240px)}

/* ---------- en-tête ---------- */
.infos-head{display:block}

.infos-lead{margin:1.05rem 0 0;color:var(--muted);font-size:clamp(.9rem,1.1vw,1.02rem);
  line-height:1.6;max-width:48ch}

/* Petite étiquette de repère, en bas de page. Capitale espacée posée sur un
   filet : le même rôle qu une annotation manuscrite, sans le côté décalcomanie. */
.infos-hand{margin:0;display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-sans);font-weight:700;text-transform:uppercase;
  font-size:clamp(.66rem,.78vw,.74rem);letter-spacing:.2em;
  color:var(--moss-deep,var(--moss))}
.infos-hand::before{content:"";width:1.6rem;height:1px;flex:0 0 auto;
  background:currentColor;opacity:.55}
.infos-hand--foot{align-self:flex-start;opacity:.85}

/* ---------- la grille des cartes ---------- */
.infos-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1.1rem;align-items:start}
.infos-col{display:flex;flex-direction:column;gap:1.1rem;min-width:0}

.info-card{background:var(--paper);border:1px solid var(--line);border-radius:1.2rem;
  padding:1.15rem 1.35rem 1.3rem;
  box-shadow:0 10px 26px -22px rgba(11,53,34,.4);min-width:0}

.info-card-title{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem;
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;
  font-size:clamp(.95rem,1.2vw,1.12rem);color:var(--bark);line-height:1.1}
.info-card-icon{flex:0 0 auto;display:grid;place-items:center;width:2.2rem;height:2.2rem;
  border-radius:50%;background:color-mix(in oklab,var(--lime) 26%,var(--paper));
  color:var(--moss-deep,var(--moss))}
.info-card-icon svg{width:1.15rem;height:1.15rem}
.info-card-strong{margin:0;font-weight:800;color:var(--bark);font-size:clamp(.92rem,1.1vw,1.02rem)}
.info-card-sub{margin:.2rem 0 0;color:var(--muted);font-size:clamp(.82rem,.98vw,.92rem);line-height:1.5}
.info-card-text{margin:0;color:var(--ink);font-size:clamp(.85rem,1vw,.95rem);
  line-height:1.65;white-space:pre-line}
.info-card-big{margin:.15rem 0 0;font-family:var(--font-display);color:var(--moss-deep,var(--moss));
  font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1}

/* ---------- la carte Google ---------- */
.map{position:relative;margin-top:.9rem;border-radius:.95rem;overflow:hidden;
  border:1px solid var(--line);aspect-ratio:16/11}
.map-frame{display:block;width:100%;height:100%;border:0}

.map-badge{position:absolute;left:.6rem;top:.6rem;display:flex;align-items:center;gap:.5rem;
  padding:.35rem .7rem .35rem .38rem;border-radius:999px;background:var(--paper);
  box-shadow:0 6px 16px -8px rgba(11,53,34,.55)}
.map-badge-icon{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;
  background:var(--moss-deep,var(--moss));color:var(--paper)}
.map-badge-icon svg{width:1rem;height:1rem}
.map-badge-text{display:flex;flex-direction:column;line-height:1.2}
.map-badge-text b{font-size:.78rem;color:var(--bark)}
.map-badge-text small{font-size:.7rem;color:var(--muted)}

.map-btn{position:absolute;left:.6rem;bottom:.6rem;display:inline-flex;align-items:center;gap:.42rem;
  padding:.45rem .9rem;border-radius:999px;background:var(--paper);color:var(--bark);
  font-weight:700;font-size:.8rem;box-shadow:0 6px 16px -8px rgba(11,53,34,.55);
  transition:background .2s,color .2s,transform .2s var(--ease)}
.map-btn svg{width:.95rem;height:.95rem}
.map-btn:hover{background:var(--moss-deep,var(--moss));color:var(--paper);transform:translateY(-1px)}

/* ---------- le contact ---------- */
.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.contact-list li{display:flex;gap:.65rem;align-items:flex-start}
.contact-icon{flex:0 0 auto;display:grid;place-items:center;width:1.9rem;height:1.9rem;
  border-radius:50%;background:color-mix(in oklab,var(--clay) 18%,var(--paper));
  color:var(--clay)}
.contact-icon svg{width:1rem;height:1rem}
.contact-list a,.contact-list b{display:block;font-size:clamp(.85rem,1vw,.94rem);font-weight:800;
  color:var(--bark);line-height:1.3;word-break:break-word}
.contact-list a:hover{color:var(--clay)}
.contact-list span span{display:block;color:var(--muted);font-size:clamp(.8rem,.95vw,.89rem);line-height:1.5;font-weight:400}

/* ---------- informations générales ---------- */
.fact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.fact-list li{display:flex;gap:.65rem;align-items:flex-start}
.fact-icon{flex:0 0 auto;display:grid;place-items:center;width:1.9rem;height:1.9rem;
  border-radius:50%;background:color-mix(in oklab,var(--teal) 16%,var(--paper));
  color:var(--teal-deep)}
.fact-icon svg{width:1rem;height:1rem}
.fact-list b{display:block;font-size:clamp(.85rem,1vw,.94rem);color:var(--bark);line-height:1.3}
.fact-list span span{display:block;color:var(--muted);font-size:clamp(.8rem,.95vw,.89rem);line-height:1.5}

.check-list{display:flex;gap:.65rem;align-items:flex-start;margin-top:.85rem;
  padding-top:.85rem;border-top:1px solid var(--line)}
.check-icon{flex:0 0 auto;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%}
.check-icon svg{width:1.1rem;height:1.1rem}
.checklist--ok .check-icon{background:color-mix(in oklab,var(--lime) 30%,var(--paper));color:var(--moss-deep,var(--moss))}
.checklist--no .check-icon{background:color-mix(in oklab,var(--clay) 22%,var(--paper));color:var(--clay)}
.checklist--kit .check-icon{background:color-mix(in oklab,var(--teal) 16%,var(--paper));color:var(--teal-deep)}
.check-list b{display:block;font-size:clamp(.85rem,1vw,.94rem);color:var(--bark);line-height:1.3}
.check-items{margin:.3rem 0 0;padding-left:1.05rem;color:var(--muted);
  font-size:clamp(.8rem,.95vw,.89rem);line-height:1.55}
.check-items li{margin-top:.15rem}

/* ---------- écrans étroits : une seule colonne ---------- */
@media (max-width:960px){
  .infos{padding:calc(var(--nav-h) + 1.6rem) 0 2.2rem}
  .infos-wrap{gap:1.2rem}
  .infos-grid{grid-template-columns:minmax(0,1fr);gap:.9rem}
  .infos-col{gap:.9rem}
  .map{aspect-ratio:16/12}

}
