/* MDC · Bouton — moderne épuré, options avancées */
.mdc-btn-wrap{ display:flex; }
.mdc-btn{
    --mdc-accent:#b8252e; --mdc-dark:#080a0a; --mdc-btn-text:#fff;
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-weight:700; line-height:1; text-decoration:none; cursor:pointer;
    border:2px solid transparent; border-radius:8px; padding:16px 38px;
    position:relative; overflow:hidden; font-family:inherit;
    transition:transform .25s cubic-bezier(.4,0,.2,1), background .3s ease, color .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.mdc-btn-ico{ display:inline-flex; align-items:center; position:relative; z-index:2; }
.mdc-btn-ico svg{ width:16px; height:16px; fill:currentColor; }
.mdc-btn-label{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; line-height:1.15; }
.mdc-btn-sub{ font-size:.72em; font-weight:500; opacity:.85; margin-top:3px; }

/* Types de fond */
.mdc-btn.is-solid{ background:var(--mdc-accent); color:var(--mdc-btn-text); box-shadow:0 8px 22px rgba(184,37,46,.22); }
.mdc-btn.is-gradient{ color:var(--mdc-btn-text); border-color:transparent; box-shadow:0 8px 24px rgba(184,37,46,.25); }
.mdc-btn.is-gradient.grad-anim{ animation:mdcBtnGrad 4s ease infinite; }
@keyframes mdcBtnGrad{ 0%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } 100%{ background-position:0% 50%; } }
.mdc-btn.is-outline{ background:transparent; color:var(--mdc-accent); border-color:var(--mdc-accent); }
.mdc-btn.is-soft{ background:rgba(184,37,46,.1); color:var(--mdc-accent); border-color:transparent; }
.mdc-btn.is-ghost{ background:transparent; color:var(--mdc-accent); border:0; padding-left:8px; padding-right:8px; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:2px; }
.mdc-btn.is-glass{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.3); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }

/* Hover : lift */
.mdc-btn.hover-lift:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(8,10,10,.2); }
/* Hover : grow */
.mdc-btn.hover-grow:hover{ transform:scale(1.05); }
/* Hover : fill balayage */
.mdc-btn.hover-fill::before{ content:''; position:absolute; inset:0; background:var(--mdc-dark); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.4,0,.2,1); z-index:1; }
.mdc-btn.hover-fill:hover::before{ transform:scaleX(1); }
.mdc-btn.hover-fill:hover{ color:#fff; }
/* Hover : slide icône */
.mdc-btn.hover-slide .mdc-btn-ico{ transition:transform .3s ease; }
.mdc-btn.icon-right.hover-slide:hover .mdc-btn-ico{ transform:translateX(5px); }
.mdc-btn.icon-left.hover-slide:hover .mdc-btn-ico{ transform:translateX(-5px); }
.mdc-btn.hover-slide:hover{ transform:translateY(-2px); }
/* Hover : shine reflet */
.mdc-btn.hover-shine::after{ content:''; position:absolute; top:0; left:-75%; width:50%; height:100%; background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-20deg); z-index:3; }
.mdc-btn.hover-shine:hover::after{ animation:mdcBtnShine .85s ease; }
@keyframes mdcBtnShine{ to{ left:135%; } }

.mdc-btn-wrap[style*="stretch"] .mdc-btn{ width:100%; }
