/* Make sizing consistent across scaling/resolution modes */
#bolt-footer, #bolt-footer *{ box-sizing:border-box; }
#bolt-footer{
--pink:#D02479;
--blue:#253499;
--outline:rgba(255,255,255,.22);
--glassTop:rgba(255,255,255,.10);
--glassBot:rgba(255,255,255,.05);
color:#ffffff;
background: radial-gradient(130% 160% at 70% 0%, var(--blue) 0%, #0b1129 65%, #090f26 100%);
padding:70px 0 26px;
position:relative;
overflow:hidden; /* keep background effects contained */
isolation:isolate; /* stabilizes pseudo-layer stacking across browsers */
}
/* Keep background effects stable and non-janky on scaled screens */
#bolt-footer::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(780px 780px at 22% 38%, rgba(255,255,255,.08), transparent 60%),
radial-gradient(640px 640px at 80% 72%, rgba(255,255,255,.06), transparent 65%);
opacity:.55;
animation:bfFloat 24s ease-in-out infinite alternate;
z-index:0;
pointer-events:none;
transform: translateZ(0);
will-change: transform;
}
@keyframes bfFloat{
0%{transform:translate(0,0)}
100%{transform:translate(3%,-3%)}
}
#bolt-footer::after{
content:"";
position:absolute;
inset:-10% -40%;
background:linear-gradient(100deg, transparent 35%, rgba(255,255,255,.09) 50%, transparent 65%);
transform:skewX(-12deg);
animation:bfSheen 8s linear infinite;
z-index:0;
pointer-events:none;
will-change: transform;
}
@keyframes bfSheen{
from{transform:translateX(-40%) skewX(-12deg);}
to{transform:translateX(40%) skewX(-12deg);}
}
#bolt-footer .bf-inner{
max-width:1200px;
margin:0 auto;
padding:0 20px;
position:relative;
z-index:2;
}
/* More resolution-proof grid: prevents column overflow on scaling */
#bolt-footer .bf-grid{
display:grid;
grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(180px, 1fr));
gap:36px;
align-items:start;
}
#bolt-footer .bf-col{ text-align:left; min-width:0; }
/* FORCE WHITE HEADINGS (FIX) */
#bolt-footer h1,
#bolt-footer h2,
#bolt-footer h3,
#bolt-footer h4,
#bolt-footer h5,
#bolt-footer h6,
#bolt-footer .bf-title{
color:#ffffff !important;
font-family:"DM Serif Display", serif !important;
font-size:21px;
font-weight:400;
/* Live's footer headings take line-height 1.3em from the Elementor kit's H3
   and margin-block-start .5rem from the Hello Elementor reset. Without them
   every page's footer ran 24px short (live 671px vs 647px). */
line-height:1.3;
margin-top:.5rem;
margin-bottom:10px;
}
#bolt-footer .bf-divider{
width:48px;
height:1px;
background:rgba(255,255,255,.75);
margin-bottom:14px;
}
#bolt-footer a,
#bolt-footer span,
#bolt-footer li{
font-family:"Montserrat", sans-serif;
font-size:16px;
line-height:1.75;
color:#ffffff;
text-decoration:none;
}
#bolt-footer .bf-list{
list-style:none;
padding:0;
margin:0;
}
#bolt-footer .bf-list li{ margin-bottom:10px; }
/* Logo: prevent weird scaling/stretch on high-res displays */
#bolt-footer .bf-logo{
width:210px;
max-width:100%;
height:auto;
display:block;
margin-bottom:18px;
image-rendering:auto;
}
#bolt-footer .bf-social{
display:flex;
gap:10px;
flex-wrap:wrap;            /* critical: avoids overflow on scaling */
align-items:center;
}
#bolt-footer .bf-socialChip{
padding:0;
width:40px;
height:40px;
border-radius:999px;
border:1px solid var(--outline);
background:linear-gradient(180deg, var(--glassTop), var(--glassBot));
font-size:14px;
white-space:nowrap;
display:inline-flex;
align-items:center;
justify-content:center;
line-height:0;
}
#bolt-footer .bf-socialChip svg{
width:18px;
height:18px;
display:block;
color:#ffffff;
}
#bolt-footer .bf-bottom{
margin-top:22px;
padding-top:14px;
border-top:1px solid rgba(255,255,255,.22);
font-size:15px;
text-align:center;
opacity:.9;
display:flex;
align-items:center;
justify-content:center;
gap:14px;
flex-wrap:wrap;
}
#bolt-footer .bf-privacy{
display:inline-block;
padding:6px 12px;
border-radius:999px;
border:1px solid rgba(255,255,255,.22);
background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
font-size:14px;
line-height:1.1;
white-space:nowrap;
}
/* LEFT */
.bc-badge i{ color:#ffd166; font-style:normal; font-size:13px; }
.bc-title{ font-family:"DM Serif Display",serif; font-weight:400; color:#fff; font-size:42px; line-height:1.12; margin:10px 0 14px; }
.bc-sub{ font-family:"Montserrat",sans-serif; font-size:16px; line-height:1.8; margin:0 0 20px; color:#fff; }
/* Info list */
.bc-info{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.bc-info li{ display:flex; align-items:center; gap:12px; font-family:"Montserrat",sans-serif; font-size:15px; }
.bc-info a{ color:#fff; text-decoration:none; border-bottom:1px solid transparent; transition:.2s; }
.bc-info a:hover{ border-bottom-color:#fff; }
.bc-info .ico{
width:36px; height:36px; min-width:36px;
display:grid; place-items:center; border-radius:10px;
background:linear-gradient(180deg, var(--glassTop), var(--glassBot));
border:1px solid var(--outline);
box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 6px 16px rgba(0,0,0,.25);
}
.bc-info .ico svg{
width:18px; height:18px; fill:#fff; opacity:.95;
}
/* indent address like a block (USA + UK) */
.bc-info .bc-infoBlock{ align-items:flex-start; }
.bc-infoText{ display:block; }
.bc-infoLabel{
display:block;
font-weight:600;
letter-spacing:.01em;
margin-top:1px;
}
.bc-infoValue{
display:block;
margin-top:3px;
opacity:.95;
}
/* separation between groups (UK / USA / Remaining) */
#bolt-contact .bc-sep{
height:18px;
margin:6px 0;
border-top:1px solid rgba(255,255,255,.14);
opacity:.9;
}
.bc-sep::after{ content:""; display:block; height:0; }
/* RIGHT: BLANK FORM AREA (bigger + centered) */
.bc-right{
background:linear-gradient(180deg, var(--glassTop), var(--glassBot));
border:1px solid var(--outline);
box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 10px 25px rgba(0,0,0,.3);
backdrop-filter:blur(8px);
border-radius:16px;
padding:36px 32px;
min-height:520px;
display:flex;
align-items:center;
justify-content:center;
}
@media(max-width:1023px){
#bolt-footer .bf-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
#bolt-footer .bf-grid{ grid-template-columns:1fr; }
}
/* Reduce motion */
@media (prefers-reduced-motion: reduce){
#bolt-footer::before,#bolt-footer::after{ animation:none; }
}
