/* ============================================================
   AMELIA PREMIUM
   FOOTER + FLOATING WHATSAPP
============================================================ */


/* ============================================================
   FOOTER
============================================================ */

.amelia-premium-footer {
    --footer-bg: #1F1946;
    --footer-bg-light: #292253;

    --footer-primary: #8B76F1;
    --footer-cyan: #67CDE1;
    --footer-purple: #8C74ED;

    --footer-white: #ffffff;

    --footer-text:
        rgba(236,240,255,.78);

    --footer-muted:
        rgba(221,226,249,.51);

    --footer-border:
        rgba(255,255,255,.09);

    position: relative;

    isolation: isolate;

    overflow: hidden;

    padding:
        58px 24px 22px;

    color:
        var(--footer-white);

    background:
        linear-gradient(
            135deg,
            #0f1946 0%,
            #131f53 52%,
            #101943 100%
        );
}


/* ============================================================
   GRID
============================================================ */

.amelia-premium-footer__grid {
    position: absolute;

    inset: 0;

    z-index: -6;

    pointer-events: none;

    opacity: .75;

    background-image:

        linear-gradient(
            rgba(255,255,255,.022) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.022) 1px,
            transparent 1px
        );

    background-size:
        58px 58px;

    mask-image:
        linear-gradient(
            180deg,
            black,
            black 75%,
            transparent
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            black,
            black 75%,
            transparent
        );
}


/* ============================================================
   GLOWS
============================================================ */

.amelia-premium-footer__glow {
    position: absolute;

    z-index: -5;

    border-radius: 50%;

    pointer-events: none;
}


.amelia-premium-footer__glow--one {
    width: 470px;
    height: 470px;

    left: -290px;
    top: -290px;

    background:
        radial-gradient(
            circle,
            rgba(79,99,255,.25),
            transparent 70%
        );

    animation:
        footer-glow-one
        12s ease-in-out infinite;
}


.amelia-premium-footer__glow--two {
    width: 450px;
    height: 450px;

    right: -270px;
    bottom: -310px;

    background:
        radial-gradient(
            circle,
            rgba(111,89,223,.18),
            transparent 70%
        );

    animation:
        footer-glow-two
        13s ease-in-out infinite;
}


/* ============================================================
   BEAM SUPERIOR
============================================================ */

.amelia-premium-footer__beam {
    position: absolute;

    z-index: -4;

    top: 0;
    left: 0;

    width: 100%;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent 3%,
            #5369ff 27%,
            #67CDE1 50%,
            #755dE6 73%,
            transparent 97%
        );

    background-size:
        200% auto;

    box-shadow:
        0 0 18px
        rgba(82,101,255,.25);

    animation:
        footer-beam
        7s linear infinite;
}


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

.amelia-premium-footer__container {
    position: relative;

    width:
        min(1400px,100%);

    margin:
        0 auto;
}


/* ============================================================
   MAIN
============================================================ */

.amelia-premium-footer__main {
    display: grid;

    grid-template-columns:
        minmax(350px,1.35fr)
        minmax(180px,.58fr)
        minmax(240px,.72fr);

    gap:
        70px;
}


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

.amelia-premium-footer__brand {
    max-width:
        510px;
}


/* ============================================================
   LOGO
============================================================ */

.amelia-premium-footer__logo {
    width: fit-content;

    display: flex;

    align-items: center;

    gap: 9px;

    color: white;

    text-decoration: none;
}


.amelia-premium-footer__logo-mark {
    width: 39px;
    height: 39px;

    display: flex;

    align-items: center;

    justify-content: center;

    transition:
        transform .4s
        cubic-bezier(.2,.8,.2,1);
}


.amelia-premium-footer__logo:hover
.amelia-premium-footer__logo-mark {
    transform:
        rotate(-7deg)
        scale(1.08);
}


.amelia-premium-footer__logo-mark img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


.amelia-premium-footer__logo-copy {
    display: flex;

    flex-direction: column;

    line-height: 1;
}


.amelia-premium-footer__logo-copy strong {
    font-size: 23px;

    font-weight: 800;

    letter-spacing: -.7px;
}


.amelia-premium-footer__logo-copy small {
    margin-top: 4px;

    color:
        #aebcff;

    font-size: 7px;

    font-weight: 800;

    letter-spacing:
        1.7px;
}


/* ============================================================
   DESCRIPTION
============================================================ */

.amelia-premium-footer__description {
    max-width: 470px;

    margin:
        17px 0 0;

    color:
        var(--footer-text);

    font-size: 12px;

    line-height: 1.65;
}


/* ============================================================
   SOCIAL
============================================================ */

.amelia-premium-footer__socials {
    margin-top: 18px;

    display: flex;

    flex-wrap: wrap;

    gap: 7px;
}


.amelia-premium-social {
    min-height: 35px;

    padding:
        0 11px;

    display: inline-flex;

    align-items: center;

    gap: 7px;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 999px;

    color:
        rgba(239,242,255,.82);

    background:
        rgba(255,255,255,.025);

    font-size: 8.5px;

    font-weight: 600;

    text-decoration: none;

    transition:
        transform .3s ease,
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}


.amelia-premium-social > span {
    width: 22px;
    height: 22px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 7px;

    color: #9eaeff;

    background:
        rgba(98,118,255,.10);

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}


.amelia-premium-social:hover {
    color: white;

    border-color:
        rgba(116,135,255,.30);

    background:
        rgba(85,105,255,.10);

    transform:
        translateY(-3px);

    box-shadow:
        0 9px 20px
        rgba(4,10,38,.15);
}


.amelia-premium-social:hover > span {
    color: white;

    background:
        #7E67EA;

    transform:
        rotate(-5deg)
        scale(1.06);
}


/* ============================================================
   COLUMN
============================================================ */

.amelia-premium-footer__column {
    position: relative;
}


.amelia-premium-footer__column-title {
    margin-bottom: 16px;

    display: flex;

    align-items: center;

    gap: 8px;
}


.amelia-premium-footer__column-icon {
    width: 27px;
    height: 27px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 8px;

    color:
        #9eaeff;

    background:
        rgba(91,111,255,.10);

    border:
        1px solid
        rgba(111,130,255,.08);
}


.amelia-premium-footer__column h3 {
    margin: 0;

    color:
        #8fa3ff;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.1px;

    text-transform: uppercase;
}


/* ============================================================
   COLUMN LIST
============================================================ */

.amelia-premium-footer__column ul {
    margin: 0;

    padding: 0;

    display: flex;

    flex-direction: column;

    gap: 6px;

    list-style: none;
}


.amelia-premium-footer__column li {
    margin: 0;

    padding: 0;
}


.amelia-premium-footer__column li > a {
    min-height: 30px;

    display: flex;

    align-items: center;

    gap: 7px;

    color:
        rgba(236,240,255,.82);

    font-size: 10.5px;

    text-decoration: none;

    transition:
        color .25s ease,
        transform .25s ease;
}


.amelia-premium-footer__column li > a i {
    margin-left: auto;

    color:
        #7184ee;

    font-style: normal;

    opacity: 0;

    transform:
        translateX(-7px);

    transition:
        opacity .25s ease,
        transform .25s ease;
}


.amelia-premium-footer__column li > a:hover {
    color: white;

    transform:
        translateX(3px);
}


.amelia-premium-footer__column li > a:hover i {
    opacity: 1;

    transform:
        translateX(0);
}


/* ============================================================
   CONTACTS
============================================================ */

.amelia-premium-footer__contacts {
    gap: 5px !important;
}


.amelia-premium-footer__contacts li > a {
    gap: 8px;
}


.amelia-premium-footer__contact-icon {
    width: 27px;
    height: 27px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 8px;

    color:
        #91a3ff;

    background:
        rgba(91,111,255,.065);

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}


.amelia-premium-footer__contacts
li > a:hover
.amelia-premium-footer__contact-icon {
    color: white;

    background:
        #7E67EA;

    transform:
        rotate(-5deg);
}


/* ============================================================
   DIVIDER
============================================================ */

.amelia-premium-footer__divider {
    position: relative;

    height: 1px;

    margin:
        33px 0 18px;

    overflow: hidden;

    background:
        rgba(255,255,255,.075);
}


.amelia-premium-footer__divider > span {
    position: absolute;

    width: 180px;
    height: 100%;

    left: -220px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #6275ff,
            #67CDE1,
            transparent
        );

    animation:
        footer-divider
        6s linear infinite;
}


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

.amelia-premium-footer__bottom {
    min-height: 42px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;
}


/* ============================================================
   COPYRIGHT
============================================================ */

.amelia-premium-footer__copyright {
    display: flex;

    align-items: center;

    gap: 8px;
}


.amelia-premium-footer__copyright-icon {
    width: 25px;
    height: 25px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 8px;

    color:
        #8da0ff;

    background:
        rgba(91,111,255,.07);
}


.amelia-premium-footer__copyright p {
    margin: 0;

    color:
        var(--footer-muted);

    font-size: 8.5px;
}


.amelia-premium-footer__copyright strong {
    color:
        rgba(239,242,255,.78);

    font-weight: 700;
}


/* ============================================================
   Decanine
============================================================ */

.amelia-premium-footer__studio {
    display: flex;

    align-items: center;

    gap: 7px;

    color:
        rgba(219,225,249,.42);

    font-size: 8px;

    white-space: nowrap;
}


.amelia-premium-footer__studio-dot {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        #8B76F1;
}


.amelia-premium-footer__studio a {
    color:
        #91a3ff;

    font-weight: 600;

    text-decoration: none;

    transition:
        color .25s ease;
}


.amelia-premium-footer__studio a:hover {
    color: white;
}


/* ============================================================
   FLOATING WHATSAPP
============================================================ */

.amelia-floating-whatsapp {
    position: fixed;

    z-index: 9998;

    right:
        max(
            18px,
            env(safe-area-inset-right)
        );

    bottom:
        max(
            18px,
            env(safe-area-inset-bottom)
        );

    min-height: 55px;

    padding:
        7px 13px 7px 8px;

    display: flex;

    align-items: center;

    gap: 9px;

    border:
        1px solid
        rgba(255,255,255,.25);

    border-radius: 999px;

    color: white;

    background:
        linear-gradient(
            120deg,
            #21c96b,
            #16b95c,
            #20cc70
        );

    background-size:
        200% auto;

    box-shadow:
        0 14px 35px
        rgba(13,132,69,.30),
        0 4px 12px
        rgba(8,64,37,.14);

    text-decoration: none;

    animation:
        floating-whatsapp-gradient
        5s linear infinite;

    transition:
        transform .3s
        cubic-bezier(.2,.8,.2,1),

        box-shadow .3s ease;
}


.amelia-floating-whatsapp:hover {
    transform:
        translateY(-5px)
        scale(1.015);

    box-shadow:
        0 20px 44px
        rgba(13,132,69,.37),
        0 5px 14px
        rgba(8,64,37,.17);
}


/* ============================================================
   PULSE
============================================================ */

.amelia-floating-whatsapp__pulse {
    position: absolute;

    inset: 0;

    z-index: -1;

    border-radius: inherit;

    border:
        1px solid
        rgba(31,201,106,.45);

    animation:
        floating-whatsapp-pulse
        2.5s ease-out infinite;
}


/* ============================================================
   FLOAT ICON
============================================================ */

.amelia-floating-whatsapp__icon {
    width: 40px;
    height: 40px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: white;

    background:
        rgba(255,255,255,.15);

    border:
        1px solid
        rgba(255,255,255,.16);

    transition:
        transform .35s ease,
        background .35s ease;
}


.amelia-floating-whatsapp:hover
.amelia-floating-whatsapp__icon {
    transform:
        rotate(-8deg)
        scale(1.08);

    background:
        rgba(255,255,255,.22);
}


/* ============================================================
   FLOAT COPY
============================================================ */

.amelia-floating-whatsapp__copy {
    padding-right: 3px;

    display: flex;

    flex-direction: column;

    gap: 1px;
}


.amelia-floating-whatsapp__copy small {
    color:
        rgba(255,255,255,.72);

    font-size: 7px;

    font-weight: 600;
}


.amelia-floating-whatsapp__copy strong {
    color: white;

    font-size: 10.5px;

    line-height: 1.2;

    font-weight: 700;

    white-space: nowrap;
}


/* ============================================================
   FLOAT ARROW
============================================================ */

.amelia-floating-whatsapp__arrow {
    width: 27px;
    height: 27px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255,255,255,.10);

    transition:
        transform .3s ease;
}


.amelia-floating-whatsapp:hover
.amelia-floating-whatsapp__arrow {
    transform:
        translateX(3px);
}


/* ============================================================
   ANIMATIONS
============================================================ */

@keyframes footer-glow-one {

    0%,
    100% {
        transform:
            translate(0,0);
    }

    50% {
        transform:
            translate(40px,30px)
            scale(1.1);
    }

}


@keyframes footer-glow-two {

    0%,
    100% {
        transform:
            translate(0,0);
    }

    50% {
        transform:
            translate(-40px,-25px)
            scale(1.1);
    }

}


@keyframes footer-beam {

    from {
        background-position:
            0 center;
    }

    to {
        background-position:
            200% center;
    }

}


@keyframes footer-divider {

    from {
        left:
            -220px;
    }

    to {
        left:
            calc(100% + 220px);
    }

}


@keyframes floating-whatsapp-gradient {

    from {
        background-position:
            0 center;
    }

    to {
        background-position:
            200% center;
    }

}


@keyframes floating-whatsapp-pulse {

    0% {
        opacity: .55;

        transform:
            scale(.95);
    }

    70% {
        opacity: 0;

        transform:
            scale(1.15);
    }

    100% {
        opacity: 0;

        transform:
            scale(1.15);
    }

}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 950px) {

    .amelia-premium-footer__main {
        grid-template-columns:
            1.3fr .7fr;

        gap:
            45px;
    }


    .amelia-premium-footer__column:last-child {
        grid-column:
            1 / -1;
    }


    .amelia-premium-footer__contacts {
        display: grid !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


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

@media (max-width: 650px) {

    .amelia-premium-footer {
        padding:
            49px 14px 20px;
    }


    .amelia-premium-footer__main {
        grid-template-columns:
            1fr;

        gap:
            32px;
    }


    .amelia-premium-footer__column:last-child {
        grid-column:
            auto;
    }


    .amelia-premium-footer__description {
        font-size:
            11px;
    }


    .amelia-premium-footer__contacts {
        display:
            flex !important;

        flex-direction:
            column;
    }


    .amelia-premium-footer__bottom {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;
    }


    .amelia-premium-footer__studio {
        white-space:
            normal;
    }


    /* BOTÓN MÁS COMPACTO EN CELULAR */

    .amelia-floating-whatsapp {
        right:
            max(
                12px,
                env(safe-area-inset-right)
            );

        bottom:
            max(
                12px,
                env(safe-area-inset-bottom)
            );

        min-height: 52px;

        padding:
            6px 10px 6px 6px;
    }


    .amelia-floating-whatsapp__icon {
        width:
            39px;

        height:
            39px;
    }


    .amelia-floating-whatsapp__copy small {
        display:
            none;
    }


    .amelia-floating-whatsapp__copy strong {
        font-size:
            9.5px;
    }


    .amelia-floating-whatsapp__arrow {
        display:
            none;
    }

}


/* ============================================================
   MÓVILES MUY PEQUEÑOS
============================================================ */

@media (max-width: 390px) {

    .amelia-floating-whatsapp__copy {
        display:
            none;
    }


    .amelia-floating-whatsapp {
        width:
            53px;

        height:
            53px;

        min-height:
            53px;

        padding:
            6px;

        justify-content:
            center;
    }


    .amelia-floating-whatsapp__icon {
        width:
            40px;

        height:
            40px;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

    .amelia-premium-footer *,
    .amelia-premium-footer *::before,
    .amelia-premium-footer *::after,
    .amelia-floating-whatsapp,
    .amelia-floating-whatsapp * {
        animation:
            none !important;

        transition-duration:
            .01ms !important;
    }

}

/* ============================================================
   FRESH LILAC · FOOTER
============================================================ */
.amelia-premium-footer{
  --footer-bg:#201A46;--footer-bg-light:#2A2257;--footer-primary:#8B76F1;--footer-cyan:#67CDE1;--footer-purple:#A795F6;
  background:
    radial-gradient(circle at 15% 0%,rgba(139,118,241,.18),transparent 28%),
    radial-gradient(circle at 88% 90%,rgba(103,205,225,.07),transparent 25%),
    linear-gradient(145deg,#241D4C 0%,#1B163D 100%);
}
.amelia-premium-footer__beam{background:linear-gradient(90deg,transparent,rgba(167,149,246,.34),rgba(103,205,225,.16),transparent);background-size:200% 100%;animation:amelia-fresh-line-flow 12s linear infinite}
.amelia-premium-footer__glow--one{background:radial-gradient(circle,rgba(139,118,241,.18),transparent 70%);animation:amelia-fresh-glow-drift 18s ease-in-out infinite}
.amelia-premium-footer__glow--two{background:radial-gradient(circle,rgba(103,205,225,.07),transparent 70%);animation:amelia-fresh-glow-drift-alt 20s ease-in-out infinite}
.amelia-premium-footer__logo-mark{background:linear-gradient(145deg,#8B76F1,#7186F4);box-shadow:0 10px 24px rgba(10,7,28,.25)}
.amelia-premium-social{border-color:rgba(201,188,250,.15);background:rgba(255,255,255,.055)}
.amelia-premium-social:hover{border-color:rgba(201,188,250,.30);background:rgba(167,149,246,.12)}
.amelia-floating-whatsapp{border-color:rgba(201,188,250,.18);box-shadow:0 18px 46px rgba(16,11,42,.24)}


/* ============================================================
   V15 · FOOTER COMPACTO
============================================================ */
.amelia-premium-footer{
  padding:30px 24px 12px;
}

.amelia-premium-footer__main{
  grid-template-columns:minmax(330px,1.32fr) minmax(170px,.56fr) minmax(235px,.72fr);
  gap:44px;
  align-items:start;
}

.amelia-premium-footer__brand{
  max-width:500px;
}

/* Fondo blanco para que el isotipo azul no se pierda sobre el footer oscuro. */
.amelia-premium-footer__logo-mark{
  width:42px;
  height:42px;
  padding:6px;
  border-radius:11px;
  background:#fff;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(5,10,40,.22);
}

.amelia-premium-footer__logo-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.amelia-premium-footer__description{
  margin-top:10px;
  max-width:470px;
  font-size:11px;
  line-height:1.48;
}

.amelia-premium-footer__socials{
  margin-top:12px;
  gap:6px;
}

.amelia-premium-social{
  min-height:30px;
  padding:0 9px;
  gap:6px;
}

.amelia-premium-social > span{
  width:20px;
  height:20px;
}

.amelia-premium-footer__column-title{
  margin-bottom:9px;
}

.amelia-premium-footer__column-icon{
  width:25px;
  height:25px;
}

.amelia-premium-footer__column ul{
  gap:2px;
}

.amelia-premium-footer__column li > a{
  min-height:25px;
  font-size:10px;
}

.amelia-premium-footer__contacts{
  gap:2px!important;
}

.amelia-premium-footer__contact-icon{
  width:24px;
  height:24px;
  border-radius:7px;
}

.amelia-premium-footer__divider{
  margin:18px 0 9px;
}

.amelia-premium-footer__bottom{
  min-height:28px;
  gap:18px;
}

.amelia-premium-footer__copyright-icon{
  width:22px;
  height:22px;
}

@media (max-width:950px){
  .amelia-premium-footer{
    padding:28px 20px 12px;
  }
  .amelia-premium-footer__main{
    gap:28px;
  }
  .amelia-premium-footer__divider{
    margin-top:15px;
  }
}

@media (max-width:650px){
  .amelia-premium-footer{
    padding:26px 16px 12px;
  }
  .amelia-premium-footer__logo-mark{
    width:40px;
    height:40px;
  }
  .amelia-premium-footer__description{
    margin-top:9px;
  }
  .amelia-premium-footer__socials{
    margin-top:10px;
  }
}
