/* =====================================================
   ALLOYFUSION — FOOTER WIDGET STYLES
   ===================================================== */

.af-footer{
  --af-red:        #C8102E;
  --af-red-dark:   #A00D25;
  --af-ink:        #1B1B1F;
  --af-body:       #4B4B52;
  --af-border:     #E7E5E0;
  --af-tan:        #EBE1C9;
  --af-tan-hover:  #E0D3AF;
  --af-maroon:     #8A2432;
  --af-bg:         #FFFFFF;
  --af-radius:     10px;
  --af-container:  1240px;
  font-family:'Montserrat', sans-serif;
  background:var(--af-bg);
  color:var(--af-body);
  border-top:1px solid var(--af-border);
}

.af-footer *{ box-sizing:border-box; }

.af-footer .af-container{
  max-width:var(--af-container);
  margin:0 auto;
  padding:0 24px;
}

/* ---------- TOP CTA ROW ---------- */
.af-footer .af-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:44px 0 32px;
  border-bottom:1px solid var(--af-border);
  flex-wrap:wrap;
}
.af-footer .af-cta-text h2{
  margin:0 0 8px;
  font-size:26px;
  font-weight:700;
  color:var(--af-ink);
  letter-spacing:-0.2px;
}
.af-footer .af-cta-text p{ margin:0; font-size:15px; color:var(--af-body); }

.af-footer .af-btn{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--af-tan);
  color:var(--af-maroon);
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  padding:13px 28px;
  border-radius:999px;
  white-space:nowrap;
  transition:background .2s ease, transform .2s ease;
}
.af-footer .af-btn:hover{ background:var(--af-tan-hover); transform:translateY(-1px); }
.af-footer .af-btn i,
.af-footer .af-btn svg{ font-size:12px; width:1em; height:1em; fill:currentColor; transition:transform .2s ease; }
.af-footer .af-btn:hover i,
.af-footer .af-btn:hover svg{ transform:translateX(3px); }

/* ---------- MAIN COLUMNS ---------- */
.af-footer .af-main{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:48px;
  padding:44px 0 36px;
}
.af-footer .af-main--single{ grid-template-columns:1fr; }
.af-footer .af-main > .af-col{ min-width:0; }

.af-footer .af-col-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  font-size:15px;
  font-weight:700;
  color:var(--af-red);
  text-transform:uppercase;
  letter-spacing:.4px;
}
.af-footer .af-col-title .af-bar{
  width:4px;
  height:16px;
  background:var(--af-red);
  border-radius:2px;
  flex-shrink:0;
}

.af-footer .af-col-toggle{
  display:none;
  background:none;
  border:none;
  margin-left:auto;
  color:var(--af-ink);
  font-size:14px;
  cursor:pointer;
  padding:4px;
}

.af-footer .af-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:13px;
}
.af-footer .af-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.5;
}
.af-footer .af-list i,
.af-footer .af-list svg{
  color:var(--af-red);
  fill:var(--af-red);
  font-size:13px;
  width:14px;
  height:14px;
  margin-top:3px;
  flex-shrink:0;
  text-align:center;
  transform:none !important;
}
.af-footer .af-list a{
  color:var(--af-body);
  text-decoration:none;
  transition:color .15s ease;
}
.af-footer .af-list a:hover{ color:var(--af-red); }

.af-footer .af-services-grid{
  display:grid;
  grid-template-columns:repeat(var(--af-sub-cols, 2), minmax(0,1fr));
  gap:13px 24px;
}

/* ---------- Contact ---------- */
.af-footer .af-address-line{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.5;
  margin:0 0 18px;
}
.af-footer .af-address-line i,
.af-footer .af-address-line svg{
  color:var(--af-red);
  fill:var(--af-red);
  font-size:13px;
  width:14px;
  height:14px;
  margin-top:3px;
  flex-shrink:0;
  text-align:center;
}

.af-footer .af-contact-inline{
  display:flex;
  flex-wrap:wrap;
  column-gap:28px;
  row-gap:12px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.af-footer .af-contact-inline li{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
}
.af-footer .af-contact-inline i,
.af-footer .af-contact-inline svg{
  color:var(--af-red);
  fill:var(--af-red);
  font-size:13px;
  width:14px;
  height:14px;
  text-align:center;
  flex-shrink:0;
}
.af-footer .af-contact-inline a{
  color:var(--af-body);
  text-decoration:none;
  transition:color .15s ease;
  white-space:nowrap;
}
.af-footer .af-contact-inline a:hover{ color:var(--af-red); }
.af-footer .af-contact .af-list{ margin-top:0; }
.af-footer .af-contact .af-list a{ word-break:break-word; }

/* ---------- ADDRESS ROW ---------- */
.af-footer .af-addresses{
  border-top:2px solid var(--af-red);
  padding:28px 0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
  gap:32px;
}
.af-footer .af-address h4{
  margin:0 0 10px;
  font-size:14px;
  font-weight:700;
  color:var(--af-ink);
}
.af-footer .af-address p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  display:flex;
  gap:9px;
}
.af-footer .af-address p i,
.af-footer .af-address p svg{
  color:var(--af-red);
  fill:var(--af-red);
  width:14px;
  height:14px;
  margin-top:3px;
  flex-shrink:0;
}

/* ---------- BOTTOM BAR ---------- */
.af-footer .af-bottom{
  border-top:1px solid var(--af-border);
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.af-footer .af-copy{ font-size:13px; color:var(--af-body); margin:0; }
.af-footer .af-copy strong{ color:var(--af-ink); font-weight:600; }

.af-footer .af-socials{ display:flex; gap:10px; }
.af-footer .af-socials a{
  width:34px;
  height:34px;
  border-radius:7px;
  background:var(--af-red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}
.af-footer .af-socials a svg{ width:14px; height:14px; fill:#fff; }
.af-footer .af-socials a:hover{ background:var(--af-red-dark); transform:translateY(-2px); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  .af-footer .af-container{ padding:0 20px; }
  .af-footer .af-main{ grid-template-columns:1fr; gap:32px; }
  .af-footer .af-addresses{ grid-template-columns:1fr; gap:20px; }
  .af-footer .af-cta{ padding:36px 0 28px; }
}

@media (max-width: 640px){
  .af-footer .af-cta{ flex-direction:column; align-items:flex-start; padding:32px 0 24px; }
  .af-footer .af-btn{ width:100%; justify-content:center; }
  .af-footer .af-cta-text h2{ font-size:22px; }

  .af-footer .af-main{ grid-template-columns:1fr; padding:8px 0; gap:0; }
  .af-footer .af-main .af-col{ border-bottom:1px solid var(--af-border); padding:18px 0; }
  .af-footer .af-main .af-col:first-child{ border-top:1px solid var(--af-border); }

  .af-footer .af-contact-inline{ column-gap:20px; row-gap:10px; }

  .af-footer .af-col-title{ margin:0; cursor:pointer; }
  .af-footer .af-col-toggle{ display:inline-flex; }
  .af-footer .af-col-toggle i{ transition:transform .25s ease; }

  .af-footer .af-col-body{ overflow:hidden; max-height:0; transition:max-height .3s ease; }
  .af-footer .af-col.is-open .af-col-body{ max-height:900px; }
  .af-footer .af-col.is-open .af-col-toggle i{ transform:rotate(180deg); }
  .af-footer .af-col-body-inner{ padding-top:16px; }

  .af-footer .af-services-grid{ grid-template-columns:1fr; }

  .af-footer .af-addresses{ padding:8px 0; }
  .af-footer .af-address{ padding:16px 0; border-bottom:1px solid var(--af-border); }
  .af-footer .af-address:last-child{ border-bottom:none; }

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

@media (max-width: 380px){
  .af-footer .af-cta-text h2{ font-size:20px; }
  .af-footer .af-list li{ font-size:13.5px; }
}
