/* Africa Harbors – Publicité Hero : CSS isolé (préfixe .ahph) */
.ahph{
  --ahph-bg:#f5f5f3;--ahph-line:#e2e2de;--ahph-label:#7a7a75;--ahph-slot:#fff;--ahph-accent:#e3171e;
  --ahph-h:240;--ahph-margin:100;
  display:flex;justify-content:center;
  flex:0 0 100%;align-self:stretch;width:100%;min-width:320px;max-width:100vw;
  box-sizing:border-box;clear:both;margin:0;padding:16px min(calc(var(--ahph-margin) * 1px),6vw);line-height:1;
  background:transparent;
  animation:ahphin .7s ease-out both;
}
.ahph *,.ahph *::before,.ahph *::after{box-sizing:border-box}
.ahph__box{
  width:100%;margin:0 auto;text-align:center;
  max-width:none;
}
.ahph__label{
  display:block;margin:0 0 6px;text-align:center;
  font:600 10px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ahph-label);
}
.ahph__slot{
  position:relative;width:100%;margin:0 auto;overflow:hidden;
  height:clamp(120px,15vw,calc(var(--ahph-h) * 1px));
  border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.10),0 10px 28px rgba(0,0,0,.08);
  background:#0b253a;
}
.ahph__slides{position:absolute;inset:0}
.ahph__slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;overflow:hidden;
  transition:opacity .8s ease,visibility 0s linear .8s;
}
.ahph__slide.is-active{opacity:1;visibility:visible;transition:opacity .8s ease}
.ahph__link{display:block;width:100%;height:100%;line-height:0;text-decoration:none;border:0;box-shadow:none;cursor:pointer}
.ahph__media{
  display:block;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;
  width:100%;height:100%;max-width:none;object-position:center center;background:#000;
}
.ahph__media{object-fit:cover}
.ahph__bg{background-color:#0b253a;background-size:cover;background-position:center center;background-repeat:no-repeat}
/* Vie : léger zoom + reflet qui traverse l’image */
.ahph__slide.is-active .ahph__bg{animation:ahphzoom var(--ahph-dur,6000ms) ease-out both}
.ahph__slide::after{
  content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-20deg);opacity:0;
}
.ahph__slide.is-active::after{animation:ahphshine 1.3s .6s ease-out 1 both}
/* Points + barre de progression */
.ahph__dots{
  position:absolute;left:0;right:0;bottom:9px;z-index:3;
  display:flex;justify-content:center;gap:6px;pointer-events:none;
}
.ahph__dot{
  pointer-events:auto;width:7px;height:7px;padding:0;margin:0;border:0;border-radius:99px;cursor:pointer;
  background:rgba(255,255,255,.65);box-shadow:0 0 0 1px rgba(0,0,0,.25);
  transition:width .3s ease,background .3s ease;
}
.ahph__dot.is-active{width:20px;background:#fff}
.ahph__bar{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;background:rgba(0,0,0,.12)}
.ahph__bar i{display:block;height:100%;width:100%;background:var(--ahph-accent);transform:scaleX(0);transform-origin:left center}
.ahph--single .ahph__dots,.ahph--single .ahph__bar{display:none}
.ahph--preview .ahph__slides:empty{border:1px dashed #c3c3be;background:transparent}
@keyframes ahphin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes ahphzoom{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes ahphshine{0%{left:-60%;opacity:0}15%{opacity:1}100%{left:130%;opacity:0}}
/* Image mobile (facultative) */
.ahph__media--m{display:none}
@media (max-width:600px){
  .ahph__label{margin-bottom:5px}
  .ahph__slot{height:44vw}
  .ahph__slide--hasm .ahph__media--d{display:none}
  .ahph__slide--hasm .ahph__media--m{display:block}
}
.ahph--m .ahph__label{margin-bottom:5px}
.ahph--m{padding:12px}
.ahph--m .ahph__slot{height:165px}
.ahph--m .ahph__slide--hasm .ahph__media--d{display:none}
.ahph--m .ahph__slide--hasm .ahph__media--m{display:block}
@media (prefers-reduced-motion:reduce){
  .ahph,.ahph__slide.is-active .ahph__bg,.ahph__slide.is-active::after{animation:none}
  .ahph__slide{transition:none}
}
