/* ============================================================================
   Danz Éditorial — widgets du page builder portés par le thème
   ----------------------------------------------------------------------------
   Trois familles de widgets Danz Builder ne portent pas leur propre CSS : le
   carrousel d'accueil (`heroslider`), le bandeau défilant (`marquee`) et le
   bloc d'appel à l'action. Leurs styles vivaient dans la feuille de Danz
   Theme ; sans eux, un carrousel s'affiche comme trois blocs empilés sans
   image de fond.

   Ces règles sont donc reprises telles quelles : ce sont des mécaniques
   (positionnement, transitions), pas des couleurs — les couleurs restent
   celles que l'école a choisies dans la page.

   NOTE : la place juste de ce fichier est dans danz-builder, aux côtés des
   widgets qu'il stylise. Tant que ce n'est pas fait, chaque thème doit
   l'embarquer.
   ========================================================================== */

/* ---- Carrousel d'accueil ---- */
.danz-heroslider{position:relative;overflow:hidden;padding:0;display:block}
.danz-heroslider .danz-hs-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s ease;z-index:0}
.danz-heroslider .danz-hs-slide.is-active{opacity:1;visibility:visible;z-index:1}
.danz-heroslider.danz-hs--slide .danz-hs-slide{transition:opacity .8s ease,transform .9s cubic-bezier(.6,0,.2,1);transform:translateX(7%)}
.danz-heroslider.danz-hs--slide .danz-hs-slide.is-active{transform:none}
.danz-hs-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;transform:scale(1.03)}
.danz-heroslider.is-kenburns .danz-hs-slide.is-active .danz-hs-bg{animation:danz-hs-kb 9s ease-out forwards}
.danz-hs-ov{position:absolute;inset:0;z-index:1}
.danz-hs-inner{position:relative;z-index:5;max-width:1100px;margin:0 auto;padding:0 32px;width:100%}
.danz-hs--center .danz-hs-sub{margin-left:auto;margin-right:auto}
.danz-hs-eyebrow{margin:0 0 14px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;opacity:.9}
.danz-hs-title{margin:0 0 18px;font-size:clamp(2.6rem,7vw,6rem);line-height:.96;font-weight:800}
.danz-hs-sub{margin:0 0 30px;font-size:clamp(1rem,1.6vw,1.2rem);max-width:560px;line-height:1.6;opacity:.94}
.danz-hs-btns{display:flex;gap:16px;flex-wrap:wrap}
.danz-hs-btns .danz-btn{padding:15px 34px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;transition:transform .15s,filter .15s;border-radius:var(--danz-btn-radius,4px)}
.danz-hs-btns .danz-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.danz-hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;background:none;border:0;cursor:pointer;width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:var(--danz-hs-arrow,#fff);opacity:.85;transition:opacity .2s}
.danz-hs-arrow:hover{opacity:1}
.danz-hs-prev{left:18px}
.danz-hs-next{right:18px}
.danz-hs-arrow span{display:block;width:17px;height:17px;border-right:2px solid currentColor;border-bottom:2px solid currentColor}
.danz-hs-prev span{transform:rotate(135deg)}
.danz-hs-next span{transform:rotate(-45deg)}
.danz-hs--line .danz-hs-arrow span{width:44px;height:0;border-right:0;border-bottom:2px solid currentColor;position:relative}
.danz-hs--line .danz-hs-arrow span::after{content:"";position:absolute;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;top:-6px}
.danz-hs--line .danz-hs-next span::after{right:0;transform:rotate(-45deg)}
.danz-hs--line .danz-hs-prev span::after{left:0;transform:rotate(135deg)}
.danz-hs--circle .danz-hs-arrow,.danz-hs--square .danz-hs-arrow{border:2px solid currentColor;width:54px;height:54px}
.danz-hs--circle .danz-hs-arrow{border-radius:50%}
.danz-hs--circle .danz-hs-arrow span,.danz-hs--square .danz-hs-arrow span{width:11px;height:11px}
.danz-hs-dots{position:absolute;bottom:30px;left:0;right:0;display:flex;gap:12px;justify-content:center;z-index:6}
.danz-hs-dot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:background .2s,transform .2s}
.danz-hs-dot.is-active{background:var(--danz-hs-accent,var(--danz-color-primary));transform:scale(1.3)}
.danz-heroslider::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:4;pointer-events:none;height:var(--danz-hs-fade,110px);background:linear-gradient(to bottom,transparent,var(--danz-hs-fade-color,var(--danz-color-bg)))}
/* === Pack éditorial premium (widgets danz-builder 1.6.0, façon Vibez) ===== */
/* Marquee — bandeau défilant en boucle */
.danz-marquee{overflow:hidden;white-space:nowrap;position:relative}
.danz-marquee__track{display:inline-flex;animation:danz-marquee-scroll linear infinite}
.danz-marquee--right .danz-marquee__track{animation-direction:reverse}
.danz-marquee--pause:hover .danz-marquee__track{animation-play-state:paused}
.danz-marquee__group{display:inline-flex;align-items:center;flex-shrink:0}
.danz-marquee__item,.danz-marquee__sep{display:inline-block;padding:0 .35em;flex-shrink:0}
@media (max-width: 980px) {
}
@keyframes danz-hs-kb{
	from{transform:scale(1.03)}
	to{transform:scale(1.15)}
}
@media(max-width:600px){
	.danz-hs-arrow{width:44px;height:44px}
	.danz-hs-prev{left:2px}
	.danz-hs-next{right:2px}
	.danz-hs-inner{padding:0 22px}
	.danz-hs-dots{bottom:18px}
}
@keyframes danz-marquee-scroll{
	from{transform:translateX(0)}
	to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
	.danz-marquee__track{animation:none!important}
}
