/* =============================================================================
   assets/css/guide-accueil-2027.css - turf.bzh
   -----------------------------------------------------------------------------
   Page d'accueil du guide (guide.php), 14/10/2026.

   S'ajoute à assets/css/institution-2027.css et assets/css/guide-2027.css
   (palette .gd-s1 à .gd-s6), qui doivent être chargés avant. Classes en .gd-
   sous .ip-page.gd-hub :
     - recherche (.gd-rech) : champ, état, liste de résultats ;
     - parcours (.gd-pc) : 4 cartes « par où commencer » ;
     - parties (.gd-pts, .gd-pt) : une carte par partie avec ses chapitres.

   Aucune bordure gauche colorée : bordure complète et fond teinté. Aucun !important.

   CONTRASTE (texte sur son fond) : blanc sur les 6 pastilles de partie 5,0:1 au minimum ;
   #075d6e sur #ecf7fa 7,0:1 ; #92400e sur #fffbeb 6,8:1 ; #475569 sur #fff 7,6:1.

   @author Claude (2026-10-14)
   @version 1.0.0
   ========================================================================== */

.ip-page.gd-hub .gd-hub-corps > * + *{ margin-top: 1.25rem; }
.ip-page.gd-hub .gd-hub-corps > .ip-bloc{ margin-bottom: 0; }

/* ---------------------------------------------------------- recherche -- */
.ip-page .gd-rech-champ label{
  display: block; margin: 0 0 .35rem; font-size: .86rem; font-weight: 800; color: var(--ip-ink2);
}
.ip-page .gd-rech-champ input{
  display: block; width: 100%; min-height: 3rem; padding: .6rem .9rem;
  font: inherit; font-size: 1.02rem; color: var(--ip-ink);
  background: var(--ip-card); border: 1.5px solid var(--ip-bd-ctl); border-radius: var(--ip-r-sm);
}
.ip-page .gd-rech-champ input::placeholder{ color: var(--ip-mut); opacity: 1; }
.ip-page .gd-rech-champ input:focus-visible{ outline: 2px solid var(--ip-acc); outline-offset: 2px; border-color: var(--ip-acc); }
.ip-page .gd-rech-etat{ margin: .55rem 0 0; min-height: 1.5rem; font-size: .9rem; color: var(--ip-mut); }
.ip-page .gd-rech-liste{
  list-style: none; margin: .4rem 0 0; padding: 0;
  border: 1px solid var(--ip-bd); border-radius: var(--ip-r-sm); overflow: hidden; background: var(--ip-card);
}
.ip-page .gd-rech-liste li{ margin: 0; border-top: 1px solid var(--ip-bd-soft); }
.ip-page .gd-rech-liste li:first-child{ border-top: 0; }
.ip-page .gd-rech-liste a{
  display: grid; gap: .1rem; padding: .7rem .95rem; text-decoration: none; color: var(--ip-ink);
}
.ip-page .gd-rech-liste a:hover, .ip-page .gd-rech-liste a:focus-visible{ background: var(--ip-acc-l2); }
.ip-page .gd-rech-liste a:focus-visible{ outline-offset: -2px; }
.ip-page .gd-rs-k{ font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--ip-acc-d); }
.ip-page .gd-rs-t{ font-weight: 700; overflow-wrap: anywhere; }
.ip-page .gd-rs-p{ font-size: .86rem; color: var(--ip-mut); overflow-wrap: anywhere; }

/* ----------------------------------------------------------- parcours -- */
.ip-page .gd-pc{
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: .85rem;
}
.ip-page .gd-pc > li{
  display: grid; grid-template-columns: 2.6rem minmax(0,1fr); gap: .8rem; align-items: start; margin: 0;
  padding: 1rem 1.05rem; background: var(--ip-bg); border: 1px solid var(--ip-bd); border-radius: var(--ip-r-sm);
}
.ip-page .gd-pc > li > i{
  display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 999px;
  background: var(--ip-acc-l); color: var(--ip-acc-d); font-size: 1.05rem;
}
.ip-page .gd-pc h3{ font-size: 1.02rem; margin: .1rem 0 .3rem; }
.ip-page .gd-pc h3 a{ color: var(--ip-ink); text-decoration-color: var(--ip-acc); }
.ip-page .gd-pc h3 a:hover{ color: var(--ip-acc-d); }
.ip-page .gd-pc p{ font-size: .94rem; margin: 0 0 .35rem; }
.ip-page .gd-pc .gd-pc-meta{ margin: 0; font-size: .84rem; font-weight: 700; color: var(--ip-mut); }
@media (min-width: 40rem){ .ip-page .gd-pc{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
@media (min-width: 72rem){ .ip-page .gd-pc{ grid-template-columns: repeat(4, minmax(0,1fr)); } .ip-page .gd-pc > li{ grid-template-columns: minmax(0,1fr); } }

/* ------------------------------------------------------------ parties -- */
.ip-page .gd-pts{ display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; }
@media (min-width: 56rem){ .ip-page .gd-pts{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
.ip-page .gd-pt{
  display: flex; flex-direction: column; min-width: 0;
  padding: 1.1rem 1.15rem 1.15rem; background: var(--ip-card);
  border: 1px solid var(--ip-bd); border-radius: var(--ip-r-md); box-shadow: var(--ip-sh-sm);
}
.ip-page .gd-pt--prevue{ background: var(--ip-bg); box-shadow: none; }
.ip-page .gd-pt-tete{ display: flex; align-items: center; gap: .8rem; margin-bottom: .7rem; }
.ip-page .gd-pt-tete > div{ min-width: 0; }
.ip-page .gd-pt-n{
  flex: 0 0 auto; display: grid; place-items: center; width: 2.9rem; height: 2.9rem; border-radius: var(--ip-r-sm);
  color: #fff; font-size: 1.5rem; font-weight: 800; line-height: 1;
}
.ip-page .gd-pt-o{ margin: 0 0 .1rem; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--ip-mut); }
.ip-page .gd-pt h3{ font-size: 1.18rem; line-height: 1.25; }
.ip-page .gd-pt h3 a{ color: var(--ip-ink); text-decoration: none; }
.ip-page .gd-pt h3 a:hover{ color: var(--ip-acc-d); text-decoration: underline; }
.ip-page .gd-pt-sous{ margin: 0 0 .8rem; color: var(--ip-ink3); font-size: .97rem; }
.ip-page .gd-pt-meta{ display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin: 0 0 .9rem; font-size: .84rem; font-weight: 700; color: var(--ip-mut); }
.ip-page .gd-pt-meta i{ margin-right: .3rem; color: var(--ip-acc); }
.ip-page .gd-pt-l{ list-style: none; margin: 0 0 1rem; padding: 0; border-top: 1px solid var(--ip-bd); }
.ip-page .gd-pt-l li{
  display: grid; grid-template-columns: minmax(0,1fr); margin: 0; padding: .1rem 0 .55rem;
  border-bottom: 1px solid var(--ip-bd-soft);
}
.ip-page .gd-pt-l li a{
  display: grid; grid-template-columns: 2.4rem minmax(0,1fr) auto; gap: .5rem; align-items: baseline;
  padding: .55rem 0 .15rem; text-decoration: none; color: var(--ip-ink);
}
.ip-page .gd-pt-l li a:hover .gd-pt-t{ color: var(--ip-acc-d); text-decoration: underline; }
.ip-page .gd-pt-r{ font-weight: 800; color: var(--ip-acc-d); font-variant-numeric: tabular-nums; }
.ip-page .gd-pt-t{ font-weight: 700; overflow-wrap: anywhere; }
.ip-page .gd-pt-m{ font-size: .84rem; font-weight: 700; color: var(--ip-mut); white-space: nowrap; }
.ip-page .gd-pt-a{
  justify-self: start; margin-left: 2.9rem; padding: .05rem .55rem; border-radius: var(--ip-pill);
  font-size: .74rem; font-weight: 800; border: 1px solid transparent;
}
.ip-page .gd-pt-a--tous{ background: var(--gd-ok-bg, #ecfdf5); color: #065f46; border-color: var(--gd-ok-bd, #a7f3d0); }
.ip-page .gd-pt-a--compte{ background: var(--gd-info-bg, #eff6ff); color: #1e40af; border-color: var(--gd-info-bd, #bfdbfe); }
.ip-page .gd-pt-a--premium{ background: var(--gd-warn-bg, #fffbeb); color: #92400e; border-color: var(--gd-warn-bd, #fde68a); }
.ip-page .gd-pt-go{ margin: auto 0 0; }
.ip-page .gd-pt-btn{ background: var(--ip-acc-l); color: var(--ip-acc-d); border-color: var(--ip-acc-bd); }
.ip-page .gd-pt-btn:hover{ background: var(--ip-acc-l2); color: var(--ip-acc-d); border-color: var(--ip-acc); }
@media (max-width: 29.99rem){ .ip-page .gd-pt-btn{ width: 100%; } }

@media print{
  .ip-page .gd-rech{ display: none; }
}
