.elementor-1137 .elementor-element.elementor-element-b897f4e{--display:flex;--min-height:0px;}.elementor-1137 .elementor-element.elementor-element-b897f4e:not(.elementor-motion-effects-element-type-background), .elementor-1137 .elementor-element.elementor-element-b897f4e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-1137 .elementor-element.elementor-element-b897f4e{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-bc18f7f *//* ============================
   FOOTER — Beyond Logic Studio
   Montserrat Bold + Medium
   Sfondo bianco
   ============================ */

:root {
  --bls-bg-footer: #ffffff;
  --bls-text-main: #171b33;
  --bls-text-muted: #4b5268;
  --bls-accent: #224f83;
  --bls-accent-soft: #58c2dc;
  --bls-font: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Reset locale solo nel footer */
#bls-footer * {
  box-sizing: border-box;
}

/* ----- Footer principale (blocco HTML) ----- */

#bls-footer {
  background: var(--bls-bg-footer);
  color: var(--bls-text-main);
  font-family: var(--bls-font);
  padding: 48px 16px 24px;
  border-top: 1px solid rgba(23, 27, 51, 0.08);
  width: 100%;
  box-sizing: border-box;
}

.bls-footer-inner {
  max-width: 1240px;
  margin: 0 auto;
}

/* ----- Grid ----- */

.bls-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 32px;
}

/* ----- Colonne ----- */

.bls-footer-col {
  font-size: 0.9rem;
  font-weight: 400;
  min-width: 0; /* importante per evitare overflow orizzontale */
}

/* Logo */

.bls-footer-logo img {
  max-height: 72px;
  width: auto;
  display: block;
  margin-bottom: 18px;
}

/* Dati azienda / indirizzo */

.bls-footer-company,
.bls-footer-address {
  margin: 0 0 8px;
  font-size: 0.9rem;
  color: var(--bls-text-main);
  line-height: 1.5;
  font-weight: 500; /* Medium */
}

/* Titoli colonne */

.bls-footer-title {
  margin: 0 0 12px;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700; /* Bold */
  color: var(--bls-text-main);
}

/* Liste */

.bls-footer-menu,
.bls-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bls-footer-menu li,
.bls-footer-list li {
  margin-bottom: 6px;
}

/* Link */

#bls-footer a {
  color: var(--bls-accent);
  font-weight: 700; /* Bold */
  text-decoration: none;
  transition: color .2s ease;
}

#bls-footer a:hover,
#bls-footer a:focus {
  color: var(--bls-accent-soft);
}

/* Evita tagli sulle email lunghine su mobile */
.bls-footer-list a[href^="mailto:"] {
  word-break: break-all;
}

/* ----- Social ----- */

.bls-footer-social {
  margin-top: 16px;
}

.bls-footer-social-label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: var(--bls-text-main);
  margin-bottom: 8px;
}

.bls-footer-social-icons {
  display: flex;
  gap: 10px;
}

.bls-icon {
  width: 26px;
  height: 26px;
}

.bls-icon rect {
  fill: var(--bls-accent);
}

.bls-icon path,
.bls-icon circle {
  fill: #ffffff;
}

.bls-footer-social-icons a:hover .bls-icon rect,
.bls-footer-social-icons a:focus .bls-icon rect {
  fill: var(--bls-accent-soft);
}

/* ----- Barra inferiore ----- */

.bls-footer-bottom {
  border-top: 1px solid rgba(23, 27, 51, 0.08);
  margin-top: 32px;
  padding-top: 16px;
  font-size: 0.8rem;
  color: var(--bls-text-main);
  text-align: center;
  font-weight: 500; /* Medium */
}

.bls-footer-bottom p {
  margin: 0;
}

/* ============================
   FIX BORDI / CONTORNO NEL FOOTER
   (wrapper Elementor + widget HTML)
   ============================ */

/* Tutto il template footer Elementor ha sfondo bianco */
footer.elementor-location-footer {
  background-color: #ffffff !important;
  margin: 0;
  padding: 0;
}

/* Elimina pseudo-elementi che possono creare linee */
footer.elementor-location-footer::before,
footer.elementor-location-footer::after {
  display: none !important;
}

/* Tutti i container interni del template footer = senza padding/margini + sfondo bianco */
footer.elementor-location-footer .elementor-section,
footer.elementor-location-footer .elementor-container,
footer.elementor-location-footer .elementor-column,
footer.elementor-location-footer .elementor-widget-wrap,
footer.elementor-location-footer .elementor-widget-html,
footer.elementor-location-footer .elementor-widget-container {
  background-color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Azzeriamo anche lo spacing automatico dei widget solo nel footer */
footer.elementor-location-footer .elementor-element {
  --widgets-spacing: 0px 0px !important;
}

/* Nessun bordo esterno della pagina che influisca sul footer */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* ============================
   Responsive
   ============================ */

/* Tablet: 2 colonne */
@media (max-width: 992px) {
  .bls-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

/* Mobile: 1 colonna */
@media (max-width: 600px) {
  #bls-footer {
    padding: 32px 16px 20px;
  }

  .bls-footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .bls-footer-logo img {
    margin-bottom: 14px;
  }

  .bls-footer-bottom {
    font-size: 0.75rem;
    padding-top: 12px;
  }
}
/* ======================================================
   Footer — tuning colori coerenti col logo/policy
   ====================================================== */

/* (Opzionale ma consigliato) allinea il muted alle policy */
:root{
  --bls-text-muted: #3f4a66;
}

/* Testi descrittivi: più leggeri dei titoli */
.bls-footer-company,
.bls-footer-address,
.bls-footer-list li{
  color: var(--bls-text-muted);
}

/* Titoli e label restano blu scuro logo */
.bls-footer-title,
.bls-footer-social-label{
  color: var(--bls-text-main);
}

/* Barra inferiore più “soft” */
.bls-footer-bottom{
  color: var(--bls-text-muted);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b897f4e *//* ============================
   FOOTER — Beyond Logic Studio
   (Versione Montserrat Bold)
   ============================ */

:root {
  --bls-bg-footer: #ffffff;       /* sfondo footer */
  --bls-text-main: #171b33;       /* testo principale */
  --bls-text-muted: #4b5268;      /* testo attenuato */
  --bls-accent: #224f83;          /* blu principale */
  --bls-accent-soft: #58c2dc;     /* azzurro */
  --bls-font: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

#bls-footer {
  background: var(--bls-bg-footer);
  color: var(--bls-text-main);
  font-family: var(--bls-font);
  padding: 48px 16px 24px;
  border-top: 1px solid rgba(23, 27, 51, 0.08);
}

.bls-footer-inner {
  max-width: 1240px;
  margin: 0 auto;
}

/* Grid principale */

.bls-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
  align-items: flex-start;
}

/* Colonne */

.bls-footer-col {
  font-size: 0.9rem;
  font-weight: 400;           /* testo base Regular */
}

/* Logo più grande (≈1.5x rispetto alla prima versione) */

.bls-footer-logo img {
  max-height: 72px;
  width: auto;
  display: block;
  margin-bottom: 18px;
}

.bls-footer-company,
.bls-footer-address {
  margin: 0 0 8px;
  font-size: 0.9rem;
  color: var(--bls-text-muted);
  line-height: 1.5;
  font-weight: 400;
}

/* TITOLI → Montserrat Bold */

.bls-footer-title {
  margin: 0 0 12px;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--bls-text-main);
  font-weight: 700;       /* BOLD */
}

/* Liste */

.bls-footer-menu,
.bls-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bls-footer-menu li,
.bls-footer-list li {
  margin-bottom: 6px;
  font-size: 0.9rem;
}

/* LINK → Montserrat Bold */

#bls-footer a {
  color: var(--bls-accent);
  text-decoration: none;
  font-weight: 700;            /* BOLD */
  transition: color .2s ease, transform .2s ease;
}

#bls-footer a:hover,
#bls-footer a:focus {
  color: var(--bls-accent-soft);
}

/* Social */

.bls-footer-social {
  margin-top: 16px;
}

.bls-footer-social-label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--bls-text-muted);
  font-weight: 700;       /* BOLD */
  margin-bottom: 8px;
}

.bls-footer-social-icons {
  display: flex;
  gap: 10px;
  align-items: center;
}

.bls-footer-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Icone SVG */

.bls-icon {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: none;
}

.bls-icon rect {
  fill: var(--bls-accent);
}

.bls-icon path,
.bls-icon circle {
  fill: #ffffff;
}

.bls-footer-social-icons a:hover .bls-icon rect,
.bls-footer-social-icons a:focus .bls-icon rect {
  fill: var(--bls-accent-soft);
}

/* Barra inferiore */

.bls-footer-bottom {
  border-top: 1px solid rgba(23, 27, 51, 0.08);
  margin-top: 32px;
  padding-top: 16px;
  font-size: 0.8rem;
  color: var(--bls-text-muted);
  text-align: center;
  font-weight: 400;       /* Regular */
}

/* Responsive */

@media (max-width: 992px) {
  .bls-footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
    row-gap: 24px;
  }
}

@media (max-width: 768px) {
  #bls-footer {
    padding: 32px 16px 20px;
  }

  .bls-footer-grid {
    grid-template-columns: 1fr;
  }

  .bls-footer-bottom {
    margin-top: 24px;
  }

  .bls-footer-brand {
    text-align: left;
  }
}/* End custom CSS */
/* Start custom CSS */.hfe-scroll-to-top-button{
  background:#171b33;
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .25s ease;
}

.hfe-scroll-to-top-button i{
  color:#fff;
  font-size:16px;
}

.hfe-scroll-to-top-button:hover{
  background:#58c2dc;
  transform:translateY(-3px);
}/* End custom CSS */