/* Effet « lueur de bougie » sur TOUS les boutons cliquables (Mouloud 22/07 —
   même langage que le menu : lift + halo doré + reflet qui balaie).
   Source unique, incluse sur toutes les pages :
   <link rel="stylesheet" href="/static/boutons-lux.css">                       */

/* ── grands boutons / pilules ─────────────────────────────────────────── */
a.bouton, .heros .cta, .ch-cta, .cta-fin .btn, button.reserver, .c3d-lien,
.xh-cta, .proch-cta, .btn.prim, .btn.ajout, .bp-btn, .tn-btn.prim,
.carte-prix .btn, .btn.btn-vert, .btn.btn-rouge, .btn.btn-ligne,
.lien-cta-mobile, .e5-carte {
  position: relative; overflow: hidden; isolation: isolate;
  transition: transform .32s cubic-bezier(.3,1.2,.5,1), box-shadow .35s ease,
              background .3s ease, color .3s ease, border-color .3s ease;
}
a.bouton:hover, .heros .cta:hover, .ch-cta:hover, .cta-fin .btn:hover,
button.reserver:hover, .c3d-lien:hover, .xh-cta:hover, .proch-cta:hover,
.btn.prim:hover:not(:disabled), .btn.ajout:hover:not(:disabled), .bp-btn:hover,
.tn-btn.prim:hover:not(:disabled), .carte-prix .btn:hover,
.btn.btn-vert:hover, .btn.btn-rouge:hover, .btn.btn-ligne:hover,
.lien-cta-mobile:hover {
  transform: translateY(-2px) scale(1.035);
  box-shadow: 0 0 0 4px rgba(197,163,92,.22),
              0 16px 32px -12px rgba(0,0,0,.4),
              0 0 28px -4px rgba(197,163,92,.55);
}
/* reflet doré qui balaie au survol (le .bouton-or de l'accueil a déjà le sien) */
a.bouton:not(.bouton-or)::before, .heros .cta::before, .ch-cta::before,
.cta-fin .btn::before, button.reserver::before, .c3d-lien::before,
.xh-cta::before, .proch-cta::before, .btn.prim::before, .btn.ajout::before,
.bp-btn::before, .tn-btn.prim::before, .carte-prix .btn::before,
.btn.btn-vert::before, .btn.btn-rouge::before, .btn.btn-ligne::before,
.lien-cta-mobile::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.38) 48%,
              rgba(197,163,92,.28) 54%, transparent 68%) no-repeat;
  background-size: 260% 100%; background-position: 135% 0;
}
a.bouton:not(.bouton-or):hover::before, .heros .cta:hover::before,
.ch-cta:hover::before, .cta-fin .btn:hover::before, button.reserver:hover::before,
.c3d-lien:hover::before, .xh-cta:hover::before, .proch-cta:hover::before,
.btn.prim:hover::before, .btn.ajout:hover::before, .bp-btn:hover::before,
.tn-btn.prim:hover::before, .carte-prix .btn:hover::before,
.btn.btn-vert:hover::before, .btn.btn-rouge:hover::before,
.btn.btn-ligne:hover::before, .lien-cta-mobile:hover::before {
  animation: sheenBoutonLux .85s ease;
}
@keyframes sheenBoutonLux {
  from { background-position: 135% 0; }
  to   { background-position: -135% 0; }
}

/* ── petits contrôles ronds (flèches, steppers, fermer) : halo discret ── */
.ch-fl, .galerie-nav, .b-nav, .cal-tete button, .agenda-tete button,
.pas, .mini-step button, .pdj-grp button, .compteur button,
.suppr, .fermer, .tn-fermer, .drawer-fermer {
  transition: transform .25s cubic-bezier(.3,1.2,.5,1), box-shadow .3s ease,
              background .25s ease, color .25s ease, border-color .25s ease;
}
.ch-fl:hover, .galerie-nav:hover, .b-nav:hover,
.cal-tete button:hover:not(:disabled), .agenda-tete button:hover,
.pas:hover, .mini-step button:hover:not(:disabled), .pdj-grp button:hover,
.compteur button:hover, .suppr:hover, .fermer:hover, .tn-fermer:hover,
.drawer-fermer:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 0 4px rgba(197,163,92,.18), 0 0 16px -2px rgba(197,163,92,.45);
}

@media (prefers-reduced-motion: reduce) {
  a.bouton, .heros .cta, .ch-cta, .cta-fin .btn, button.reserver, .c3d-lien,
  .xh-cta, .proch-cta, .btn.prim, .btn.ajout, .bp-btn, .tn-btn.prim,
  .carte-prix .btn, .btn.btn-vert, .btn.btn-rouge, .btn.btn-ligne,
  .lien-cta-mobile, .ch-fl, .galerie-nav, .b-nav, .cal-tete button,
  .agenda-tete button, .pas, .mini-step button, .pdj-grp button,
  .compteur button, .suppr, .fermer, .tn-fermer, .drawer-fermer {
    transition: none;
  }
  a.bouton::before, .heros .cta::before { animation: none !important; }
}

/* ── footer : liens de colonnes + icônes réseaux (Mouloud 22/07 soir) ──── */
.pied-luxe .pc a, footer .pied-col a {
  position: relative; z-index: 0;
}
.pied-luxe .pc a::before, footer .pied-col a::before {
  content: ""; position: absolute; inset: -3px -10px; z-index: -1;
  border-radius: 9px; opacity: 0; transform: scale(.8);
  background: radial-gradient(60% 90% at 30% 50%, rgba(197,163,92,.16), transparent 72%);
  transition: opacity .3s ease, transform .3s cubic-bezier(.3,1.2,.5,1);
}
.pied-luxe .pc a:hover::before, footer .pied-col a:hover::before {
  opacity: 1; transform: scale(1);
}
.pied-luxe .pc a:hover, footer .pied-col a:hover {
  text-shadow: 0 0 14px rgba(197,163,92,.85);
}

/* icônes réseaux : footer partagé + footer accueil + tiroir + flottantes */
.pied-luxe .soc a, footer .social a, .dp-social a, .social-flottant a {
  transition: transform .28s cubic-bezier(.3,1.2,.5,1), box-shadow .32s ease,
              background .25s ease, color .25s ease, border-color .25s ease;
}
.pied-luxe .soc a:hover, footer .social a:hover, .dp-social a:hover {
  transform: translateY(-2px) scale(1.08);
  box-shadow: 0 0 0 4px rgba(197,163,92,.22), 0 0 22px -2px rgba(197,163,92,.6);
}
.social-flottant a:hover {
  box-shadow: 0 8px 22px rgba(0,0,0,.32), 0 0 0 4px rgba(197,163,92,.3),
              0 0 24px -2px rgba(197,163,92,.65);
}

@media (prefers-reduced-motion: reduce) {
  .pied-luxe .pc a::before, footer .pied-col a::before,
  .pied-luxe .soc a, footer .social a, .dp-social a, .social-flottant a {
    transition: none;
  }
}
