/* ============================================================
   EFFETS LB ASSIST — partagés par la page Europe et la page Algérie
   Tout est désactivé si le visiteur a demandé « moins d'animations ».
   ============================================================ */

/* transition douce entre les pages (navigateurs récents) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.45s cubic-bezier(.4,0,.2,1) both lb-vt-out}
::view-transition-new(root){animation:.55s cubic-bezier(.2,.7,.2,1) both lb-vt-in}
@keyframes lb-vt-out{to{opacity:0;filter:blur(6px)}}
@keyframes lb-vt-in{from{opacity:0;transform:translateY(14px)}}

/* bandeau de choix de région (page Europe) */
.region{background:var(--encre2);color:var(--gris2);font-size:12.5px}
.region .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;flex-wrap:wrap}
.region .choix{display:flex;gap:4px;border:1px solid rgba(192,166,127,.3);border-radius:999px;padding:3px}
.region .choix a{text-decoration:none;padding:3px 13px;border-radius:999px;font-weight:500;color:var(--or-clair);transition:background .25s,color .25s}
.region .choix a[aria-current]{background:var(--or);color:var(--encre)}
.region .choix a:hover:not([aria-current]){background:rgba(192,166,127,.15)}
.region .info{color:var(--gris2)}
@media(max-width:560px){.region .info{display:none}}

/* barre de progression de lecture */
.lb-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;pointer-events:none;
  background:linear-gradient(90deg,#8C7449,#E0CDAB 60%,#C0A67F);transform:scaleX(0);transform-origin:0 50%}
[dir="rtl"] .lb-progress{transform-origin:100% 50%}

/* barre de navigation qui s'affine au défilement */
.nav .wrap{transition:min-height .35s ease}
.nav{transition:box-shadow .35s ease}
.nav.compact .wrap{min-height:54px}
.nav.compact{box-shadow:0 12px 30px -14px rgba(0,0,0,.6)}
.nav a.lien{background:linear-gradient(var(--or),var(--or)) 0 100%/0 1px no-repeat;
  transition:background-size .4s cubic-bezier(.2,.7,.2,1),color .25s}
[dir="rtl"] .nav a.lien{background-position:100% 100%}
.nav a.lien:hover,.nav a.lien:focus-visible{background-size:100% 1px;border-bottom-color:transparent!important;color:var(--ivoire)}

/* ruban défilant */
.lb-marquee{background:var(--or);color:var(--encre);overflow:hidden;white-space:nowrap;direction:ltr;
  border-block:1px solid var(--or-fonce);position:relative;z-index:3}
.lb-marquee .piste{display:inline-flex;align-items:center;padding:15px 0;animation:lb-defile 42s linear infinite}
.lb-marquee:hover .piste{animation-play-state:paused}
.lb-marquee span{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(18px,2.3vw,25px);padding:0 20px}
.lb-marquee span.ar{font-family:"Noto Naskh Arabic","Segoe UI",serif;font-style:normal;font-weight:600}
.lb-marquee .sep{width:7px;height:7px;border:1.5px solid var(--encre);transform:rotate(45deg);flex:none;padding:0}
@keyframes lb-defile{to{transform:translateX(-50%)}}

/* grain et halo doré qui suit la souris */
.hero,.sombre{position:relative;overflow:hidden}
.sombre>.wrap{position:relative;z-index:2}
.lb-grain{position:absolute;inset:-50%;pointer-events:none;z-index:1;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.lb-spot{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .6s ease;
  background:radial-gradient(560px circle at var(--mx,70%) var(--my,30%),rgba(192,166,127,.17),transparent 62%)}
.lb-spot.on{opacity:1}
.hero::after{transform:translateY(var(--py,0px));will-change:transform}

/* ----- tout ce qui suit n'existe que si les animations sont permises ----- */

/* apparition au défilement : montée + flou qui se dissipe */
html.lb-anim [data-rv]{opacity:0;transform:translateY(30px);filter:blur(7px);
  transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1s ease;
  transition-delay:var(--d,0s)}
html.lb-anim [data-rv].vu{opacity:1;transform:none;filter:none}
html.lb-anim [data-rv].sans-delai{transition:none}

/* titres qui montent mot par mot, derrière un masque */
.mot{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .14em;margin-bottom:-.14em}
.mot>span{display:inline-block;transform:translateY(110%) rotate(3deg);transform-origin:0 100%;
  transition:transform 1.15s cubic-bezier(.19,1,.22,1);transition-delay:var(--d,0s)}
.split-vu .mot>span{transform:none}

/* cartes qui se soulèvent et s'inclinent légèrement */
.lb-lift{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease;transform-style:preserve-3d}
.lb-lift.vu:hover{box-shadow:0 30px 60px -28px rgba(23,21,15,.45)}

/* boutons « aimantés » */
.lb-aimant{transition:transform .45s cubic-bezier(.2,.7,.2,1),background .18s,color .18s,box-shadow .2s}

@media (prefers-reduced-motion:reduce){
  .lb-marquee .piste{animation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* ---------- signature finale « LB Assist » : remplissage d'or + vague sous la souris ---------- */
.lb-signature{background:var(--encre);color:var(--or);text-align:center;overflow:hidden;position:relative;
  padding:clamp(46px,8vw,96px) 12px clamp(22px,3.5vw,38px);user-select:none;-webkit-user-select:none;direction:ltr}
.lb-signature .mots{display:inline-block;white-space:nowrap;overflow:hidden;padding:.22em .05em .06em;
  font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(66px,17.5vw,250px);line-height:1;letter-spacing:-.03em}
.lb-signature .wc{display:inline-block;will-change:transform;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),text-shadow .55s ease}
.lb-signature .wc.retour{transition:transform 1.1s cubic-bezier(.34,1.56,.64,1),text-shadow 1s ease}
.lb-signature .in{display:inline-block;color:rgba(192,166,127,var(--fill,0));-webkit-text-stroke:1px rgba(192,166,127,.5);
  transform:translateY(105%);transition:transform 1.2s cubic-bezier(.19,1,.22,1);transition-delay:var(--d,0s)}
.lb-signature.vu .in{transform:none}
.lb-signature .esp{display:inline-block;width:.24em}
.lb-signature .sous{font-family:"Dancing Script","Segoe Script",cursive;font-weight:600;color:var(--or);
  font-size:clamp(18px,2.4vw,28px);margin:6px 0 0;opacity:0;transform:translateY(12px);
  transition:opacity 1s .6s ease,transform 1s .6s cubic-bezier(.2,.7,.2,1)}
.lb-signature.vu .sous{opacity:1;transform:none}
.lb-signature::before{content:"";position:absolute;left:50%;top:0;width:min(560px,80vw);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(192,166,127,.5),transparent)}
@media (prefers-reduced-motion:reduce){
  .lb-signature .in{transform:none;color:var(--or)}
  .lb-signature .sous{opacity:1;transform:none}
}
