
/* ABOMEY VIBES — V13 / direction typographique vivante.
   Les fichiers restent indépendants par appareil, et cette couche est la dernière chargée.
   Aucune fonte propriétaire n'est embarquée. */
body.view-desktop {
  --av-v13-display: "Inter Display", "Inter", "Arial Black", "Segoe UI Black", Arial, sans-serif;
  --av-v13-copy: -apple-system, BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --av-v13-gold: #ffcf16;
  --av-v13-light: #fff3ae;
  --av-v13-ink: #101014;
  font-family:var(--av-v13-copy)!important;
}
/* Deux familles seulement : corps cohérent, titres expressifs. */
body.view-desktop :is(.av-display-title,.av-section-title,.av-world-title,.av-highlight-info strong,.av-highlight-day,.av-finale h2,.av-editorial-h1,.av-editorial-section-top h2,.av-editorial-tile h3,.av-editorial-days strong,.av-gallery-headline-row h1,.av-footer-wordmark,.av-editorial-supplement h2,.av-editorial-bottom-cta h2,.form-box h2,.page-hero h1) {
  font-family:var(--av-v13-display)!important;
  font-weight:900!important;
  font-synthesis:weight;
  font-kerning:normal!important;
  font-variant-ligatures:none!important;
  font-stretch:normal!important;
}
body.view-desktop :is(.av-section-title,.av-finale h2,.av-editorial-h1,.av-editorial-section-top h2,.av-editorial-tile h3,.av-gallery-headline-row h1,.av-footer-wordmark) {
  letter-spacing:.012em!important;
  line-height:1.07!important;
  text-wrap:balance;
}
body.view-desktop :is(.av-world-title,.av-highlight-info strong) {
  letter-spacing:.015em!important;
  line-height:1.17!important;
}
body.view-desktop main :is(p,li,dd,dt),
body.view-desktop .av-footer-v11 :is(p,span:not(.av-footer-wordmark),a) {
  font-family:var(--av-v13-copy)!important;
}
body.view-desktop main :is(.av-editorial-tile-excerpt,.av-editorial-hero-bottom p,.av-gallery-empty p,.page-content p) {
  font-weight:550!important;
  line-height:1.72!important;
  letter-spacing:.007em!important;
}
/* Une vraie signature de festival : signalétique et graisse des petites légendes. */
body.view-desktop :is(.av-kicker,.av-hero-kicker,.av-editorial-topline,.av-editorial-micro,.av-aside-label,.av-gallery-eyebrow,.av-footer-overline) {
  font-family:var(--av-v13-copy)!important;
  font-weight:900!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
body.view-desktop .av-hero-kicker {color:var(--av-v13-gold)!important;text-shadow:0 0 15px rgba(255,206,25,.15)!important}
body.view-desktop :is(.av-primary-action,.av-secondary-action,.av-editorial-hero-link,.av-footer-cta) {
  font-family:var(--av-v13-copy)!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
}
/* Titre de l'accueil : pleins contrastes, lettres ouvertes, reflet discret et vie. */
body.view-desktop .av-stage .av-display-title {
  font-family:var(--av-v13-display)!important;
  font-weight:900!important;
  letter-spacing:.034em!important;
  line-height:1.035!important;
  text-transform:uppercase!important;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.29));
}
body.view-desktop .av-stage .av-title-line {
  display:block!important;
  font-family:var(--av-v13-display)!important;
  font-weight:900!important;
  letter-spacing:.034em!important;
  line-height:1.035!important;
  margin:0!important;
  transform:none!important;
  text-shadow:0 8px 22px rgba(0,0,0,.25)!important;
}
body.view-desktop .av-stage .av-title-line:first-child {
  color:#ffd000!important;
  background:linear-gradient(110deg,#ffb900 0%,#ffdd27 49%,#ffe566 73%,#ffc600 100%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
body.view-desktop .av-stage .av-title-line.av-title-last {
  position:relative!important;
  width:max-content!important;
  max-width:100%!important;
  color:#fff0a0!important;
  background:linear-gradient(105deg,#fffdf1 0%,#fff2b1 74%,#ffde50 100%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
body.view-desktop .av-stage .av-title-line.av-title-last::after {
  content:"";
  display:block;
  margin-top:.07em;
  margin-left:.02em;
  width:36%;height:clamp(4px,.55vw,8px);
  background:linear-gradient(90deg,#ffd000 0%,#fff2b1 70%,transparent 100%);
  transform:skewX(-18deg);
  -webkit-text-fill-color:initial;
  pointer-events:none;
}
body.view-desktop .av-stage .hero-intro {
  font-family:var(--av-v13-copy)!important;
  font-weight:850!important;
  letter-spacing:.18em!important;
  color:#fffaf0!important;
  text-shadow:0 3px 10px rgba(0,0,0,.3)!important;
}
body.view-desktop .av-stage .hero-btns .btn:hover{box-shadow:0 12px 36px rgba(255,211,31,.2)!important}
/* Titres de sections : un mot mis en contraste, un signe graphique bref. */
body.view-desktop .av-highlights .av-section-title span{color:#da5a2f!important;font-style:normal!important}
body.view-desktop .av-worlds .av-section-title span{color:#ffda39!important;font-style:normal!important}
body.view-desktop .av-section-head .av-section-title::after,
body.view-desktop .av-editorial-section-top h2::after {
  content:"";display:block;width:clamp(70px,8vw,112px);height:6px;
  margin-top:20px;background:linear-gradient(90deg,#f26539 0%,#ffc829 100%);
  transform:skewX(-20deg);
}
body.view-desktop .av-worlds .av-section-title::after{background:linear-gradient(90deg,#ffbf12 0%,#fff1a0 100%)}
body.view-desktop .av-world-title {text-shadow:0 4px 20px rgba(0,0,0,.06)!important}
body.view-desktop .av-highlight-info strong{color:inherit!important}
body.view-desktop .av-highlight-row:hover .av-highlight-info strong{color:#cf582e!important}
body.view-desktop .av-highlight-day{color:#e46c39!important}
body.view-desktop .av-finale h2 span {color:#ffeb80!important;text-shadow:0 8px 28px rgba(0,0,0,.12)!important}
/* Page intérieure : dernier mot lumineux, titre encore lisible et accessible. */
body.view-desktop .av-editorial-h1 {color:#fff!important;text-shadow:0 12px 32px rgba(0,0,0,.18)!important}
body.view-desktop .av-editorial-h1 .av-editorial-accent {
  color:#ffcf20!important;
  background:linear-gradient(105deg,#ffe565 0%,#ffcc1a 65%,#ffb72b 100%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  font-weight:900!important;
  font-style:normal!important;
  overflow-wrap:break-word;
}
body.view-desktop .av-editorial-tile h3{line-height:1.12!important;letter-spacing:.018em!important}
body.view-desktop .av-editorial-tile:nth-child(4n + 3) h3{color:#121015!important}
body.view-desktop .av-editorial-faq summary{font-family:var(--av-v13-display)!important;font-weight:850!important;letter-spacing:.015em!important}
body.view-desktop .av-gallery-headline-row h1 span{color:#ffd22b!important}
body.view-desktop .av-footer-wordmark{letter-spacing:.027em!important}
/* Animation des titres sans perte de contenu lorsque JS n'est pas chargé. */
@media(prefers-reduced-motion:no-preference){
  @keyframes av-v13-rise{from{opacity:.22;transform:translate3d(0,20px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes av-v13-shimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.10)}}
  body.view-desktop .av-stage .av-title-line:first-child {animation:av-v13-rise .9s cubic-bezier(.16,1,.3,1) both!important}
  body.view-desktop .av-stage .av-title-line.av-title-last {animation:av-v13-rise 1s cubic-bezier(.16,1,.3,1) .16s both!important}
  body.view-desktop .av-editorial-h1 .av-editorial-accent {animation:av-v13-shimmer 4.5s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){
  body.view-desktop .av-stage .av-title-line,
  body.view-desktop .av-editorial-h1 .av-editorial-accent{animation:none!important}
}

/* Desktop : les liens du menu restent puissants mais ouverts et sans cadre. */
@media(min-width:1180px){
 body.view-desktop .main-nav>.nav-item> :is(.nav-link,.nav-trigger){
   font-family:var(--av-v13-copy)!important;font-size:clamp(13px,1.01vw,16px)!important;
   font-weight:900!important;letter-spacing:.075em!important;
   text-shadow:0 1px 8px rgba(0,0,0,.15)!important;
   transition:color .22s ease,transform .22s ease!important;
 }
 body.view-desktop .main-nav>.nav-item> :is(.nav-link,.nav-trigger):hover{transform:translateY(-2px)!important;color:#ffcf19!important}
 body.view-desktop .main-nav>.nav-item[data-nav-key="contact"]>a {font-family:var(--av-v13-copy)!important;font-weight:900!important;letter-spacing:.09em!important;text-shadow:none!important}
 body.view-desktop .main-nav .nav-dropdown a{font-weight:750!important;letter-spacing:.035em!important}
}
body.view-desktop .av-stage .av-display-title {font-size:clamp(105px,10.1vw,174px)!important}
body.view-desktop .av-highlights .av-section-title{font-size:clamp(59px,6.4vw,112px)!important}
body.view-desktop .av-worlds .av-section-title{font-size:clamp(57px,6.1vw,108px)!important}
