/*
Theme Name:		Hello Elementor Child
Template:		hello-elementor
Theme URI:		https://www.agence-saycom.fr/
Description:	Hello Elementor by Agence SayCom
Author:			Agence Saycom
Author URI:		http://www.agence-saycom.fr
Version:		1.0.0
License:		GNU General Public License v3.0
License URI:	http://www.gnu.org/licenses/gpl-3.0.html
Text Domain:	hello-elementor
*/
@import url('./styles/reset.css');

/* ===== Bouton glow ===== */
.glow-btn .elementor-button{
  --base:#6E4E76;            /* couleur de base */
  --base-top:#8A6593;        /* haut du dégradé */
  --glow:160,111,176;        /* teinte du glow (RGB) */
  --ring-soft:110,78,118;    /* contour au repos */
  --ring-bright:235,217,240; /* point lumineux sous la souris */
  --radius:14px;
  --border:2px;

  position:relative;
  isolation:isolate;
  border:none !important;
  color:#fff !important;
  background:linear-gradient(180deg,var(--base-top),var(--base)) !important;
  border-radius:var(--radius) !important;
  box-shadow:0 4px 18px rgba(var(--ring-soft),.35);
  transition:box-shadow .35s ease, transform .2s ease;
}
.glow-btn .elementor-button::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  padding:var(--border);
  background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),
    rgba(var(--ring-bright),.95),
    rgba(var(--glow),.55) 42%,
    rgba(var(--ring-soft),.40) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
          mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;
}
.glow-btn .elementor-button::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,.22),transparent 60%);
  opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:-1;
}
.glow-btn .elementor-button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 28px rgba(var(--glow),.55),0 0 22px rgba(var(--glow),.45);
}
.glow-btn .elementor-button:hover::after{opacity:1;}
.glow-btn .elementor-button:active{transform:translateY(0);}
.glow-btn .elementor-button:focus-visible{
  outline:3px solid rgba(var(--glow),.7);outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  .glow-btn .elementor-button,
  .glow-btn .elementor-button::before,
  .glow-btn .elementor-button::after{transition:none;}
  .glow-btn .elementor-button:hover{transform:none;}
}

/* ===== Bouton glow — variante verre ===== */
.glow-btn .elementor-button{
  --glow:160,111,176;          /* teinte du glow (RGB) */
  --ring-bright:255,255,255;   /* point lumineux du contour (blanc) */
  --radius:14px;
  --border:1.5px;

  position:relative;
  isolation:isolate;
  border:none !important;
  color:#fff !important;
  border-radius:var(--radius) !important;
  transition:box-shadow .35s ease, transform .2s ease, background .35s ease;
}

/* fond verre dépoli */
.glow-btn--glass .elementor-button{
  background:rgba(255,255,255,.10) !important;
  -webkit-backdrop-filter:blur(10px) saturate(120%);
          backdrop-filter:blur(10px) saturate(120%);
  box-shadow:0 4px 18px rgba(var(--glow),.30);
}

/* contour blanc qui suit la souris */
.glow-btn .elementor-button::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  padding:var(--border);
  background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),
    rgba(var(--ring-bright),.95),
    rgba(var(--ring-bright),.45) 42%,
    rgba(var(--ring-bright),.18) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
          mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;
}

/* halo intérieur subtil */
.glow-btn .elementor-button::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,.20),transparent 60%);
  opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:-1;
}

.glow-btn--glass .elementor-button:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.16) !important;
  box-shadow:0 6px 28px rgba(var(--glow),.55),0 0 22px rgba(var(--glow),.45);
}
.glow-btn .elementor-button:hover::after{opacity:1;}
.glow-btn .elementor-button:active{transform:translateY(0);}
.glow-btn .elementor-button:focus-visible{
  outline:3px solid rgba(255,255,255,.8);outline-offset:3px;
}

@media (prefers-reduced-motion:reduce){
  .glow-btn .elementor-button,
  .glow-btn .elementor-button::before,
  .glow-btn .elementor-button::after{transition:none;}
  .glow-btn--glass .elementor-button:hover{transform:none;}
}