/*==========================================================================
  ArvernesVision — surcharge du thème Aleric (chargée APRÈS main.css)
  Direction artistique : DARK ADOUCI (charbon + accent corail volcanique)
  Aucune modification du thème d'origine : tout est ici.
==========================================================================*/

/* Police de corps distinctive (display = ClashDisplay locale du thème) */
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,300..800;1,400..600&display=swap');

:root{
  /* Palette imposée */
  --av-bg:        #16181D;   /* charbon, pas noir pur */
  --av-surface:   #1E2128;   /* cartes */
  --av-surface-2: #262A33;   /* variante */
  --av-border:    rgba(255,255,255,.08);
  --av-text:      #ECEDEF;
  --av-muted:     #A2A9B4;
  --av-accent:    #E8624A;    /* corail / terracotta — lever de soleil sur les volcans */
  --av-accent-2:  #E0A458;    /* or doux */
  --av-accent-ink:#16181D;

  --av-ff-display: 'ClashDisplay-Bold','ClashDisplay-Medium',serif;
  --av-ff-display-med: 'ClashDisplay-Medium',serif;
  --av-ff-body: 'Hanken Grotesk','DM Sans',system-ui,sans-serif;

  --av-radius: 16px;
  --av-radius-sm: 10px;
  --av-maxw: 1320px;
  --av-shadow: 0 24px 60px -30px rgba(0,0,0,.7);

  /* Recolore les variables du thème réutilisées */
  --tp-theme-primary: #E8624A;
  --tp-common-cream: #ECEDEF;
}

/*--------------------------------------------------------------
  Base
--------------------------------------------------------------*/
html.aleric-dark, html, body{
  background-color: var(--av-bg) !important;
  color: var(--av-text);
  font-family: var(--av-ff-body);
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}
body{ overflow-x:hidden; line-height:1.6; font-weight:400; }
img{ max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; transition:color .3s ease; }
a:hover{ color:var(--av-accent); }
::selection{ background:var(--av-accent); color:#fff; }

h1,h2,h3,h4,h5,h6{
  font-family: var(--av-ff-display);
  color: var(--av-text);
  line-height:1.02;
  letter-spacing:-.01em;
  margin:0 0 .4em;
}
p{ color:var(--av-muted); }

.av-wrap{ max-width:var(--av-maxw); margin:0 auto; padding:0 24px; }
.av-wrap-wide{ max-width:1680px; margin:0 auto; padding:0 24px; }
.av-section{ padding:110px 0; position:relative; }
.av-section-sm{ padding:80px 0; }
@media (max-width:767px){ .av-section{ padding:64px 0; } .av-wrap,.av-wrap-wide{ padding:0 16px; } }

/* atmosphère : halo corail discret */
.av-glow{ position:absolute; inset:auto; pointer-events:none; z-index:0;
  width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,98,74,.16), transparent 62%);
  filter:blur(20px); }

.av-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--av-ff-body); font-weight:600; font-size:12px;
  letter-spacing:.28em; text-transform:uppercase; color:var(--av-accent);
  margin-bottom:22px;
}
.av-eyebrow::before{ content:""; width:26px; height:1px; background:var(--av-accent); display:inline-block; }
.av-title{ font-size:clamp(2rem,5vw,3.6rem); text-transform:uppercase; }
.av-lead{ font-size:1.12rem; color:var(--av-muted); max-width:60ch; }
.av-accent{ color:var(--av-accent); }

/*--------------------------------------------------------------
  Boutons
--------------------------------------------------------------*/
.av-btn{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--av-ff-body); font-weight:700; font-size:14px;
  letter-spacing:.04em; text-transform:uppercase;
  padding:16px 30px; border-radius:100px; cursor:pointer;
  border:1px solid transparent; transition:.35s cubic-bezier(.2,.7,.2,1);
}
.av-btn i{ transition:transform .35s ease; }
.av-btn:hover i{ transform:translateX(4px); }
.av-btn-primary{ background:var(--av-accent); color:#fff; border-color:var(--av-accent); }
.av-btn-primary:hover{ background:#f0745f; color:#fff; transform:translateY(-2px); box-shadow:0 14px 34px -14px rgba(232,98,74,.8); }
.av-btn-ghost{ background:transparent; color:var(--av-text); border-color:var(--av-border); }
.av-btn-ghost:hover{ border-color:var(--av-accent); color:var(--av-accent); }
.av-btn-block{ width:100%; justify-content:center; }

/*--------------------------------------------------------------
  Header
--------------------------------------------------------------*/
.av-header{
  position:fixed; top:0; left:0; width:100%; z-index:100;
  padding:20px 0; transition:.4s ease;
  border-bottom:1px solid transparent;
}
.av-header.is-stuck{
  background:rgba(22,24,29,.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--av-border); padding:12px 0;
}
.av-header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.av-logo{ display:inline-flex; align-items:center; gap:11px; font-family:var(--av-ff-display); color:var(--av-text); line-height:1; }
.av-logo .av-mark{ height:38px; width:auto; display:block; flex:0 0 auto; }
.av-logo .av-wordmark{ font-family:var(--av-ff-display); font-weight:400; font-size:1.3rem; letter-spacing:.04em; text-transform:uppercase; line-height:1; white-space:nowrap; }
.av-logo .av-wordmark span{ color:var(--av-accent); }
.av-header.is-stuck .av-logo .av-mark{ height:34px; }
/* logo complet dans le footer */
.av-logo-footer{ gap:0; }
.av-logo-footer img{ width:220px; max-width:100%; height:auto; display:block; }
@media (max-width:520px){ .av-logo .av-wordmark{ font-size:1.15rem; } .av-logo .av-mark{ height:34px; } }

.av-nav{ display:flex; align-items:center; gap:34px; }
.av-nav a{ font-family:var(--av-ff-body); font-weight:600; font-size:15px; color:var(--av-text); position:relative; padding:6px 0; }
.av-nav a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--av-accent); transition:width .3s ease; }
.av-nav a:hover::after, .av-nav a.active::after{ width:100%; }
.av-nav a.active{ color:var(--av-accent); }

.av-header-actions{ display:flex; align-items:center; gap:18px; }
.av-icon-btn{ background:none; border:none; color:var(--av-text); font-size:18px; cursor:pointer; position:relative; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; transition:.3s; }
.av-icon-btn:hover{ background:var(--av-surface-2); color:var(--av-accent); }
.av-cart-count{ position:absolute; top:2px; right:2px; background:var(--av-accent); color:#fff; font-size:10px; font-weight:700; min-width:17px; height:17px; border-radius:50%; display:grid; place-items:center; font-family:var(--av-ff-body); }
.av-login{ font-weight:600; font-size:14px; display:inline-flex; align-items:center; gap:8px; }
.av-burger{ display:none; background:none; border:none; color:var(--av-text); font-size:22px; cursor:pointer; }

@media (max-width:1100px){
  .av-nav{ position:fixed; inset:0 0 0 auto; width:min(320px,84vw); flex-direction:column; align-items:flex-start;
    background:var(--av-surface); padding:100px 32px 40px; transform:translateX(110%); transition:transform .4s cubic-bezier(.2,.7,.2,1);
    border-left:1px solid var(--av-border); gap:26px; z-index:120; }
  .av-nav.open{ transform:translateX(0); }
  .av-burger{ display:inline-block; }
  .av-login span{ display:none; }
}

/*--------------------------------------------------------------
  Hero
--------------------------------------------------------------*/
.av-hero{ position:relative; padding:170px 0 90px; overflow:hidden; }
.av-hero-media{ position:absolute; inset:0; z-index:0; }
.av-hero-media img{ width:100%; height:100%; object-fit:cover; }
.av-hero-media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(22,24,29,.55) 0%, rgba(22,24,29,.72) 45%, var(--av-bg) 100%),
             linear-gradient(90deg, rgba(22,24,29,.7), rgba(22,24,29,.15)); }
.av-hero-inner{ position:relative; z-index:2; max-width:820px; }
.av-hero h1{ font-size:clamp(2.6rem,7vw,5.6rem); text-transform:uppercase; margin-bottom:22px; }
.av-hero h1 em{ font-style:normal; color:var(--av-accent); display:block; }
.av-hero p{ font-size:1.18rem; color:#d6dae0; max-width:56ch; margin-bottom:36px; }

/* Barre de recherche par dossard */
.av-search{
  display:flex; align-items:stretch; gap:10px; flex-wrap:wrap;
  background:rgba(30,33,40,.72); backdrop-filter:blur(10px);
  border:1px solid var(--av-border); border-radius:100px; padding:10px;
  max-width:640px; box-shadow:var(--av-shadow);
}
.av-search .field{ flex:1 1 260px; display:flex; align-items:center; gap:12px; padding:0 20px; min-width:0; }
.av-search .field i{ color:var(--av-accent); font-size:17px; }
.av-search input{ width:100%; background:none; border:none; outline:none; color:var(--av-text); font-family:var(--av-ff-body); font-size:16px; padding:14px 0; }
.av-search input::placeholder{ color:var(--av-muted); }
.av-search .av-btn{ flex:0 0 auto; }
.av-hero-hint{ margin-top:18px; font-size:.92rem; color:var(--av-muted); display:inline-flex; align-items:center; gap:8px; }
.av-hero-hint i{ color:var(--av-accent-2); }

.av-hero-stats{ display:flex; gap:44px; margin-top:56px; flex-wrap:wrap; }
.av-hero-stats .num{ font-family:var(--av-ff-display); font-size:2.4rem; color:var(--av-text); line-height:1; }
.av-hero-stats .lbl{ font-size:.85rem; color:var(--av-muted); text-transform:uppercase; letter-spacing:.12em; margin-top:8px; }

/*--------------------------------------------------------------
  Marquee (bandeau texte défilant)
--------------------------------------------------------------*/
.av-marquee{ overflow:hidden; border-top:1px solid var(--av-border); border-bottom:1px solid var(--av-border); padding:26px 0; background:var(--av-surface); }
.av-marquee-track{ display:flex; gap:0; width:max-content; animation:av-scroll 32s linear infinite; }
.av-marquee-track span{ font-family:var(--av-ff-display); text-transform:uppercase; font-size:clamp(1.4rem,3vw,2.2rem); color:var(--av-text); display:inline-flex; align-items:center; }
.av-marquee-track span::after{ content:"\f111"; font-family:"Font Awesome 6 Pro","Font Awesome 6 Free"; font-weight:900; font-size:.5em; color:var(--av-accent); margin:0 34px; }
@keyframes av-scroll{ to{ transform:translateX(-50%); } }

/*--------------------------------------------------------------
  Section header
--------------------------------------------------------------*/
.av-sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:56px; flex-wrap:wrap; }
.av-sec-head .av-title{ margin:0; }
.av-sec-head p{ margin:0; }

/*--------------------------------------------------------------
  Cartes événement
--------------------------------------------------------------*/
.av-events{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:992px){ .av-events{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .av-events{ grid-template-columns:1fr; } }

.av-event{
  background:var(--av-surface); border:1px solid var(--av-border); border-radius:var(--av-radius);
  overflow:hidden; transition:.4s cubic-bezier(.2,.7,.2,1); position:relative;
}
.av-event:hover{ transform:translateY(-6px); border-color:rgba(232,98,74,.4); box-shadow:var(--av-shadow); }
.av-event-thumb{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.av-event-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.av-event:hover .av-event-thumb img{ transform:scale(1.07); }
.av-event-date{ position:absolute; top:14px; left:14px; background:rgba(22,24,29,.72); backdrop-filter:blur(6px); border:1px solid var(--av-border);
  color:var(--av-text); font-size:12px; font-weight:600; letter-spacing:.04em; padding:7px 14px; border-radius:100px; text-transform:uppercase; }
.av-event-count{ position:absolute; bottom:14px; right:14px; background:var(--av-accent); color:#fff; font-size:12px; font-weight:700; padding:6px 12px; border-radius:100px; }
.av-event-body{ padding:26px; }
.av-event-body h3{ font-size:1.5rem; margin-bottom:10px; text-transform:uppercase; }
.av-event-loc{ display:flex; align-items:center; gap:8px; color:var(--av-muted); font-size:.95rem; margin-bottom:20px; }
.av-event-loc i{ color:var(--av-accent); }
.av-event-foot{ display:flex; align-items:center; justify-content:space-between; padding-top:18px; border-top:1px solid var(--av-border); }
.av-event-foot .price{ font-family:var(--av-ff-display); color:var(--av-text); font-size:1.05rem; }
.av-event-foot .go{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--av-accent); }

/*--------------------------------------------------------------
  Comment ça marche
--------------------------------------------------------------*/
.av-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:850px){ .av-steps{ grid-template-columns:1fr; } }
.av-step{ background:var(--av-surface); border:1px solid var(--av-border); border-radius:var(--av-radius); padding:40px 34px; position:relative; transition:.35s; overflow:hidden; }
.av-step:hover{ border-color:rgba(232,98,74,.4); transform:translateY(-4px); }
.av-step .idx{ font-family:var(--av-ff-display); font-size:3.4rem; color:transparent; -webkit-text-stroke:1.3px rgba(232,98,74,.55); line-height:1; margin-bottom:24px; display:block; }
.av-step .ic{ position:absolute; top:36px; right:30px; font-size:26px; color:var(--av-accent); opacity:.9; }
.av-step h3{ font-size:1.4rem; text-transform:uppercase; margin-bottom:12px; }
.av-step p{ font-size:1rem; }

/*--------------------------------------------------------------
  Aperçu portfolio (grille asymétrique)
--------------------------------------------------------------*/
.av-portfolio-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:18px; }
.av-pf{ position:relative; overflow:hidden; border-radius:var(--av-radius-sm); }
.av-pf img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.av-pf:hover img{ transform:scale(1.08); }
.av-pf::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%, rgba(22,24,29,.85)); opacity:0; transition:.4s; }
.av-pf:hover::after{ opacity:1; }
.av-pf .cap{ position:absolute; left:20px; bottom:16px; z-index:2; transform:translateY(10px); opacity:0; transition:.4s; }
.av-pf:hover .cap{ transform:translateY(0); opacity:1; }
.av-pf .cap b{ font-family:var(--av-ff-display); font-size:1.15rem; display:block; }
.av-pf .cap span{ font-size:.8rem; color:var(--av-accent); text-transform:uppercase; letter-spacing:.1em; }
.av-pf.tall{ grid-row:span 2; }
.av-pf.wide{ grid-column:span 2; }
@media (max-width:900px){ .av-portfolio-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; } .av-pf.wide{ grid-column:span 2; } }
@media (max-width:520px){ .av-portfolio-grid{ grid-template-columns:1fr 1fr; } .av-pf.tall{ grid-row:span 1; } }

/*--------------------------------------------------------------
  Aperçu blog
--------------------------------------------------------------*/
.av-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:900px){ .av-blog-grid{ grid-template-columns:1fr; } }
.av-post{ border:1px solid var(--av-border); border-radius:var(--av-radius); overflow:hidden; background:var(--av-surface); transition:.35s; }
.av-post:hover{ transform:translateY(-5px); border-color:rgba(232,98,74,.4); }
.av-post-thumb{ aspect-ratio:16/10; overflow:hidden; }
.av-post-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.av-post:hover .av-post-thumb img{ transform:scale(1.06); }
.av-post-body{ padding:26px; }
.av-post .meta{ font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--av-accent); margin-bottom:14px; }
.av-post h3{ font-size:1.3rem; text-transform:none; letter-spacing:0; line-height:1.2; }

/*--------------------------------------------------------------
  Breadcrumb / page hero (sous-pages)
--------------------------------------------------------------*/
.av-page-hero{ position:relative; padding:170px 0 70px; overflow:hidden; border-bottom:1px solid var(--av-border); }
.av-page-hero .bg{ position:absolute; inset:0; z-index:0; opacity:.32; }
.av-page-hero .bg img{ width:100%; height:100%; object-fit:cover; }
.av-page-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(22,24,29,.6), var(--av-bg)); z-index:1; }
.av-page-hero .av-wrap{ position:relative; z-index:2; }
.av-page-hero h1{ font-size:clamp(2.4rem,6vw,4.4rem); text-transform:uppercase; margin-bottom:14px; }
.av-crumb{ display:flex; gap:10px; align-items:center; color:var(--av-muted); font-size:.9rem; }
.av-crumb a:hover{ color:var(--av-accent); }
.av-crumb i{ font-size:.7rem; color:var(--av-accent); }

/*--------------------------------------------------------------
  Boutique — filtres
--------------------------------------------------------------*/
.av-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:44px; }
.av-chips{ display:flex; gap:10px; flex-wrap:wrap; }
.av-chip{ border:1px solid var(--av-border); background:var(--av-surface); color:var(--av-text); border-radius:100px; padding:9px 20px; font-size:13px; font-weight:600; cursor:pointer; transition:.3s; }
.av-chip:hover{ border-color:var(--av-accent); color:var(--av-accent); }
.av-chip.active{ background:var(--av-accent); color:#fff; border-color:var(--av-accent); }
.av-count{ color:var(--av-muted); font-size:.9rem; }

/*--------------------------------------------------------------
  Galerie photos + filtre dossard
--------------------------------------------------------------*/
.av-bib-banner{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  background:linear-gradient(90deg, rgba(232,98,74,.14), rgba(224,164,88,.08));
  border:1px solid rgba(232,98,74,.28); border-radius:var(--av-radius);
  padding:22px 28px; margin-bottom:40px;
}
.av-bib-banner .ic{ width:52px; height:52px; border-radius:50%; background:var(--av-accent); color:#fff; display:grid; place-items:center; font-size:22px; flex:0 0 auto; }
.av-bib-banner h3{ font-size:1.25rem; text-transform:uppercase; margin-bottom:4px; }
.av-bib-banner p{ margin:0; font-size:.95rem; }
.av-bib-search{ margin-left:auto; }

.av-bibfilter{ display:flex; align-items:center; gap:10px; background:var(--av-surface); border:1px solid var(--av-border); border-radius:100px; padding:8px 8px 8px 20px; }
.av-bibfilter i{ color:var(--av-accent); }
.av-bibfilter input{ background:none; border:none; outline:none; color:var(--av-text); font-family:var(--av-ff-body); font-size:15px; width:150px; }
.av-bibfilter input::placeholder{ color:var(--av-muted); }

.av-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:1100px){ .av-gallery{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .av-gallery{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:440px){ .av-gallery{ grid-template-columns:1fr; } }

.av-photo{ position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:var(--av-radius-sm); border:1px solid var(--av-border); background:var(--av-surface-2); }
.av-photo > img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.av-photo:hover > img{ transform:scale(1.06); }
.av-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%, rgba(22,24,29,.8)); opacity:.5; transition:.4s; }
.av-photo:hover::after{ opacity:.85; }
.av-photo-bib{ position:absolute; top:12px; left:12px; z-index:3; background:rgba(22,24,29,.78); backdrop-filter:blur(6px); border:1px solid var(--av-border); color:var(--av-text); font-family:var(--av-ff-display-med); font-size:13px; padding:5px 12px; border-radius:8px; letter-spacing:.04em; }
.av-photo-bib b{ color:var(--av-accent); }
.av-photo-price{ position:absolute; bottom:12px; left:12px; z-index:3; font-family:var(--av-ff-display-med); color:#fff; font-size:1.05rem; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.av-photo-cart{ position:absolute; bottom:10px; right:10px; z-index:4; width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:var(--av-accent); color:#fff; font-size:16px; display:grid; place-items:center;
  transform:translateY(14px) scale(.7); opacity:0; transition:.35s cubic-bezier(.2,.7,.2,1); }
.av-photo:hover .av-photo-cart{ transform:translateY(0) scale(1); opacity:1; }
.av-photo-cart:hover{ background:#fff; color:var(--av-accent); }
.av-photo.is-hidden{ display:none; }

.av-noresult{ text-align:center; padding:60px 0; color:var(--av-muted); display:none; }
.av-noresult.show{ display:block; }

.av-loadmore{ text-align:center; margin-top:54px; }

/*--------------------------------------------------------------
  Footer
--------------------------------------------------------------*/
.av-footer{ background:var(--av-surface); border-top:1px solid var(--av-border); padding:80px 0 0; margin-top:20px; }
.av-footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid var(--av-border); }
@media (max-width:900px){ .av-footer-top{ grid-template-columns:1fr 1fr; gap:36px; } }
@media (max-width:520px){ .av-footer-top{ grid-template-columns:1fr; } }
.av-footer-brand p{ margin:18px 0 24px; max-width:34ch; }
.av-footer h4{ font-size:1rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:22px; color:var(--av-text); }
.av-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.av-footer ul a{ color:var(--av-muted); font-size:.95rem; }
.av-footer ul a:hover{ color:var(--av-accent); }
.av-social{ display:flex; gap:12px; }
.av-social a{ width:42px; height:42px; border-radius:50%; border:1px solid var(--av-border); display:grid; place-items:center; color:var(--av-text); transition:.3s; }
.av-social a:hover{ background:var(--av-accent); border-color:var(--av-accent); color:#fff; transform:translateY(-3px); }
.av-newsletter{ display:flex; gap:8px; margin-top:8px; }
.av-newsletter input{ flex:1; background:var(--av-bg); border:1px solid var(--av-border); border-radius:100px; padding:12px 18px; color:var(--av-text); outline:none; font-family:var(--av-ff-body); }
.av-newsletter input::placeholder{ color:var(--av-muted); }
.av-newsletter button{ background:var(--av-accent); color:#fff; border:none; border-radius:50%; width:46px; height:46px; flex:0 0 auto; cursor:pointer; font-size:16px; transition:.3s; }
.av-newsletter button:hover{ background:#f0745f; }
.av-copy{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:26px 0; color:var(--av-muted); font-size:.88rem; }
.av-copy a{ color:var(--av-muted); }
.av-copy a:hover{ color:var(--av-accent); }

/*--------------------------------------------------------------
  Overlay menu mobile
--------------------------------------------------------------*/
.av-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.5); backdrop-filter:blur(2px); opacity:0; visibility:hidden; transition:.4s; z-index:110; }
.av-overlay.show{ opacity:1; visibility:visible; }

/*--------------------------------------------------------------
  Reveal au scroll (IntersectionObserver, dégradation gracieuse)
--------------------------------------------------------------*/
.av-reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.av-reveal.in{ opacity:1; transform:none; }
.av-reveal[data-d="1"]{ transition-delay:.08s; }
.av-reveal[data-d="2"]{ transition-delay:.16s; }
.av-reveal[data-d="3"]{ transition-delay:.24s; }
.av-reveal[data-d="4"]{ transition-delay:.32s; }
.av-reveal[data-d="5"]{ transition-delay:.40s; }
@media (prefers-reduced-motion:reduce){
  .av-reveal{ opacity:1; transform:none; transition:none; }
  .av-marquee-track{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* Chargement initial : léger fade global */
body.av-loading *{ animation-play-state:paused !important; }

/*--------------------------------------------------------------
  Pages Auth (connexion / inscription / mot de passe oublié)
--------------------------------------------------------------*/
.av-auth{ display:flex; align-items:center; }
.av-auth .av-wrap{ width:100%; }
.av-auth-card{
  max-width:520px; margin:0 auto;
  background:var(--av-surface); border:1px solid var(--av-border);
  border-radius:var(--av-radius); box-shadow:var(--av-shadow);
  padding:44px 40px;
}
@media (max-width:575px){ .av-auth-card{ padding:32px 22px; } }
.av-auth-head{ margin-bottom:26px; }
.av-auth-head h1{ font-size:2rem; margin:12px 0 10px; }
.av-auth-head .av-lead{ font-size:1rem; }

.av-auth-form{ display:flex; flex-direction:column; gap:18px; }
.av-field{ display:flex; flex-direction:column; gap:8px; }
.av-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:479px){ .av-field-row{ grid-template-columns:1fr; } }
.av-field label{
  font-family:var(--av-ff-body); font-weight:600; font-size:13px;
  letter-spacing:.02em; color:var(--av-text);
}
.av-field-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.av-field-link{ font-size:12.5px; font-weight:600; color:var(--av-muted); }
.av-field-link:hover{ color:var(--av-accent); }
.av-field input{
  width:100%; background:var(--av-bg); color:var(--av-text);
  border:1px solid var(--av-border); border-radius:var(--av-radius-sm);
  padding:13px 15px; font-family:var(--av-ff-body); font-size:15px;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.av-field input::placeholder{ color:var(--av-muted); opacity:.7; }
.av-field input:focus{
  outline:none; border-color:var(--av-accent);
  box-shadow:0 0 0 3px rgba(232,98,74,.16);
}
.av-auth-form .av-btn{ margin-top:6px; }

.av-auth-alert{
  display:flex; align-items:center; gap:10px;
  background:rgba(232,98,74,.12); border:1px solid rgba(232,98,74,.4);
  color:#f0a494; border-radius:var(--av-radius-sm);
  padding:12px 15px; font-size:14px; font-family:var(--av-ff-body);
}
.av-auth-alert i{ color:var(--av-accent); }
.av-auth-note{
  display:flex; gap:12px;
  background:var(--av-surface-2); border:1px solid var(--av-border);
  border-radius:var(--av-radius-sm); padding:16px 18px;
}
.av-auth-note i{ color:var(--av-accent); font-size:20px; margin-top:2px; }
.av-auth-note p{ margin:0; font-size:14.5px; line-height:1.55; }
.av-auth-note a{ color:var(--av-accent); }

.av-auth-switch{
  text-align:center; font-size:14px; color:var(--av-muted);
  font-family:var(--av-ff-body); margin:2px 0 0;
}
.av-auth-switch a{ color:var(--av-accent); font-weight:600; }
.av-auth-crumb{ justify-content:center; margin-top:26px; }
