/*
|--------------------------------------------------------------------------
| Kingston Groom Suits - Shared Footer
| File: /assets/css/footer.css
|--------------------------------------------------------------------------
*/

:root{
    --kgs-footer-bg:#050505;
    --kgs-footer-bg-2:#0b0b0b;
    --kgs-footer-card:#101010;
    --kgs-footer-gold:#c9a227;
    --kgs-footer-gold-light:#e8c75a;
    --kgs-footer-white:#f8f5ed;
    --kgs-footer-muted:#aaa59a;
    --kgs-footer-border:rgba(201,162,39,.24);
}

.kgs-footer,
.kgs-footer *{
    box-sizing:border-box;
}

.kgs-footer{
    width:100%;
    background:linear-gradient(180deg,#0a0a0a,#030303);
    color:var(--kgs-footer-muted);
    border-top:1px solid var(--kgs-footer-border);
    font-family:Arial,Helvetica,sans-serif;
}

.kgs-footer-container{
    width:min(1180px,calc(100% - 36px));
    margin:0 auto;
}

/* -----------------------------------------------------------------------
   Main footer
------------------------------------------------------------------------ */

.kgs-footer-main{
    padding:70px 0 45px;
}

.kgs-footer-grid{
    display:grid;
    grid-template-columns:1.45fr 1fr 1fr 1.25fr;
    gap:45px;
}

/* Brand */

.kgs-footer-brand{
    min-width:0;
}

.kgs-footer-brand-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--kgs-footer-white);
    text-decoration:none;
}

.kgs-footer-brand-mark{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid var(--kgs-footer-gold);
    color:var(--kgs-footer-gold-light);
    background:#080808;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
}

.kgs-footer-brand-name{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.kgs-footer-brand-name strong{
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    letter-spacing:.7px;
}

.kgs-footer-brand-name small{
    margin-top:5px;
    color:var(--kgs-footer-gold-light);
    font-size:7px;
    font-weight:800;
    letter-spacing:2px;
}

.kgs-footer-description{
    max-width:380px;
    margin:22px 0 23px;
    color:#9f9a90;
    font-size:14px;
    line-height:1.85;
}

/* Social */

.kgs-footer-social{
    display:flex;
    align-items:center;
    gap:9px;
}

.kgs-footer-social a{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid var(--kgs-footer-border);
    color:var(--kgs-footer-gold-light);
    background:#0b0b0b;
    text-decoration:none;
    font-size:14px;
    transition:.25s ease;
}

.kgs-footer-social a:hover{
    color:#080808;
    background:var(--kgs-footer-gold-light);
    border-color:var(--kgs-footer-gold-light);
    transform:translateY(-2px);
}

/* -----------------------------------------------------------------------
   Footer headings
------------------------------------------------------------------------ */

.kgs-footer-column h3{
    margin:0 0 20px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
    font-weight:600;
}

.kgs-footer-column h3::after{
    content:"";
    display:block;
    width:32px;
    height:1px;
    margin-top:9px;
    background:var(--kgs-footer-gold);
}

/* Links */

.kgs-footer-links{
    display:flex;
    flex-direction:column;
    gap:11px;
}

.kgs-footer-links a{
    width:max-content;
    max-width:100%;
    color:#a9a49a;
    text-decoration:none;
    font-size:13px;
    line-height:1.5;
    transition:.2s ease;
}

.kgs-footer-links a:hover{
    color:var(--kgs-footer-gold-light);
    transform:translateX(3px);
}

/* -----------------------------------------------------------------------
   Contact
------------------------------------------------------------------------ */

.kgs-footer-contact{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.kgs-footer-contact-item{
    display:flex;
    align-items:flex-start;
    gap:11px;
}

.kgs-footer-contact-icon{
    flex:0 0 30px;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    color:var(--kgs-footer-gold-light);
    border:1px solid var(--kgs-footer-border);
    background:#0b0b0b;
    font-size:12px;
}

.kgs-footer-contact-item strong{
    display:block;
    margin-bottom:3px;
    color:#eee9df;
    font-size:12px;
}

.kgs-footer-contact-item span,
.kgs-footer-contact-item a{
    color:#969188;
    font-size:12px;
    line-height:1.6;
    text-decoration:none;
}

.kgs-footer-contact-item a:hover{
    color:var(--kgs-footer-gold-light);
}

/* -----------------------------------------------------------------------
   Appointment CTA
------------------------------------------------------------------------ */

.kgs-footer-appointment{
    margin-top:28px;
    padding:16px 18px;
    border:1px solid var(--kgs-footer-border);
    background:linear-gradient(
        135deg,
        rgba(201,162,39,.09),
        rgba(255,255,255,.02)
    );
}

.kgs-footer-appointment strong{
    display:block;
    margin-bottom:6px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
}

.kgs-footer-appointment p{
    margin:0 0 13px;
    color:#918c82;
    font-size:12px;
    line-height:1.6;
}

.kgs-footer-appointment a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 13px;
    border:1px solid var(--kgs-footer-gold);
    color:var(--kgs-footer-gold-light);
    text-decoration:none;
    font-size:10px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.kgs-footer-appointment a:hover{
    color:#080808;
    background:var(--kgs-footer-gold-light);
}

/* -----------------------------------------------------------------------
   Bottom bar
------------------------------------------------------------------------ */

.kgs-footer-bottom{
    border-top:1px solid var(--kgs-footer-border);
    background:#030303;
}

.kgs-footer-bottom-inner{
    min-height:65px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.kgs-footer-copy{
    margin:0;
    color:#77736c;
    font-size:11px;
    line-height:1.6;
}

.kgs-footer-copy strong{
    color:#b6b0a5;
}

.kgs-footer-bottom-links{
    display:flex;
    align-items:center;
    gap:18px;
}

.kgs-footer-bottom-links a{
    color:#77736c;
    text-decoration:none;
    font-size:11px;
}

.kgs-footer-bottom-links a:hover{
    color:var(--kgs-footer-gold-light);
}

/* -----------------------------------------------------------------------
   WhatsApp floating button
------------------------------------------------------------------------ */

.kgs-footer-whatsapp{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:900;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:1px solid var(--kgs-footer-gold-light);
    border-radius:50%;
    background:#0a0a0a;
    color:var(--kgs-footer-gold-light);
    text-decoration:none;
    font-size:22px;
    box-shadow:0 10px 28px rgba(0,0,0,.4);
    transition:.25s ease;
}

.kgs-footer-whatsapp:hover{
    color:#080808;
    background:var(--kgs-footer-gold-light);
    transform:translateY(-3px);
}

/* -----------------------------------------------------------------------
   Tablet
------------------------------------------------------------------------ */

@media(max-width:1000px){

    .kgs-footer-grid{
        grid-template-columns:repeat(2,1fr);
        gap:38px 30px;
    }

}

/* -----------------------------------------------------------------------
   Mobile
------------------------------------------------------------------------ */

@media(max-width:620px){

    .kgs-footer-container{
        width:calc(100% - 28px);
    }

    .kgs-footer-main{
        padding:52px 0 35px;
    }

    .kgs-footer-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .kgs-footer-description{
        max-width:none;
    }

    .kgs-footer-bottom-inner{
        min-height:auto;
        padding:18px 0;
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .kgs-footer-bottom-links{
        flex-wrap:wrap;
        gap:10px 16px;
    }

    .kgs-footer-whatsapp{
        right:15px;
        bottom:15px;
        width:48px;
        height:48px;
    }

}
