/* =========================================================
   WeatherNCo – thème commun des pages
   Dans l'esprit des pages cartes (index_bretagne_new) et des cours :
   fond clair, panneaux blancs, Barlow Condensed pour les titres,
   bleu WeatherNCo, touche orange.
   À charger APRÈS css/navbar.css (qui définit les variables --wn-*).
   ========================================================= */

body{
  font-family:var(--wn-font);
  color:var(--wn-txt);
  background:var(--wn-page);
}
a{ color:var(--wn-primary); }
a:hover{ color:var(--wn-orange); }

/* ---------- En-tête de page : esprit « course-hero » ---------- */
.page-head, .team-hero{
  margin:1.4rem 1rem 1.6rem !important; padding:18px 22px !important;
  background:linear-gradient(90deg, rgba(40,116,166,.12), rgba(40,116,166,.03)), #fff;
  border:1px solid var(--wn-line); border-left:6px solid var(--wn-orange);
  border-radius:14px;
}
.page-head h1, .team-hero h1{
  font-family:var(--wn-font-cond); font-weight:700; font-size:30px; letter-spacing:.3px; line-height:1.1;
  color:var(--wn-txt); margin:0 0 .35rem !important;
}
.page-head p, .team-hero .lead, .team-hero p{
  color:rgba(15,23,42,.72) !important; font-size:.98rem; line-height:1.6; margin:0; padding:0;
}
.team-hero{ margin-left:0 !important; margin-right:0 !important; }

/* ---------- Bandeau partenaires : bande blanche comme le pied des cartes ---------- */
.partner-band{
  margin:1.25rem 1rem 1.75rem; padding:.9rem 1.25rem; gap:1.6rem !important;
  background:#fff; border:1px solid var(--wn-line); border-radius:14px;
}
.partner-band img{ margin:0 !important; max-height:70px; width:auto !important; object-fit:contain; transition:transform .15s ease; }
.partner-band a:hover img{ transform:translateY(-2px); }
.partner-band .partner-sep{ width:1px; height:40px; background:var(--wn-line); margin:0 !important; }

/* =========================================================
   PORTFOLIO – vignettes homogènes + NUMÉRO en surimpression
   Étiquette blanche en Barlow Condensed (comme les étiquettes de
   mesure des cartes), qui passe à l'orange au survol.
   Numérotation automatique, dans l'ordre de la page.
   ========================================================= */
.portfolio-section .portfolio-items{ counter-reset:pf; row-gap:1.25rem; }
.portfolio-section .portfolio-item{ counter-increment:pf; margin-bottom:0 !important; padding-left:calc(var(--bs-gutter-x)*.5); padding-right:calc(var(--bs-gutter-x)*.5); }

.portfolio-section .portfolio-item > a{
  position:relative; display:flex; flex-direction:column; height:100%;
  background:#fff; border:1px solid var(--wn-line); border-radius:14px; overflow:hidden;
  text-decoration:none; color:inherit;
  box-shadow:0 4px 14px rgba(10,20,40,.06);
  transition:transform .2s ease, box-shadow .2s ease;
}

/* Le numéro */
.portfolio-section .portfolio-item > a::before{
  content:counter(pf);
  position:absolute; z-index:2; top:10px; left:10px;
  min-width:44px; padding:4px 10px 3px;
  font-family:var(--wn-font-cond); font-weight:700; font-size:30px; line-height:1;
  text-align:center; font-variant-numeric:tabular-nums;
  color:var(--wn-txt);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(0,0,0,.10); border-bottom:3px solid var(--wn-orange);
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.20);
  transition:background .15s ease, color .15s ease;
}
.portfolio-section .portfolio-item > a:hover::before,
.portfolio-section .portfolio-item > a:focus-visible::before{
  background:var(--wn-orange); color:#fff; border-color:var(--wn-orange);
}

/* Image : même cadre pour toutes (neutralise max-height de l'ancien thème) */
.portfolio-section .portfolio-item img{
  display:block; width:100%; height:auto !important; max-height:none !important;
  aspect-ratio:16/10; object-fit:cover; object-position:center;
  background:#dfe8ee;
  transition:transform .4s ease;
}

/* Légende */
.portfolio-section .portfolio-item .caption{
  position:static !important; opacity:1 !important; transform:none !important; background:none !important;
  display:flex; align-items:flex-start; gap:.5rem; flex:1;
  padding:.65rem .85rem .75rem !important; margin:0; text-align:left;
  border-top:1px solid #eceef2;
}
.portfolio-section .portfolio-item .caption h3{
  margin:0; padding:0;
  font-family:var(--wn-font-cond); font-weight:700; font-size:18px; letter-spacing:.2px; line-height:1.15;
  color:var(--wn-txt) !important; text-align:left;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.portfolio-section .portfolio-item .caption::after{
  content:"\f35d"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:.7rem;
  margin-left:auto; padding-top:.3rem; color:var(--wn-muted); opacity:.6;
}

/* Survol / clavier */
.portfolio-section .portfolio-item > a:hover,
.portfolio-section .portfolio-item > a:focus-visible{
  transform:translateY(-3px); outline:none;
  box-shadow:0 14px 34px rgba(10,20,40,.14);
}
.portfolio-section .portfolio-item > a:hover img{ transform:scale(1.04); }
.portfolio-section .portfolio-item > a:hover .caption h3{ color:var(--wn-primary) !important; }
.portfolio-section .portfolio-item > a:hover .caption::after{ color:var(--wn-orange); opacity:1; }

/* Vignette atteinte par l'adresse #12 */
.portfolio-section .portfolio-item.is-target > a{
  box-shadow:0 0 0 3px var(--wn-orange), 0 14px 34px rgba(10,20,40,.14);
}

/* ---------- Bloc « Mise à jour » ---------- */
.update-block{
  display:flex; align-items:center; gap:14px;
  margin:3.5rem 1rem 2rem; padding:16px 20px;
  background:#fff; border:1px solid var(--wn-line); border-radius:14px;
}
.update-block .update-logo{ width:120px; height:auto; padding-right:14px; border-right:1px solid var(--wn-line); }
.update-block .update-bar{ display:none; }
.update-block .update-title{ margin:0; font-family:var(--wn-font-cond); font-size:20px; font-weight:700; color:var(--wn-txt); }
.update-block small{ color:var(--wn-muted) !important; }

/* ---------- Pied de page : blanc, comme le crédit des cartes ---------- */
footer.bg-dark{
  background:#fff !important; border-top:1px solid var(--wn-line);
  margin-top:2.5rem; padding-top:1.6rem !important; padding-bottom:1.6rem !important;
}
footer.bg-dark p, footer.bg-dark .text-white{
  color:var(--wn-muted) !important; font-size:.92rem; padding:0;
}

/* =========================================================
   CARTES DE CONTENU (Équipe, Partenaires, Presse, À propos)
   ========================================================= */
.person-card, .partner-card, .press-card, .author-card,
.panel-soft, .team-card, .team-side, .team-member, .update-card, .card{
  background:#fff !important; color:var(--wn-txt);
  border:1px solid var(--wn-line) !important; border-radius:14px !important;
  box-shadow:0 4px 14px rgba(10,20,40,.06);
}
.person-card:hover, .partner-card:hover, .press-card:hover{
  transform:translateY(-2px); box-shadow:0 14px 34px rgba(10,20,40,.12);
}
.panel-soft .panel-soft{
  background:rgba(40,116,166,.06) !important; box-shadow:none;
  border-left:5px solid var(--wn-orange) !important; border-radius:10px !important;
}
.card-header{
  background:#fff !important; border-bottom:1px solid #eceef2 !important;
  font-family:var(--wn-font-cond); font-weight:700; font-size:19px; color:var(--wn-txt);
}

/* Titres en Barlow Condensed */
.person-card h2, .partner-card h2, .press-card h2, .author-card h2,
.team-info h3, .about-hero h1, .panel-soft h1, .panel-soft h2{
  font-family:var(--wn-font-cond) !important; font-weight:700 !important; letter-spacing:.3px; color:var(--wn-txt) !important;
}
.person-card h2, .partner-card h2, .press-card h2, .author-card h2{ font-size:24px !important; }

/* Rôles / sous-titres : petites capitales grises (comme .lp-sec) */
.person-card .role, .partner-card .role, .press-card .role, .author-card .role{
  color:var(--wn-primary) !important; font-size:11.5px !important; font-weight:700 !important;
  letter-spacing:.8px; text-transform:uppercase;
}
.person-card p, .partner-card p, .author-card p, .panel-soft p{ color:rgba(15,23,42,.80); padding-bottom:0; line-height:1.65; }
.text-muted{ color:var(--wn-muted) !important; }
.team-section-title{ font-family:var(--wn-font); font-size:10.5px !important; font-weight:700; letter-spacing:.8px; color:var(--wn-muted) !important; }

/* Liens & icônes (étaient blancs sur fond sombre) */
.person-card .links a, .list-social-links a{ color:var(--wn-muted) !important; }
.person-card .links a:hover, .list-social-links a:hover{ color:var(--wn-orange) !important; }
.partner-card .more a{ color:var(--wn-primary) !important; }
.partner-card .more a:hover{ color:var(--wn-orange) !important; }

/* Portraits ronds : liseré blanc + filet fin */
.avatar{
  border:4px solid #fff !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.10), 0 8px 22px rgba(10,20,40,.14) !important;
}

/* Zones logo (partenaires / presse) : fond blanc, filet orange */
.partner-logo-box, .press-logo-box{ background:#fff !important; border-bottom:3px solid var(--wn-orange) !important; }

/* Pastilles (années presse, FR/EN) : comme les heures du calendrier des runs */
.years a, .btn-outline-light, .lang-toggle .btn{
  background:#fff !important; color:var(--wn-blue) !important;
  border:1px solid #d5d9e0 !important; border-radius:999px !important; font-weight:600;
}
.years a:hover, .years a.latest, .btn-outline-light:hover, .btn-outline-light.active, .lang-toggle .btn.active{
  background:var(--wn-blue) !important; border-color:var(--wn-blue) !important; color:#fff !important;
}
.btn-primary, .btn-accent, .btn-theme, .btn-theme-sc{
  background:var(--wn-primary) !important; border-color:var(--wn-primary) !important; color:#fff !important; border-radius:999px;
}
.btn-primary:hover, .btn-accent:hover, .btn-theme:hover{ background:var(--wn-primary-2) !important; }

/* À propos */
.update-card .update-bar{ background:var(--wn-orange) !important; width:6px !important; }
.partner-strip{ background:#fff; border:1px solid var(--wn-line); border-radius:14px; padding:.9rem 1.25rem !important; }
.carousel-indicators [data-bs-target]{ background-color:var(--wn-blue) !important; }

/* Ancien thème : paragraphes trop espacés, titres gris */
.portfolio-section p, .person-card p, .partner-card p, .press-card p, .author-card p{ padding-bottom:0; }
h1, h2, h3{ line-height:1.2; }

/* ---------- Mobile ---------- */
@media (max-width:575.98px){
  .page-head h1, .team-hero h1{ font-size:24px; }
  .portfolio-section .portfolio-item .caption{ padding:.55rem .6rem .65rem !important; }
  .portfolio-section .portfolio-item .caption h3{ font-size:15.5px; overflow-wrap:anywhere; }
  .portfolio-section .portfolio-item .caption::after{ display:none; }
  .portfolio-section .portfolio-item > a::before{ min-width:38px; font-size:25px; padding:3px 8px 2px; top:8px; left:8px; }
  .update-block{ flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce){
  .portfolio-section .portfolio-item > a, .portfolio-section .portfolio-item img{ transition:none; }
}

/* Moins d'espace vide sous la barre (pages portfolio) */
main.container-fluid.py-5{ padding-top:.5rem !important; }
