/* Dernières finitions du site Luka C */

/* Espacements plus réguliers entre les grands blocs */
.section--reviews,
.availability,
.home-prestations,
.home-formules,
.home-quote{scroll-margin-top:96px}

.section--reviews{padding-bottom:78px}
.availability{padding-top:78px;padding-bottom:78px}
.home-prestations{padding-top:78px;padding-bottom:78px}
.home-formules{padding-top:78px;padding-bottom:78px}
.home-quote{padding-top:78px!important}

/* Navigation active au scroll */
.desktop-nav a.is-active{color:#181716;font-weight:700}
.desktop-nav a.is-active:after{transform:scaleX(1)}

/* Hero : simplification du libellé */
.hero-modern__eyebrow{display:none!important}
.hero-modern__label{font-size:0!important}
.hero-modern__label::after{
  content:"Luka C - Dj & Animateur";
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:none;
}

/* Lisibilité des petits textes, notamment sous Windows/Chrome */
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:auto;
  -moz-osx-font-smoothing:auto;
}
.reviews-kicker,
.availability__kicker,
.prestations-kicker,
.prestation-card__kicker,
.formules-kicker,
.home-quote__kicker{
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
}
.review__date,
.availability__year-title,
.availability__updated,
.site-footer small,
.home-quote__actions p{
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.5!important;
}
.review p,
.prestation-card__content>p,
.prestation-card__content li,
.formule-card__intro,
.formule-card li,
.signature-card p,
.signature-card li,
.option-card p,
.section--reviews .section-heading>p:last-child,
.availability__head p:last-child,
.formules-hero>p:last-child,
.section-title>p:last-child,
.home-quote__head>p:last-child{
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.7!important;
}
.home-quote__field label,
.home-quote__group legend,
.home-quote__checks label{
  font-size:12px!important;
  font-weight:500!important;
}

/* Micro-interactions cohérentes */
.review,
.availability__year,
.prestation-card,
.formule-card,
.signature-card,
.option-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

@media (hover:hover){
  .review:hover,
  .availability__year:hover,
  .prestation-card:hover,
  .formule-card:hover,
  .signature-card:hover,
  .option-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 42px rgba(50,38,28,.09)!important;
    border-color:rgba(24,23,22,.18)!important;
  }
}

/* Apparitions douces au chargement et au scroll */
.reveal,
.scroll-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}

.reveal--delay{transition-delay:.12s}
.reveal.is-visible,
.scroll-reveal.is-visible{
  opacity:1;
  transform:none;
}

.scroll-reveal--delay-1{transition-delay:.06s}
.scroll-reveal--delay-2{transition-delay:.12s}
.scroll-reveal--delay-3{transition-delay:.18s}
.scroll-reveal--delay-4{transition-delay:.24s}

/* Petit zoom très discret sur la photo principale */
.hero-modern__frame img{
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.hero-modern__visual.is-visible .hero-modern__frame img{transform:scale(1.015)}

/* Flèche des boutons : léger mouvement au survol */
.btn-modern span,
.header-cta span{
  display:inline-block;
  transition:transform .2s ease;
}
@media (hover:hover){
  .btn-modern:hover span,
  .header-cta:hover span{transform:translateX(3px)}
}

/* Bouton retour en haut */
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:40;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(24,23,22,.12);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#181716;
  box-shadow:0 10px 28px rgba(24,23,22,.12);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .2s ease,color .2s ease;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:#c93431;color:#fff;border-color:#c93431}
.back-to-top svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Header mobile/tablette : logo + réseaux + menu sur une seule ligne */
@media(max-width:1180px){
  .site-header{
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    align-items:center;
    gap:10px;
  }
  .brand{grid-column:1;grid-row:1;justify-self:start}
  .desktop-nav{display:none}
  .header-cta{display:none!important}
  .header-socials{
    display:flex!important;
    grid-column:3;
    grid-row:1;
    justify-self:end;
    margin:0!important;
  }
  .menu-toggle{
    display:flex;
    grid-column:4;
    grid-row:1;
    position:static!important;
    inset:auto!important;
    justify-self:end;
    margin:0!important;
  }
}

@media(max-width:720px){
  .site-header{padding-left:18px;padding-right:18px;gap:8px}
  .header-socials{gap:4px!important}
  .header-socials a{width:31px!important;height:31px!important}
  .header-socials svg{width:14px!important;height:14px!important}
  .menu-toggle{width:38px;height:38px}
  .brand__logo{max-width:82px}
  .back-to-top{right:16px;bottom:16px;width:42px;height:42px}
  .section--reviews{padding-bottom:62px}
  .availability,.home-prestations,.home-formules{padding-top:62px;padding-bottom:62px}
  .home-quote{padding-top:62px!important}
}

@media(max-width:420px){
  .site-header{gap:6px}
  .header-socials a{width:29px!important;height:29px!important}
  .header-socials svg{width:13px!important;height:13px!important}
  .menu-toggle{width:36px;height:36px}
}

@media(prefers-reduced-motion:reduce){
  .review,.availability__year,.prestation-card,.formule-card,.signature-card,.option-card,.back-to-top,.reveal,.scroll-reveal,.hero-modern__frame img,.btn-modern span,.header-cta span{transition:none!important}
  .reveal,.scroll-reveal{opacity:1!important;transform:none!important}
  .hero-modern__frame img{transform:none!important}
}
