/* MADRASSA — FOOTER PUBLIC */
:root{--footer-green-950:#052d21;
    --footer-green-900:#083b2b;
    --footer-green-800:#11523b;
    --footer-gold:#c58a22;
    --footer-gold-soft:#e8cf98;
    --footer-ivory:#fffaf0;
    --footer-text:rgba(255,250,240,.92);
    --footer-muted:rgba(255,250,240,.68);
    --footer-border:rgba(232,207,152,.20);
    --footer-shadow:0 -24px 70px rgba(28,43,32,.13)}
.public-footer{
    position:relative;
    width:100%;
    margin:0!important;
    overflow:hidden;
    color:var(--footer-text);
    background:radial-gradient(circle at 8% 8%,rgba(197,138,34,.14),transparent 26rem),radial-gradient(circle at 92% 18%,rgba(255,255,255,.05),transparent 24rem),linear-gradient(145deg,var(--footer-green-800),var(--footer-green-950))!important;border-top:1px solid rgba(197,138,34,.22);box-shadow:var(--footer-shadow)}
.public-footer::before{content:"";
    position:absolute;inset:0;
    pointer-events:none;
    opacity:.08;
    background-image:repeating-radial-gradient(circle at 0 0,transparent 0 18px,rgba(255,255,255,.35) 19px 20px),repeating-radial-gradient(circle at 100% 100%,transparent 0 20px,rgba(197,138,34,.35) 21px 22px);mask-image:linear-gradient(90deg,#000 0,transparent 28%,transparent 72%,#000 100%)}
.public-footer *
{
    box-sizing:border-box
}
.public-footer__inner
{
    position:relative;
    z-index:1;
    width:min(100% - 2rem,1320px);
    margin-inline:auto;
    padding-block:clamp(3rem,6vw,5rem) 1.4rem
}
    .public-footer__inner::before
    {
        content:"";
        position:absolute;
        top:0;
        left:50%;
        width:min(92%,1120px);
        height:1px;transform:translateX(-50%);
        background:linear-gradient(90deg,transparent,rgba(232,207,152,.18),rgba(232,207,152,.60),rgba(232,207,152,.18),transparent)}
.public-footer a
{
    color:var(--footer-ivory);
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:color .22s ease,opacity .22s ease,transform .22s ease
}
    .public-footer a:hover
    {
        color:var(--footer-gold-soft)
    }
.footer-link
{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:var(--footer-muted)!important;
    font-size:.91rem;
    font-weight:600;
    line-height:1.9;opacity:1
}
.footer-link::before
{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 auto;
    background:var(--footer-gold);
    border-radius:50%;
    opacity:.55;
    transform:scale(.8);transition:transform .22s ease,opacity .22s ease
}
.footer-link:hover
{
    color:var(--footer-ivory)!important;
    transform:translateX(2px)
}
.footer-link:hover::before
{
    opacity:1;
    transform:scale(1)
}
.public-footer__brand img
{
    display:block;
    width:min(100%,235px);
    height:auto;
    margin-inline:auto;
    filter:drop-shadow(0 10px 24px rgba(0,0,0,.18))
}
@media(min-width:992px)
{
    .public-footer__brand img{margin-inline:0}
}
.public-footer__brand-text
{
    max-width:430px
}
.public-footer__lead
{
    color:var(--footer-ivory);
    font-family:"Outfit", sans-serif;
    font-size:1.22rem;
    font-weight:700
}
.public-footer__muted,.public-footer__operator
{
    color:var(--footer-muted)!important;
    line-height:1.75
}
.public-footer__quote
{
    color:var(--footer-gold-soft);
    font-size:.9rem;
    line-height:1.65
}
    .public-footer__brand a.fw-bold
    {
        color:var(--footer-gold-soft)!important
    }

.public-footer__heading
{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:.5rem;padding-bottom:.65rem;
    color:var(--footer-ivory);
    font-family:"Outfit", sans-serif;
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.07em
}
.public-footer__heading::after
{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:36px;
    height:2px;
    background:linear-gradient(90deg,var(--footer-gold),transparent);
    border-radius:999px
}
.public-footer__social .avatar-title
{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    color:var(--footer-ivory);
    background:rgba(255,255,255,.07);
    border:1px solid var(--footer-border);
    border-radius:13px;
    transition:transform .22s ease,background .22s ease,border-color .22s ease,color .22s ease
}
.public-footer__social a:hover .avatar-title
{
    color:var(--footer-green-950);
    background:var(--footer-gold-soft);
    border-color:var(--footer-gold-soft);
    transform:translateY(-3px)
}
.public-footer__accepted
{
    color:var(--footer-muted)
}
.public-footer__payments
{
    display:grid;
    grid-template-columns:repeat(5,minmax(52px,1fr));
    gap:.65rem;
    max-width:520px
}
.pay-logos .logo-wrap
{
    display:grid;
    place-items:center;
    min-height:58px;
    padding:.45rem;
    background:rgba(255,255,255,.06);
    border:1px solid var(--footer-border);
    border-radius:12px;
}
.pay-logos img
{
    width:auto;
    max-width:100%;
    max-height:36px;
    opacity:.88;
    filter:saturate(.82) brightness(1.08);transition:opacity .2s ease,transform .2s ease,filter .2s ease
}
.pay-logos .logo-wrap:hover img
{
    opacity:1;
    filter:none;
    transform:scale(1.04)
}
.public-footer__trust
{position:relative;padding:clamp(1.2rem,3vw,1.7rem);
    overflow:hidden;
    background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
    border:1px solid var(--footer-border);
    border-radius:20px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(8px)
}
.public-footer__trust::before
{
    content:"";
    position:absolute;
    top:0;
    left:1.5rem;
    right:1.5rem;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--footer-gold),transparent);
    opacity:.7
}
.footer-trust-box li{
    margin-bottom:.5rem;
    color:var(--footer-text);
    font-size:.88rem;
    line-height:1.6
}
.footer-trust-box li i
{
    color:var(--footer-gold-soft)
}
.trust-badge
{
    display:inline-flex;
    align-items:center;
    gap:.38rem;margin:.18rem;
    padding:.42rem .72rem;
    color:var(--footer-gold-soft);
    background:rgba(197,138,34,.11);
    border:1px solid rgba(232,207,152,.24);
    border-radius:999px;
    font-size:.74rem;
    font-weight:750;
    white-space:nowrap;
}
.public-footer hr
{
    border-color:rgba(255,255,255,.13);
    opacity:1}
.public-footer__bottom
{color:var(--footer-muted);
    font-size:.84rem}
.public-footer__bottom .footer-list
{
    gap:.45rem 1rem
}
.public-footer__bottom .footer-link
{
    font-size:.8rem
}
.public-footer__bottom .footer-link::before
{
    display:none
}
.rtl-page .public-footer__heading::after
{
    right:0;
    left:auto;
    background:linear-gradient(270deg,var(--footer-gold),transparent)
}
.rtl-page .footer-link:hover
{
    transform:translateX(-2px)
}
@media(max-width:991.98px)
{
    .public-footer__inner
    {
        width:min(100% - 1.5rem,1320px)
    }
    .public-footer__brand-text
    {
        max-width:100%
    }
    .public-footer__payments
    {
        max-width:100%
    }
}
.public-footer__inner
{
    padding-top:2.5rem
}
.footer-cols h6,.footer-cols ul
{
    text-align:left
}
.public-footer__heading
{
    justify-content:center
}
.public-footer__heading::after
{
    left:50%;
    transform:translateX(-50%)
}
.rtl-page .public-footer__heading::after
{
    right:auto;left:50%
}
.public-footer__payments
{
    grid-template-columns:repeat(3,minmax(0,1fr))}
.public-footer__trust
{
    text-align:center}
.footer-trust-box ul
{
    text-align:center
}
.public-footer__bottom .footer-list
{
    justify-content:center!important;text-align:center
}

@media(max-width:420px)
{
    .public-footer__inner
    {
        width:min(100% - 1rem,1320px);
        padding-top:2rem
    }
    .public-footer__payments
    {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .footer-link

    {font-size:.86rem
    }
    .trust-badge
    {width:100%;
        justify-content:center;
        margin:.22rem 0
    }
}
@media(prefers-reduced-motion:reduce)
{
    .public-footer *,
    .public-footer *::before,
    .public-footer *::after
    {
        transition-duration:.01ms!important
    }
}/* ==========================================================
   Footer - Amélioration du contraste
   ========================================================== */

.footer-brand-text,
.footer-brand-text p,
.footer-brand-text a,
.footer-brand-text li {
    color: rgba(255,255,255,.96);
}

.footer-brand-text p{
    line-height:1.75;
}

.footer-brand-text .public-footer__lead{
    color:#f5d487 !important;
    font-weight:700;
    letter-spacing:.02em;
}

.footer-brand-text .fst-italic{
    color:#ffffff;
    opacity:.92;
}

.footer-brand-text .text-yellow{
    color:#f3cf74 !important;
    transition:.25s;
}

.footer-brand-text .text-yellow:hover{
    color:#ffe7a5 !important;
}

.footer-brand-text a{
    text-decoration:none;
}

.footer-brand-text a:hover{
    text-decoration:underline;
}

/* Icônes sociales */

.footer-brand .avatar-title{
    color:#ffffff;
}

.footer-brand .avatar-title:hover{
    color:#f3cf74;
}
.footer-brand-paragraph{
    color:#fff;
    font: size 0.8em;5rem;
    line-height:1.6;
}

.footer-brand-quote{
    color:#ffffff;
    font-style:italic;
    opacity:.9;
}
.footer-trusted-paragraph{
    color:#fff;
    font-size:1rem;
    line-height:1.65;
    text-transform:uppercase;
}
/* ==========================================================
   Bloc "Informations de confiance"
   ========================================================== */

.footer-trusted-paragraph{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;

    color:#fffdf7 !important;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    margin-bottom:1rem;
}

.footer-trusted-paragraph i{
    color:#f3cf74;
    font-size:1.15rem;
    text-shadow:0 0 10px rgba(243,207,116,.35);
}

@media (min-width:992px){

    .footer-trusted-paragraph{
        justify-content:flex-start;
    }

}