/* ============================================================================
   BDShapers — Footer Builder preset styles. Self-contained (own tokens) so it
   renders identically on the live site and the editor preview.
   Presets: .hbf.p1..p5 . Colours overridable via inline --hf-* properties.
   ========================================================================== */
.hbf{--hf-bg:#04060f;--hf-tx:#F8FAFC;--hf-mut:#9aa7bd;--hf-acc:#818CF8;--hf-acc2:#4F46E5;--hf-bd:rgba(255,255,255,.10);
  position:relative;background:var(--hf-bg);color:var(--hf-tx);font-family:var(--pub-font,'Outfit',sans-serif);border-top:1px solid var(--hf-bd);overflow:hidden;}
.hbf .hf-glow{position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:700px;height:280px;background:radial-gradient(circle,color-mix(in srgb,var(--hf-acc2) 30%,transparent),transparent 70%);filter:blur(50px);pointer-events:none;}
.hbf .hf-in{max-width:1240px;margin:0 auto;padding:56px 24px 26px;position:relative;z-index:1;}
.hbf .hf-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px;}
.hbf .hf-logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:20px;background:linear-gradient(135deg,var(--hf-acc2),#7C3AED 55%,#2DD4BF);}
.hbf .hf-name{font-weight:800;font-size:21px;letter-spacing:-.02em;}
.hbf .hf-about{color:var(--hf-mut);font-size:14px;line-height:1.7;max-width:320px;}
.hbf .hf-socials{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.hbf .hf-socials a{width:40px;height:40px;border:1px solid var(--hf-bd);border-radius:11px;display:grid;place-items:center;color:#fff;text-decoration:none;font-weight:700;background:rgba(255,255,255,.04);transition:.15s;}
.hbf .hf-socials a:hover{transform:translateY(-3px);border-color:var(--hf-acc);background:color-mix(in srgb,var(--hf-acc) 16%,transparent);}
.hbf .hf-h{font-weight:700;font-size:14px;color:#fff;margin:0 0 14px;}
.hbf .hf-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.hbf .hf-links li,.hbf .hf-links a{color:var(--hf-mut);font-size:13.5px;text-decoration:none;transition:color .15s;}
.hbf .hf-links a:hover{color:#fff;}
.hbf .hf-grid{display:grid;gap:30px;}
.hbf .hf-news{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between;margin:34px 0 6px;padding:22px 26px;border-radius:18px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--hf-acc2) 22%,var(--hf-bg)),color-mix(in srgb,#7C3AED 16%,var(--hf-bg)));border:1px solid var(--hf-bd);}
.hbf .hf-news h4{font-weight:800;font-size:19px;margin:0;color:#fff;}
.hbf .hf-news p{margin:4px 0 0;font-size:13.5px;color:rgba(255,255,255,.66);}
.hbf .hf-news form{display:flex;gap:10px;flex:1;min-width:280px;max-width:460px;}
.hbf .hf-news input{flex:1;padding:13px 16px;border-radius:12px;border:1px solid var(--hf-bd);background:rgba(4,6,15,.55);color:#fff;font-size:14px;outline:none;}
.hbf .hf-news button{padding:13px 22px;border-radius:12px;border:0;cursor:pointer;font-weight:700;font-size:14px;color:#fff;white-space:nowrap;background:linear-gradient(100deg,var(--hf-acc2),#7C3AED);}
.hbf .hf-cta{text-align:center;padding:44px 24px;border-radius:24px;margin-bottom:36px;background:linear-gradient(135deg,var(--hf-acc2),#7C3AED 60%,#2DD4BF);}
.hbf .hf-cta h3{font-size:28px;font-weight:900;margin:0 0 6px;color:#fff;}
.hbf .hf-cta p{margin:0 0 18px;color:rgba(255,255,255,.85);}
.hbf .hf-cta a{display:inline-block;background:#fff;color:var(--hf-acc2);padding:13px 28px;border-radius:12px;font-weight:800;text-decoration:none;}
.hbf .hf-partners{margin-top:34px;padding-top:20px;border-top:1px solid var(--hf-bd);color:var(--hf-mut);font-size:13px;text-align:center;}
.hbf .hf-partners span{color:#fff;font-weight:600;}
.hbf .hf-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--hf-bd);color:var(--hf-mut);font-size:13px;}
.hbf .hf-bottom a{color:var(--hf-tx);text-decoration:none;}

/* Preset 1 — Columns (brand + link columns) */
.hbf.p1 .hf-grid{grid-template-columns:1.6fr repeat(var(--cols,4),1fr);}
/* Preset 2 — Simple centered */
.hbf.p2 .hf-in{text-align:center;}
.hbf.p2 .hf-brand{justify-content:center;}
.hbf.p2 .hf-about{margin:0 auto;}
.hbf.p2 .hf-socials{justify-content:center;}
.hbf.p2 .hf-inline{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin:24px 0;list-style:none;padding:0;}
.hbf.p2 .hf-inline a{color:var(--hf-mut);text-decoration:none;font-size:14px;font-weight:600;}
.hbf.p2 .hf-inline a:hover{color:#fff;}
/* Preset 3 — Newsletter first */
.hbf.p3 .hf-news{margin:0 0 34px;}
.hbf.p3 .hf-grid{grid-template-columns:1.6fr repeat(var(--cols,4),1fr);}
/* Preset 4 — Big CTA band on top */
.hbf.p4 .hf-grid{grid-template-columns:1.6fr repeat(var(--cols,4),1fr);}
/* Preset 5 — Minimal single line */
.hbf.p5 .hf-in{padding:34px 24px;}
.hbf.p5 .hf-mini{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.hbf.p5 .hf-brand{margin:0;}

@media(max-width:900px){
  .hbf.p1 .hf-grid,.hbf.p3 .hf-grid,.hbf.p4 .hf-grid{grid-template-columns:1fr 1fr;}
  .hbf .hf-brand-cell{grid-column:1/-1;}
}
@media(max-width:560px){.hbf.p1 .hf-grid,.hbf.p3 .hf-grid,.hbf.p4 .hf-grid{grid-template-columns:1fr;}}
