:root{
    --footer-bg: #0b1240;
    --footer-text: #f5f5f5;
    --footer-link-hover: #cc00cc;
}

*,*::before,*::after{box-sizing:border-box;}
body{margin:0;font-family:"Inter",sans-serif;background:#fff;}

/* ============ FOOTER WRAPPER ============ */
.site-footer{
    background:var(--footer-bg);
    padding: 60px 20px 0;
    color:var(--footer-text);
}
.site-footer .container{
    max-width:1280px;
    margin:0 auto;
}

/* ============ TRUST RATING BADGES ROW ============ */
.footer-badges{
    max-width:1280px;
    margin:0 auto;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
}
.footer-badges img{ max-width:280px; flex:1 1 22%; height:auto; display:block; border-radius:8px; }

/* ============ LOGO + SOCIAL ICONS ROW ============ */
.footer-brand-row{
    max-width:1280px;
    margin:60px auto 0;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}
.footer-logo img{
    max-width:200px;
    width:100%;
    height:auto;
    display:block;
}
.footer-social{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    gap:15px;
}
.footer-social a{
    width:42px; height:42px;
    border:1px solid var(--footer-text);
    border-radius:100px;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    text-decoration:none;
    transition:color .2s ease, border-color .2s ease;
}
.footer-social a:hover{ color:var(--footer-link-hover); border-color:var(--footer-link-hover); }

/* ============ FOOTER LINK COLUMNS ============ */
.footer-cols{
    max-width:1280px;
    margin:0 auto;
    display:flex;
    flex-direction:row;
    gap:20px;
    padding-top:35px;
}
.footer-cols.row-1{
    border-top:1px solid var(--footer-text);
    margin-top:32px;
}
.footer-col{
    flex:1;
    min-width:25%;
    display:flex;
    flex-direction:column;
    row-gap:5px;
}
.footer-col h3{
    font-family:"Poppins",sans-serif;
    font-weight:500;
    color:var(--footer-text);
    font-size:22px;
    margin:0 0 0; /* Subash H&F v1 (2026-06-17): tighten footer heading bottom margin 8->0 */
}
.footer-col ul{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
}
.footer-col ul li a{
    color:var(--footer-text);
    font-family:"Inter",sans-serif;
    font-weight:300;
    font-size:14px;
    line-height:32px;
    letter-spacing:.5px;
    text-transform:capitalize;
    text-decoration:none;
    transition:color .2s ease;
}
.footer-col ul li a:hover{ color:var(--footer-link-hover); }

/* ============ NEWSLETTER SECTION ============ */
.footer-newsletter{
    max-width:1280px;
    margin:25px auto;
    padding:25px 0 30px;
    border-top:1px solid var(--footer-text);
    border-bottom:1px solid var(--footer-text);
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:40px; /* Subash footer QA v1 (2026-07-05): 20px -> 40px between text + form */
}
.footer-newsletter-text{ flex:1 1 40%; }
.footer-newsletter-text h3{
    font-family:"Poppins",sans-serif;
    font-weight:500;
    color:var(--footer-text);
    font-size:22px;
    margin:0 0 8px; /* Subash H&F v2 (2026-06-17): keep newsletter/contact heading spacing as original — only COLUMN headings get margin:0 */
}
.footer-newsletter-text p{
    font-family:"Inter",sans-serif;
    font-weight:400;
    color:var(--footer-text);
    margin:0;
    font-size:15px;
    line-height:1.5;
}
/* Newsletter form — Subash redesign (footer_form_subash_2026-07-04.html): magenta subscribe + white field + label.
   Comp CSS verbatim; his :root tokens resolved to literals (no global pollution), fonts mapped to the footer's Inter/Poppins. */
.footer-form{
    flex:1 1 55%;
    display:flex;
    flex-wrap:wrap; /* Subash footer QA v1 (2026-07-05): lets the status msg wrap full-width BELOW the row (see galvanize-forms.css .footer-form .galv-form__status) */
    gap:14px;
    align-items:flex-end;
    width:100%;
    max-width:720px;
}
.footer-form .field{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0;
}
.footer-form .field label{
    font-family:"Inter",sans-serif;
    font-size:12px;
    font-weight:600;
    color:#fffdfe;
    letter-spacing:0.01em;
}
.footer-form .field label .req{ color:#dc2626; margin-left:2px; }
.footer-form .field input{
    font-family:"Inter",sans-serif;
    font-size:14px;
    font-weight:400;
    height:44px;
    padding:0 14px;
    border:1.5px solid #808080;
    border-radius:10px;
    background:#fffdfe;
    color:#333333;
    width:100%;
    transition:border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.footer-form .field input::placeholder{ color:#aab0bd; }
.footer-form .field input:hover{ border-color:#3b5bff; }
.footer-form .field input:focus{ outline:none; border-color:#3b5bff; background-color:#fdfdff; }
.footer-form .field.error input{ border-color:#dc2626; background-color:#fef2f2; }
.footer-form .errmsg{ font-size:12px; color:#ffc9c9; margin-top:2px; display:flex; align-items:center; gap:4px; }
.footer-form .errmsg::before{ content:"\26A0"; }
.footer-form-btn{
    height:44px;
    padding:0 20px;
    border:none;
    border-radius:10px;
    background:#cc00cc;
    color:#fffdfe;
    font-family:"Poppins",sans-serif;
    font-size:16px;
    font-weight:600;
    letter-spacing:0.01em;
    cursor:pointer;
    white-space:nowrap;
    transition:background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    position:relative;
}
.footer-form-btn:hover{ background:#a600a6; transform:translateY(-1px); box-shadow:0 6px 16px rgba(204,0,204,0.30); }
.footer-form-btn:active{ background:#8f008f; transform:translateY(0); box-shadow:0 2px 4px rgba(204,0,204,0.22); }
.footer-form-btn:focus-visible{ outline:none; box-shadow:0 0 0 4px rgba(204,0,204,0.18); }
.footer-form-btn:disabled,
.footer-form-btn.loading{ background:#9aa3b8; cursor:not-allowed; transform:none; box-shadow:none; }
.footer-form-btn.loading .btn-text{ opacity:0; }
.footer-form-btn.loading::after{
    content:"";
    position:absolute;
    width:18px;
    height:18px;
    border:2.5px solid rgba(255,255,255,0.3);
    border-top-color:#fff;
    border-radius:50%;
    animation:galv-footer-spin 0.7s linear infinite;
}
@keyframes galv-footer-spin{ to{ transform:rotate(360deg); } }
/* honeypot: off-screen, still submitted (proxy drops if filled) */
.footer-form-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:560px){
    .footer-form{ flex-direction:column; align-items:stretch; gap:10px; }
    .footer-form-btn{ width:100%; }
}

/* ============ CONTACT ============ */
.footer-contact{
    max-width:1280px;
    margin:0 auto 25px;
    padding-bottom:30px;
    border-bottom:1px solid var(--footer-text);
}
.footer-contact h3{
    font-family:"Poppins",sans-serif;
    font-weight:500;
    color:var(--footer-text);
    font-size:22px;
    margin:0 0 8px; /* Subash H&F v2 (2026-06-17): keep newsletter/contact heading spacing as original — only COLUMN headings get margin:0 */
}
.footer-contact p{
    font-family:"Inter",sans-serif;
    font-weight:400;
    color:var(--footer-text);
    margin:0;
    line-height:1.6;
}

/* ============ BOTTOM ROW (Privacy + Copyright) ============ */
.footer-bottom{
    max-width:1280px;
    margin:0 auto;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-family:"Inter",sans-serif;
    font-weight:300;
    color:var(--footer-text);
    font-size:14px;
}
.footer-bottom a{
    color:var(--footer-text);
    text-decoration:none;
    transition:color .2s ease;
}
.footer-bottom a:hover{ color:var(--footer-link-hover); }

/* ============ DISCLAIMER ============ */
.footer-disclaimer{
    max-width:1280px;
    margin:20px auto 0;
    padding-bottom:60px;
    text-align:left;
    color:var(--footer-text);
    font-family:"Inter",sans-serif;
    font-weight:300;
    font-size:13.5px;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 991px){
    .footer-cols{ flex-wrap:wrap; }
    .footer-col{ flex: 1 1 45%; min-width:45%; }
}

@media (max-width: 767px){
    .footer-badges{ justify-content:center; }
    .footer-badges img{ max-width:200px; flex:1 1 45%; }

    .footer-brand-row{
        flex-direction:column;
        gap:30px;
    }

    .footer-newsletter{
        flex-direction:column;
        align-items:flex-start;
    }
    .footer-newsletter-form{ width:100%; flex-direction:column; }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        text-align:left;
    }
}

@media (max-width: 478px){
    .footer-col{ flex: 1 1 100%; min-width:100%; }
    .footer-col h3{ margin: 0 0 0; }
}