/* =====================================================
   FOOTER — ALPES-SUD.NET
   Intégration premium, raccord avec la charte du site
   (navy profond + accent teal, typo Inter / Georgia)
===================================================== */

.footer{
    --footer-blue-1:var(--as-blue,#002b55);
    --footer-blue-2:var(--as-blue-2,#073f63);
    --footer-teal:var(--as-teal,#2d8a8f);
    --footer-teal-2:var(--as-teal-2,#3d7f9f);
    --footer-line:rgba(255,255,255,.14);
    --footer-text:rgba(255,255,255,.68);
    --footer-text-strong:#ffffff;

    position:relative;
    margin-top:80px;
    background:linear-gradient(160deg,var(--footer-blue-1) 0%,var(--footer-blue-2) 100%);
    color:var(--footer-text);
    overflow:hidden;
}

/* Liseré de tête sobre : trait dégradé + halo discret, sans motif figuratif */
.footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);
}

/* Texture topographique très subtile, en fond */
.footer::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        radial-gradient(circle at 12% 0%, rgba(255,255,255,.06), transparent 42%),
        radial-gradient(circle at 88% 78%, rgba(45,138,143,.16), transparent 46%),
        repeating-radial-gradient(circle at 50% 120%, transparent 0, transparent 38px, rgba(255,255,255,.025) 39px, rgba(255,255,255,.025) 40px);
    opacity:.9;
}


/* =====================================================
   CONTAINER
===================================================== */

.footer-inner{
    position:relative;
    z-index:1;
    max-width:1280px;
    margin:auto;
    padding:56px clamp(20px,4vw,42px) 0;
}

.footer-top{
    display:grid;
    grid-template-columns:minmax(300px,1.6fr) minmax(170px,1fr) minmax(170px,1fr);
    gap:clamp(32px,5vw,64px);
    padding-bottom:44px;
}


/* =====================================================
   BRAND
===================================================== */

.footer-logo{
    display:inline-flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
    color:var(--footer-text-strong);
}

.footer-logo-mark{
    display:inline-flex;
    flex:0 0 auto;
    width:40px;
    height:40px;
}

.footer-logo-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.footer-logo-text{
    font-family:'Times New Roman',serif;
    font-size:clamp(1.0rem,2vw,1.85rem);
    font-weight:500;
    letter-spacing:.035em;
    line-height:1;
}

.footer-logo-text strong{font-weight:500;}
.footer-dot{color:var(--footer-text-strong);}
.footer-net{color:var(--footer-teal-2);}

.footer-desc{
    margin:18px 0 0;
    max-width:420px;
    font-size:.92rem;
    line-height:1.7;
    color:var(--footer-text);
}


/* =====================================================
   NAV COLUMNS
===================================================== */

.footer-col h3{
    margin:0 0 18px;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--footer-text-strong);
}

.footer-col h3::after{
    content:"";
    display:block;
    width:28px;
    height:2px;
    margin-top:10px;
    background:linear-gradient(90deg,var(--footer-teal-2),transparent);
    border-radius:2px;
}

.footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:11px;
}

.footer-col a{
    position:relative;
    display:inline-block;
    color:var(--footer-text);
    text-decoration:none;
    font-size:.9rem;
    line-height:1.5;
    letter-spacing:.01em;
    transition:color .22s ease, transform .22s ease, padding-left .22s ease;
}

.footer-col a::before{
    content:"›";
    position:absolute;
    left:-16px;
    top:0;
    opacity:0;
    color:var(--footer-teal-2);
    transition:opacity .2s ease, transform .2s ease;
    transform:translateX(-4px);
}

.footer-col a:hover,
.footer-col a:focus-visible{
    color:var(--footer-text-strong);
    padding-left:16px;
}

.footer-col a:hover::before,
.footer-col a:focus-visible::before{
    opacity:1;
    transform:translateX(0);
}

.footer-col a:focus-visible{
    outline:1px solid var(--footer-teal-2);
    outline-offset:4px;
    border-radius:3px;
}


/* =====================================================
   BOTTOM BAR
===================================================== */

.footer-bottom{
    border-top:1px solid var(--footer-line);
    padding:20px 0 calc(20px + env(safe-area-inset-bottom,0px));
    text-align:center;
}

.footer-copy{
    font-size:.78rem;
    letter-spacing:.03em;
    color:rgba(255,255,255,.46);
}


/* =====================================================
   TABLET (iPad Mini / iPad / iPad Air)
===================================================== */

@media (min-width:521px) and (max-width:980px){

    .footer{margin-top:60px;}

    .footer-top{
        grid-template-columns:1fr 1fr;
        row-gap:40px;
        padding-bottom:36px;
    }

    .footer-brand{
        grid-column:1 / -1;
        padding-bottom:28px;
        border-bottom:1px solid var(--footer-line);
        text-align:center;
    }

    .footer-logo{justify-content:center;}
    .footer-desc{margin-inline:auto;}

    .footer-col{text-align:left;}
}


/* =====================================================
   LARGE TABLET / iPad Pro
===================================================== */

@media (min-width:981px) and (max-width:1180px){

    .footer-top{gap:36px;}
}


/* =====================================================
   MOBILE / iPhone
===================================================== */

@media (max-width:520px){

    .footer{margin-top:44px;}

    .footer-inner{padding:40px 20px 0;}

    .footer-top{
        grid-template-columns:1fr;
        gap:32px;
        padding-bottom:32px;
    }

    .footer-brand{
        text-align:center;
        padding-bottom:26px;
        border-bottom:1px solid var(--footer-line);
    }

    .footer-logo{justify-content:center;}

    .footer-logo-text{font-size:1.3rem;}

    .footer-desc{
        margin:16px auto 0;
        max-width:100%;
        font-size:.86rem;
    }

    .footer-col{text-align:center;}

    .footer-col h3::after{margin-inline:auto;}

    .footer-col ul{justify-items:center;}

    .footer-col a{padding:2px 0;}

    .footer-col a::before{display:none;}

    .footer-col a:hover,
    .footer-col a:focus-visible{padding-left:0;}

    .footer-bottom{padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));}

    .footer-copy{font-size:.74rem;}
}


/* =====================================================
   Réduction de mouvement
===================================================== */

@media (prefers-reduced-motion:reduce){
    .footer-col a{transition:none;}
    .footer-col a::before{transition:none;}
}

/* END FOOTER */