@charset "UTF-8";
/* ==========================================================================
   ASCENT CAPITAL — PAGE ACTUALITÉS (montage Elementor Pro)
   --------------------------------------------------------------------------
   Cette feuille habille les widgets Elementor : Loop Grid, Taxonomy Filter,
   Loop Carousel, Form. Elle ne remplace pas leurs réglages, elle les met en
   forme. Les classes .acn- se posent dans Avancé → Classes CSS de chaque
   conteneur ou widget (voir la notice d'installation).

   Toutes les classes sont préfixées .acn- : aucune collision possible avec
   les sections .ac- de la page Expertises et services.
   --------------------------------------------------------------------------
   SOMMAIRE
     1.  Charte et neutralisation Elementor
     2.  En-tête de page
     3.  Article à la une
     4.  Barre de filtres (widget Taxonomy Filter)
     5.  Carte d'article (modèle Loop Item)
     6.  Grille et bouton « Charger plus » (widget Loop Grid)
     7.  Carrousel des formations (widget Loop Carousel)
     8.  Bandeau newsletter
     9.  Responsive et accessibilité
   ========================================================================== */

/* ==========================================================================
   1. CHARTE ET NEUTRALISATION ELEMENTOR
   ========================================================================== */
:root{
  --navy:#3C2A70;
  --navy-800:#1b2a63;
  --navy-600:#2b3d80;
  --gold:#7E70DF;
  --gold-light:#BFB2F8;
  --ink:#1c2230;
  --muted:#5b6478;
  --line:#e6e9f0;
  --bg:#f4f6f9;
  --white:#fff;
  --radius:10px;
  --shadow-sm:0 2px 10px rgba(21,34,82,.06);
  --shadow-md:0 14px 34px rgba(21,34,82,.13);
  --ease:cubic-bezier(.22,.8,.28,1);

  --accent:var(--gold);
  --accent-soft:var(--gold-light);
  --tint:rgba(126,112,223,.10);
  --tint-soft:rgba(126,112,223,.06);
  --deep:#241a4a;

  /* Couleurs des familles d'actualités */
  --cat-ascent:#3C2A70;
  --cat-ci:#1d7a5f;
  --cat-monde:#9c5b1f;
}

/* Typographie commune à tous les blocs de la page */
.acn-hero,.acn-featured,.acn-toolbar,.acn-grid,
.acn-carousel,.acn-news,.acn-card,.acn-event{
  font-family:"Poppins","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,
              "Montserrat","Asap",Helvetica,Arial,sans-serif;
  color:var(--ink);
  line-height:1.6;
}

/* Le visuel de l'en-tête déborde à gauche (marge négative) : sans ce garde-fou,
   une barre de défilement horizontale apparaît sur petits écrans. */
.acn-page{overflow-x:hidden}
@supports (overflow:clip){.acn-page{overflow-x:clip}}

/* .acn-card__img et .acn-event__img n'ont volontairement pas de règle : ce
   sont des points d'accroche laissés disponibles pour vos ajustements. */

/* Les conteneurs Elementor pilotent leurs marges : on annule ce qui gêne. */
.acn-hero.e-con,.acn-featured.e-con,.acn-news.e-con{--gap:0px}
.acn-card .elementor-widget:not(:last-child),
.acn-event .elementor-widget:not(:last-child){margin-bottom:0}

/* ==========================================================================
   2. EN-TÊTE DE PAGE
   Conteneur .acn-hero, en deux colonnes : .acn-hero__intro et .acn-hero__media
   ========================================================================== */
.acn-hero{background:var(--bg);overflow:hidden}
.acn-hero__intro{padding:clamp(30px,4vw,58px) clamp(22px,2.6vw,40px)!important}

.acn-title .elementor-heading-title{
  margin:0 0 10px;
  font-size:clamp(24px,2.6vw,34px);font-weight:700;
  letter-spacing:.035em;text-transform:uppercase;color:var(--navy);
}
.acn-subtitle .elementor-heading-title{
  margin:0 0 16px;font-size:clamp(13px,1.1vw,15.5px);font-weight:600;color:var(--navy-600);
}
.acn-lead{max-width:64ch;font-size:14px;color:var(--muted)}
.acn-lead p{margin:0}

.acn-hero__media{
  position:relative;overflow:hidden;padding:0!important;
  background:var(--deep);
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);
  margin-left:-7%;
}
.acn-hero__media .elementor-widget-image,
.acn-hero__media .elementor-widget-container,
.acn-hero__media figure{height:100%;margin:0}
.acn-hero__media img{
  width:100%;height:100%;min-height:260px;object-fit:cover;display:block;
  transform:scale(1.05);
  transition:transform 1.2s var(--ease);
}
.acn-hero__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(115deg,rgba(36,26,74,.55) 0%,rgba(36,26,74,.10) 55%,transparent 100%);
}
.acn-hero__media:hover img{transform:scale(1.11)}

/* ==========================================================================
   3. ARTICLE À LA UNE
   Conteneur .acn-featured : .acn-featured__media + .acn-featured__body
   ========================================================================== */
.acn-featured{background:var(--white);border-top:1px solid var(--line)}
.acn-featured__media{position:relative;overflow:hidden;padding:0!important;background:var(--deep)}
.acn-featured__media .elementor-widget-image,
.acn-featured__media .elementor-widget-container,
.acn-featured__media figure{height:100%;margin:0}
.acn-featured__media img{
  width:100%;height:100%;min-height:300px;object-fit:cover;display:block;
  transform:scale(1.04);
  transition:transform 1.1s var(--ease);
}
.acn-featured:hover .acn-featured__media img{transform:scale(1.1)}

.acn-featured__body{padding:clamp(24px,3vw,46px)!important}

.acn-featured__tag .elementor-heading-title{
  display:inline-flex;align-items:center;gap:9px;
  margin:0 0 14px;
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);
}
.acn-featured__tag .elementor-heading-title::before{
  content:"";width:26px;height:2px;background:var(--accent);
}
.acn-featured__title .elementor-heading-title{
  margin:0 0 12px;
  font-size:clamp(19px,2vw,27px);font-weight:700;line-height:1.3;color:var(--navy);
  transition:color .35s var(--ease);
}
.acn-featured__title a{color:inherit;text-decoration:none}
.acn-featured__title:hover .elementor-heading-title{color:var(--accent)}
.acn-featured__excerpt{max-width:62ch;font-size:14px;color:var(--muted);margin-bottom:18px}
.acn-featured__excerpt p{margin:0}

/* ==========================================================================
   4. BARRE DE FILTRES — widget Taxonomy Filter
   ========================================================================== */
.acn-toolbar{
  padding:clamp(26px,3vw,46px) clamp(22px,2.6vw,40px) 0!important;
  border-top:1px solid var(--line);
  background:var(--white);
}

.acn-filters .e-filter,
.acn-filters .elementor-widget-container > div{
  display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,30px);
  border-bottom:1px solid var(--line);
}
.acn-filters .e-filter-item{
  position:relative;
  padding:0 2px 12px;margin:0;
  border:0;border-radius:0;background:none;cursor:pointer;
  font-size:12.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
  transition:color .35s var(--ease);
}
.acn-filters .e-filter-item::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.acn-filters .e-filter-item:hover{color:var(--navy);background:none}
.acn-filters .e-filter-item[aria-pressed="true"],
.acn-filters .e-filter-item.e-filter-item-active{color:var(--navy);background:none}
.acn-filters .e-filter-item[aria-pressed="true"]::after,
.acn-filters .e-filter-item.e-filter-item-active::after{transform:scaleX(1)}

/* ==========================================================================
   5. CARTE D'ARTICLE — modèle Loop Item
   Structure : conteneur .acn-card > .acn-card__media + .acn-card__body
   ========================================================================== */
.acn-card{
  position:relative;overflow:hidden;height:100%;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
}
.acn-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.acn-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:transparent}
.acn-card:hover::after{transform:scaleX(1)}

/* --- Vignette --- */
.acn-card__media{position:relative;overflow:hidden;padding:0!important;background:#e9eaf2}
.acn-card__media .elementor-widget-image,
.acn-card__media .elementor-widget-container,
.acn-card__media figure{margin:0;line-height:0}
.acn-card__media img{
  width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
  transition:transform .9s var(--ease);
}
.acn-card:hover .acn-card__media img{transform:scale(1.07)}

/* --- Badge de catégorie ---
   Elementor applique post_class() sur chaque élément de boucle : la classe
   category-<slug> est donc disponible sur .e-loop-item, ce qui permet de
   colorer le badge sans réglage supplémentaire. */
/* Spécificité volontairement supérieure à .elementor-widget{position:relative}
   d'Elementor, quel que soit l'ordre de chargement des feuilles. */
.acn-card__media .acn-badge{position:absolute;top:12px;left:12px;z-index:2}
.acn-badge .elementor-widget-container,
.acn-badge .elementor-post-info__terms-list,
.acn-badge .elementor-heading-title{
  display:inline-block;padding:5px 11px;border-radius:99px;
  background:var(--navy);color:var(--white);
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  line-height:1.4;
  box-shadow:0 4px 12px rgba(21,34,82,.22);
}
.acn-badge a{color:inherit;text-decoration:none}

.e-loop-item.category-vie-ascent   .acn-badge .elementor-widget-container{background:var(--cat-ascent)}
.e-loop-item.category-cote-divoire .acn-badge .elementor-widget-container{background:var(--cat-ci)}
.e-loop-item.category-international .acn-badge .elementor-widget-container{background:var(--cat-monde)}

/* --- Corps de carte --- */
.acn-card__body{padding:18px 18px 20px!important}

.acn-card__meta{
  margin-bottom:10px;
  font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);
}
.acn-card__meta .elementor-heading-title{margin:0;font:inherit;color:inherit}

.acn-card__title .elementor-heading-title{
  margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.35;color:var(--navy);
  transition:color .35s var(--ease);
}
.acn-card__title a{color:inherit;text-decoration:none}
.acn-card:hover .acn-card__title .elementor-heading-title{color:var(--accent)}

.acn-card__excerpt{
  margin-bottom:16px;font-size:12.5px;line-height:1.55;color:var(--muted);
}
.acn-card__excerpt p{
  margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* --- Lien fléché --- */
.acn-link .elementor-heading-title,
.acn-link .elementor-button{
  position:relative;
  display:inline-flex;align-items:center;gap:11px;
  padding:0 0 4px;margin:0;border:0;border-radius:0;background:none;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--navy);text-decoration:none;
  transition:color .35s var(--ease);
}
.acn-link .elementor-heading-title::after,
.acn-link .elementor-button::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.acn-card:hover .acn-link .elementor-heading-title,
.acn-link .elementor-button:hover{color:var(--accent)}
.acn-card:hover .acn-link .elementor-heading-title::after,
.acn-link .elementor-button:hover::after{transform:scaleX(1)}
.acn-link .elementor-button-icon{transition:transform .45s var(--ease)}
.acn-card:hover .acn-link .elementor-button-icon{transform:translateX(6px)}

/* ==========================================================================
   6. GRILLE ET « CHARGER PLUS » — widget Loop Grid
   Les colonnes et l'espacement restent pilotés par les réglages du widget.
   ========================================================================== */
.acn-grid{padding:26px clamp(22px,2.6vw,40px) clamp(26px,3vw,46px)!important;background:var(--white)}

/* Bouton « Charger plus » */
.acn-grid .elementor-button,
.acn-more .elementor-button{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;gap:16px;
  padding:14px 30px;border:1px solid var(--navy);border-radius:0;
  background:transparent;color:var(--navy);
  font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  transition:color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease);
}
.acn-grid .elementor-button::before,
.acn-more .elementor-button::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,var(--navy),var(--accent));
  transform:translateX(-101%);transition:transform .55s var(--ease);
}
.acn-grid .elementor-button:hover,
.acn-more .elementor-button:hover{
  color:var(--white);transform:translateY(-3px);box-shadow:var(--shadow-md);
}
.acn-grid .elementor-button:hover::before,
.acn-more .elementor-button:hover::before{transform:translateX(0)}

/* Message « aucun résultat » du Loop Grid */
.acn-grid .elementor-widget-loop-grid .e-loop-nothing-found-message{
  padding:26px;text-align:center;
  border:1px dashed var(--line);border-radius:var(--radius);
  font-size:13px;color:var(--muted);
}

/* ==========================================================================
   7. CARROUSEL DES FORMATIONS — widget Loop Carousel
   ========================================================================== */
.acn-carousel{
  padding:clamp(26px,3vw,46px) clamp(22px,2.6vw,40px)!important;
  background:#f5f6f9;
}
.acn-band__title .elementor-heading-title{
  margin:0 0 4px;font-size:13.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--navy);
}
.acn-band__lead{font-size:12.5px;color:var(--muted);margin-bottom:22px}
.acn-band__lead p{margin:0}

/* --- Carte d'événement (modèle Loop Item « Formation ») --- */
.acn-event{
  position:relative;overflow:hidden;height:100%;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.acn-event:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}

.acn-event__media{position:relative;overflow:hidden;padding:0!important;background:#e9eaf2}
.acn-event__media .elementor-widget-image,
.acn-event__media .elementor-widget-container,
.acn-event__media figure{margin:0;line-height:0}
.acn-event__media img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .9s var(--ease);
}
.acn-event:hover .acn-event__media img{transform:scale(1.08)}

.acn-event__media .acn-event__date{position:absolute;left:12px;bottom:12px;z-index:2}
.acn-event__date .elementor-heading-title{
  display:inline-block;margin:0;padding:6px 12px;border-radius:6px;
  background:rgba(36,26,74,.88);color:var(--white);
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  line-height:1.4;
}
.acn-event__body{padding:16px 16px 18px!important}
.acn-event__title .elementor-heading-title{
  margin:0 0 6px;font-size:14px;font-weight:700;line-height:1.35;color:var(--navy);
}
.acn-event__title a{color:inherit;text-decoration:none}
.acn-event__excerpt{font-size:12.5px;line-height:1.5;color:var(--muted)}
.acn-event__excerpt p{margin:0}
.acn-event__place .elementor-icon-list-items{margin:0;padding:0;list-style:none}
.acn-event__place .elementor-icon-list-item{
  display:flex;align-items:center;gap:7px;
  font-size:11.5px;color:var(--muted);
}
.acn-event__place .elementor-icon-list-icon svg,
.acn-event__place .elementor-icon-list-icon i{color:var(--accent);font-size:13px}

/* --- Flèches et pagination du carrousel --- */
.acn-carousel .elementor-swiper-button{
  color:var(--navy);
  width:38px;height:38px;
  display:grid;place-items:center;border-radius:50%;
  background:var(--white);box-shadow:var(--shadow-sm);
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);
}
.acn-carousel .elementor-swiper-button:hover{
  background:var(--navy);color:var(--white);transform:scale(1.06);
}
.acn-carousel .swiper-pagination-bullet{background:var(--navy);opacity:.25}
.acn-carousel .swiper-pagination-bullet-active{background:var(--accent);opacity:1}

/* ==========================================================================
   8. BANDEAU NEWSLETTER
   ========================================================================== */
.acn-news{
  position:relative;overflow:hidden;
  padding:clamp(28px,3.2vw,50px) clamp(22px,2.6vw,40px)!important;
  color:var(--white);
  background:
    radial-gradient(120% 90% at 100% 0%,#4a3688 0%,transparent 62%),
    linear-gradient(150deg,#33245f 0%,var(--deep) 100%);
}
.acn-news::before{
  content:"";position:absolute;right:-25%;bottom:-30%;width:80%;height:130%;
  background:repeating-linear-gradient(58deg,rgba(255,255,255,.06) 0 2px,transparent 2px 20px);
  transition:transform .9s var(--ease);
  pointer-events:none;
}
.acn-news:hover::before{transform:translate(-14px,-14px)}
.acn-news > *{position:relative;z-index:1}

.acn-news__title .elementor-heading-title{
  margin:0 0 8px;font-size:clamp(17px,1.8vw,23px);font-weight:700;
  letter-spacing:.03em;color:var(--white);
}
.acn-news__text{max-width:52ch;font-size:13.5px;color:#cfc7ec}
.acn-news__text p{margin:0}

/* --- Widget Form --- */
.acn-form .elementor-field-group{margin-bottom:0}
.acn-form input[type="email"],
.acn-form input[type="text"]{
  padding:15px 18px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:0!important;
  background:rgba(255,255,255,.07)!important;color:var(--white)!important;
  font-size:13.5px!important;
  transition:border-color .35s var(--ease),background .35s var(--ease);
}
.acn-form input::placeholder{color:rgba(255,255,255,.5)!important}
.acn-form input:focus{
  outline:none;border-color:var(--accent-soft)!important;background:rgba(255,255,255,.12)!important;
}
.acn-form .elementor-button[type="submit"]{
  padding:15px 26px;border:0;border-radius:0;
  background:var(--accent);color:var(--white);
  font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.acn-form .elementor-button[type="submit"]:hover{
  transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.28);
}
.acn-news__note{margin-top:12px;font-size:11.5px;color:rgba(255,255,255,.55)}
.acn-news__note p{margin:0}

/* ==========================================================================
   9. RESPONSIVE ET ACCESSIBILITÉ
   Elementor gère déjà l'empilement des conteneurs : on ne corrige que ce qui
   lui échappe (diagonale du visuel, défilement des filtres).
   ========================================================================== */
@media (max-width:1024px){
  .acn-hero__media{clip-path:none;margin-left:0}
  .acn-hero__intro{padding:clamp(24px,4vw,40px) clamp(20px,2.6vw,32px)!important}
}
@media (max-width:767px){
  .acn-filters .e-filter{
    flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
  }
  .acn-filters .e-filter::-webkit-scrollbar{display:none}
  .acn-filters .e-filter-item{white-space:nowrap}
  .acn-grid .elementor-button,
  .acn-more .elementor-button{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .acn-card,.acn-event,.acn-card img,.acn-event img,
  .acn-hero__media img,.acn-featured__media img{
    transition-duration:.01ms!important;
  }
}
