/* ==========================================================================
   NOSTAL CARS PUB — assets/css/institutionnel.css
   Styles partagés par les pages institutionnelles : a-propos.php et services.php
   S'appuie sur les variables et composants définis dans style.css
   ========================================================================== */

/* ============================================================================
   A-PROPOS.PHP — préfixe "ap-"
   ============================================================================ */

/* ---- Timeline "Notre histoire" ---- */
.ap-timeline{ position:relative; padding-left: 56px; }
.ap-timeline::before{ content:""; position:absolute; top:6px; bottom:6px; left:19px; width:2px; background: var(--nc-gray-300); }
.ap-timeline-item{ position:relative; padding-bottom: 2.6rem; }
.ap-timeline-item:last-child{ padding-bottom:0; }
.ap-timeline-year{
  position:absolute; left:-56px; top:0; width:40px; height:40px; border-radius:50%;
  background: var(--nc-blue); color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:.72rem; z-index:2; box-shadow: 0 0 0 5px rgba(0,82,255,.15);
}
.ap-timeline-item:nth-child(even) .ap-timeline-year{ background: var(--nc-red); box-shadow: 0 0 0 5px rgba(228,3,46,.15); }
.ap-timeline-card{ background:#fff; border:1px solid var(--nc-gray-300); border-radius: var(--nc-radius); padding:1.3rem 1.5rem; }
.ap-timeline-card h4{ margin-bottom:.4rem; }
.ap-timeline-card p{ margin-bottom:0; font-size: var(--nc-fs-sm); }

/* ---- Équipe ---- */
.ap-team-card{ text-align:center; padding: 1.8rem 1.3rem; }
.ap-team-photo{
  width:104px; height:104px; border-radius:50%; margin:0 auto 1.2rem;
  overflow:hidden; border: 3px solid var(--nc-gray-100);
}
.ap-team-photo .nc-placeholder{ min-height:104px; border-radius:0; font-size:1.3rem; }
.ap-team-card h4{ margin-bottom:.2rem; font-size: var(--nc-fs-md); }
.ap-team-role{ color: var(--nc-blue); font-size: var(--nc-fs-xs); font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:.8rem; display:block; }
.ap-team-card p{ font-size: var(--nc-fs-sm); }
.ap-team-social{ display:flex; justify-content:center; gap:.6rem; margin-top:1rem; }
.ap-team-social a{
  width:32px; height:32px; border-radius:50%; border:1.5px solid var(--nc-gray-300);
  display:flex; align-items:center; justify-content:center; font-size:.85rem; color: var(--nc-gray-500);
  transition: all var(--nc-transition);
}
.ap-team-social a:hover{ background: var(--nc-blue); border-color: var(--nc-blue); color:#fff; }

/* ---- Certifications / engagements ---- */
.ap-badges{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap: 2.4rem; }
.ap-badge-item{ display:flex; align-items:center; gap:.8rem; color: var(--nc-gray-700); font-weight:700; font-size: var(--nc-fs-sm); }
.ap-badge-item i{ font-size:1.6rem; color: var(--nc-blue); }

/* ============================================================================
   SERVICES.PHP — préfixe "svc-"
   ============================================================================ */

.svc-row{ display:flex; align-items:center; gap: 3.5rem; padding: 4.5rem 0; border-bottom: 1px solid var(--nc-gray-300); }
.svc-row:last-child{ border-bottom:none; }
.svc-row.is-reverse{ flex-direction: row-reverse; }
.svc-media{ flex: 0 0 42%; }
.svc-media .nc-placeholder{ min-height: 320px; }
.svc-content{ flex:1; }
.svc-content .nc-icon{ margin-bottom:1.2rem; }
.svc-checklist{ margin: 1.4rem 0 1.8rem; }
.svc-checklist li{ display:flex; gap:.8rem; align-items:flex-start; padding:.5rem 0; font-size: var(--nc-fs-sm); color: var(--nc-gray-700); }
.svc-checklist li i{ color: var(--nc-green); margin-top:.25rem; }

@media(max-width:767px){
  .svc-row, .svc-row.is-reverse{ flex-direction:column; gap:1.8rem; padding: 2.8rem 0; }
  .svc-media{ flex-basis:auto; width:100%; }
}

/* ---- Forfaits (cartes sans prix imposé, sur devis) ---- */
.svc-package-card{ padding: 2rem; text-align:center; }
.svc-package-card.is-highlight{ border-color: var(--nc-blue); box-shadow: var(--nc-shadow); position:relative; }
.svc-package-card .badge-top{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background: var(--nc-blue); color:#fff; font-size: var(--nc-fs-xs); font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; padding:.3rem .9rem; border-radius:20px;
}
.svc-package-card ul{ text-align:left; margin: 1.4rem 0; }
.svc-package-card ul li{ display:flex; gap:.6rem; padding:.4rem 0; font-size: var(--nc-fs-sm); color: var(--nc-gray-700); }
.svc-package-card ul li i{ color: var(--nc-green); margin-top:.2rem; }