/* ==========================================================================
   PISHGAM RAYAN — CONTAINER BASED SAAS FOOTER
   Full width background / compact content
   ========================================================================== */

.pr-footer{
    position:relative;
    width:100%;
    overflow:hidden;
    isolation:isolate;
    padding:34px 0 20px;
    color:rgba(226,236,253,.72);
    background:
        radial-gradient(
            circle at 86% 5%,
            rgba(var(--color-primary-rgb),.22),
            transparent 30rem
        ),
        radial-gradient(
            circle at 5% 88%,
            rgba(var(--color-secondary-rgb),.035),
            transparent 22rem
        ),
        linear-gradient(
            145deg,
            var(--color-primary-darker),
            #000d29 80%
        );
}

.pr-footer::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    opacity:.09;
    background-image:
        radial-gradient(
            circle,
            rgba(255,255,255,.18) 0 1px,
            transparent 1.4px
        );
    background-size:34px 34px;
}


/* ==========================================================================
   NEWSLETTER
   ========================================================================== */

.pr-footer__newsletter{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(380px,.75fr);
    align-items:center;
    gap:clamp(28px,5vw,80px);
    padding:20px 0 27px;
    border-bottom:1px solid rgba(255,255,255,.075);
}

.pr-footer__newsletter-copy{
    display:flex;
    align-items:flex-start;
    gap:13px;
    min-width:0;
}

.pr-footer__newsletter-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border:1px solid rgba(var(--color-secondary-rgb),.16);
    border-radius:12px;
    color:var(--color-secondary);
    background:rgba(var(--color-secondary-rgb),.05);
}

.pr-footer__newsletter-title{
    margin:0;
    color:#fff;
    font-weight:820;
    line-height:1.55;
}

.pr-footer__newsletter-text{
    max-width:620px;
    margin:4px 0 0;
    color:rgba(215,227,247,.50);
    line-height:1.85;
}

.pr-footer__newsletter-form{
    min-width:0;
}

.pr-footer__newsletter-field{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    min-height:48px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    background:rgba(255,255,255,.035);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.045);
    transition:
        border-color var(--transition-fast),
        background var(--transition-fast),
        box-shadow var(--transition-fast);
}

.pr-footer__newsletter-field:focus-within{
    border-color:rgba(var(--color-primary-rgb),.48);
    background:rgba(255,255,255,.05);
    box-shadow:
        0 0 0 3px rgba(var(--color-primary-rgb),.08),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.pr-footer__newsletter-field > i{
    margin-right:14px;
    color:rgba(218,230,250,.48);
}

.pr-footer__newsletter-field input{
    width:100%;
    min-width:0;
    height:46px;
    padding:0 11px;
    border:0;
    outline:0;
    color:#fff;
    background:transparent;
}

.pr-footer__newsletter-field input::placeholder{
    color:rgba(212,225,246,.34);
}

.pr-footer__newsletter-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    align-self:stretch;
    padding:0 17px;
    border:0;
    color:var(--color-primary-ink);
    background:var(--color-secondary);
    font-weight:780;
    white-space:nowrap;
    cursor:pointer;
    transition:
        background var(--transition-fast),
        transform var(--transition-fast);
}

.pr-footer__newsletter-submit:hover{
    background:var(--color-secondary-light);
}

.pr-footer__newsletter-submit i{
    transition:transform var(--transition-fast);
}

.pr-footer__newsletter-submit:hover i{
    transform:translateX(-3px);
}

.pr-footer__newsletter-note{
    display:block;
    margin-top:6px;
    color:rgba(205,218,239,.33);
    line-height:1.6;
}


/* ==========================================================================
   MAIN
   ========================================================================== */

.pr-footer__main{
    padding:34px 0 28px;
    border-bottom:1px solid rgba(255,255,255,.065);
}


/* ==========================================================================
   BRAND
   ========================================================================== */

.pr-footer__brand{
    max-width:360px;
}

.pr-footer__brand-link{
    display:inline-flex;
    text-decoration:none;
}

.pr-footer__logo{
    display:block;
    width:min(100%,205px);
    max-height:68px;
    object-fit:contain;
    object-position:right center;
}

.pr-footer__about{
    max-width:360px;
    margin:14px 0 0;
    color:rgba(214,226,246,.52);
    line-height:1.9;
    font-size:.76rem;
}

.pr-footer__social{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-top:16px;
}

.pr-footer__social a{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:10px;
    color:rgba(232,240,255,.64);
    background:rgba(255,255,255,.025);
    text-decoration:none;
    transition:
        color var(--transition-fast),
        background var(--transition-fast),
        border-color var(--transition-fast),
        transform var(--transition);
}

.pr-footer__social a:hover{
    color:var(--color-primary-ink);
    border-color:var(--color-secondary);
    background:var(--color-secondary);
    transform:translateY(-2px);
}


/* ==========================================================================
   LINKS
   ========================================================================== */

.pr-footer__title{
    position:relative;
    margin:0 0 12px;
    padding-right:13px;
    color:rgba(249,251,255,.94);
    font-weight:800;
    line-height:1.55;
}

.pr-footer__title::before{
    content:"";
    position:absolute;
    right:0;
    top:.66em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--color-secondary);
}

.pr-footer__links{
    display:grid;
    gap:6px;
}

.pr-footer__links li{
    margin:0;
}

.pr-footer__links a{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    color:rgba(214,226,246,.49);
    line-height:1.65;
    font-size:.72rem;
    text-decoration:none;
    transition:
        color var(--transition-fast),
        transform var(--transition-fast);
}

.pr-footer__links a:hover{
    color:#fff;
    transform:translateX(-2px);
}


/* ==========================================================================
   CONTACT
   ========================================================================== */

.pr-footer__contact{
    display:grid;
    grid-template-columns:1.55fr .9fr .7fr .7fr;
    margin-top:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.07);
    border-radius:15px;
    background:rgba(255,255,255,.018);
}

.pr-footer__contact-item{
    position:relative;
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    min-height:68px;
    padding:11px 14px;
    border-left:1px solid rgba(255,255,255,.055);
    color:inherit;
    text-decoration:none;
    transition:background var(--transition-fast);
}

.pr-footer__contact-item:last-child{
    border-left:0;
}

.pr-footer__contact-item:hover{
    color:inherit;
    background:rgba(255,255,255,.025);
}

.pr-footer__contact-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border:1px solid rgba(var(--color-primary-rgb),.26);
    border-radius:10px;
    color:var(--color-secondary);
    background:rgba(var(--color-primary-rgb),.08);
}

.pr-footer__contact-item div{
    min-width:0;
}

.pr-footer__contact-item b,
.pr-footer__contact-item small{
    display:block;
}

.pr-footer__contact-item b{
    color:rgba(248,250,255,.86);
    font-weight:760;
    line-height:1.4;
}

.pr-footer__contact-item small{
    margin-top:2px;
    color:rgba(209,222,244,.42);
    line-height:1.55;
    font-size:.68rem;
}

.pr-footer__external{
    margin-right:auto;
    color:rgba(213,225,246,.26);
    font-size:.6rem;
}


/* ==========================================================================
   GLASS BADGES
   ========================================================================== */

.pr-footer__badges-glass{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    width:max-content;
    max-width:100%;
    margin:22px auto 0;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.018)
        );
    box-shadow:
        0 16px 42px rgba(0,0,0,.11),
        inset 0 1px 0 rgba(255,255,255,.055);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.pr-footer__badges-glass a{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    padding:6px;
    border:1px solid transparent;
    border-radius:12px;
    background:rgba(255,255,255,.94);
    text-decoration:none;
    transition:
        transform var(--transition),
        border-color var(--transition-fast),
        box-shadow var(--transition);
}

.pr-footer__badges-glass a:hover{
    transform:translateY(-3px);
    border-color:rgba(var(--color-secondary-rgb),.32);
    box-shadow:
        0 10px 24px rgba(0,0,0,.15);
}

.pr-footer__badges-glass img{
    display:block;
    width:100%;
    height:100%;
    max-width:46px;
    max-height:46px;
    object-fit:contain;
}


/* ==========================================================================
   BOTTOM
   ========================================================================== */

.pr-footer__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-top:16px;
    color:rgba(207,220,242,.38);
    font-size:.68rem;
}

.pr-footer__bottom p{
    margin:0;
}

.pr-footer__back-top{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:rgba(216,228,248,.46);
    text-decoration:none;
    transition:color var(--transition-fast);
}

.pr-footer__back-top:hover{
    color:var(--color-secondary);
}

.pr-footer__back-top i{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:8px;
    color:var(--color-secondary);
    background:rgba(255,255,255,.02);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width:991.98px){

    .pr-footer__newsletter{
        grid-template-columns:1fr;
        gap:16px;
    }

    .pr-footer__newsletter-form{
        max-width:620px;
    }

    .pr-footer__brand{
        max-width:620px;
    }

    .pr-footer__about{
        max-width:620px;
    }

    .pr-footer__contact{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width:767.98px){

    .pr-footer{
        padding-top:24px;
    }

    .pr-footer__newsletter{
        padding:12px 0 22px;
    }

    .pr-footer__newsletter-copy{
        gap:10px;
    }

    .pr-footer__newsletter-form{
        max-width:none;
    }

    .pr-footer__main{
        padding:26px 0 22px;
    }

    .pr-footer__logo{
        width:min(100%,190px);
    }

    .pr-footer__contact{
        margin-top:14px;
    }

    .pr-footer__contact-item{
        min-height:64px;
    }

    .pr-footer__badges-glass{
        margin-top:18px;
    }

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width:575.98px){

    .pr-footer__newsletter-field{
        grid-template-columns:auto minmax(0,1fr);
        overflow:visible;
        border:0;
        background:transparent;
    }

    .pr-footer__newsletter-field > i{
        display:none;
    }

    .pr-footer__newsletter-field input{
        grid-column:1/-1;
        height:46px;
        padding:0 13px;
        border:1px solid rgba(255,255,255,.085);
        border-radius:12px;
        background:rgba(255,255,255,.03);
    }

    .pr-footer__newsletter-submit{
        grid-column:1/-1;
        min-height:44px;
        margin-top:7px;
        border-radius:12px;
    }


    .pr-footer__contact{
        grid-template-columns:1fr;
    }

    .pr-footer__contact-item{
        border-left:0;
        border-bottom:1px solid rgba(255,255,255,.05);
    }

    .pr-footer__contact-item:last-child{
        border-bottom:0;
    }


    .pr-footer__badges-glass{
        gap:6px;
        padding:8px;
    }

    .pr-footer__badges-glass a{
        width:52px;
        height:52px;
    }

    .pr-footer__badges-glass img{
        max-width:41px;
        max-height:41px;
    }


    .pr-footer__bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion:reduce){

    .pr-footer__social a,
    .pr-footer__links a,
    .pr-footer__contact-item,
    .pr-footer__badges-glass a,
    .pr-footer__back-top,
    .pr-footer__newsletter-submit{
        transition:none;
    }

}