/* Header: il riquadro con ricerca, tema e Menu era troppo ingombrante;
   lo riduciamo in proporzione (zoom ricalcola anche lo spazio occupato). */
.main-header--widgets {
  zoom: 0.72;
}

/* Senza il titolo sopra, il footer parte direttamente dal nastro dei servizi. */
.ms-footer .elementor-2314 .elementor-element.elementor-element-be898e6 {
  --padding-top: 0px;
}

/* Da telefono il pulsante "torna su" non deve coprire il copyright. */
@media (max-width: 767px) {
  .ms-footer .elementor-2314 .elementor-element.elementor-element-be898e6 {
    --padding-bottom: 88px;
  }
}

/* Pulsanti pieni del tema (modulo contatti, "Vai ai contatti"): testo e
   freccia chiari, altrimenti sul fondo rosso scuro non si leggono. */
.btn-osty .f-btn-r span,
.wpcf7-btn .f-btn-r span {
  color: #ffffff;
}

.btn-osty .f-btn-r .btn-r_icon svg path,
.wpcf7-btn .f-btn-r .btn-r_icon svg path {
  fill: #ffffff;
}

/* Nastro dei servizi nel footer: più sobrio del ticker del template. */

.ms-footer .ms-text-ticker {
  --ft-ink: #262626;
  --ft-line: rgba(38, 38, 38, 0.12);
  --ft-accent: #8c0c0c;
  padding: clamp(18px, 2.4vw, 32px) 0;
  border-top: 1px solid var(--ft-line);
  border-bottom: 1px solid var(--ft-line);
}

body[data-theme="dark"] .ms-footer .ms-text-ticker {
  --ft-ink: #f2f2f2;
  --ft-line: rgba(255, 255, 255, 0.12);
  --ft-accent: #e05252;
}

.ms-footer .ms-tt__text:not(.img) {
  font-family: Poppins, sans-serif !important;
  font-size: clamp(26px, 3.6vw, 52px) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--ft-ink) !important;
  transition: color 0.3s ease;
}

/* una parola piena, una solo contorno */
.ms-footer .ms-tt__text:not(.img):nth-child(4n + 3) {
  color: transparent !important;
  -webkit-text-stroke: 1px var(--ft-ink);
}

/* separatore: il quadrato rosso del marchio al posto dell'asterisco */
.ms-footer .ms-tt__text.img {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: auto !important;
  padding: 0 clamp(18px, 2.2vw, 36px) !important;
}

.ms-footer .ms-tt__text.img img {
  display: none !important;
}

.ms-footer .ms-tt__text.img::before {
  content: "";
  display: block;
  width: clamp(7px, 0.7vw, 10px);
  height: clamp(7px, 0.7vw, 10px);
  background: var(--ft-accent);
}

/* Pulsante "Invia" del modulo contatti: testo e icona bianchi sul rosso. */
.wpcf7-btn .f-btn-r span { color: #fff; }
.wpcf7-btn .btn-wrap svg path { fill: #fff; }

/* Pulsanti rossi del tema: testo e icona a tre punti sempre bianchi. */
.btn-osty .f-btn-r span { color: #fff !important; }
.btn-osty svg path,
.back-to-top .ms-btt--inner svg path { fill: #fff; }

/* Pulsante "torna su": allineato alla riga finale del footer, col testo
   che gli lascia spazio invece di finirci sotto. */
@media (min-width: 768px) {
  .back-to-top { right: 60px; bottom: 14px; }
  .ms-footer .elementor-element-7615c6f { padding-right: 64px; }
}

/* Da tablet l'ordine si inverte: è il copyright ad arrivare fino al pulsante. */
@media (min-width: 768px) and (max-width: 1024px) {
  .ms-footer .elementor-element-945fdfb { padding-right: 32px; }
}

/* Logo in testata: scorrendo "bispace." si ritrae in "bi.", come il pulsante
   Menu che invece si allarga (il tema aggiunge .move a entrambi). */
.main-header__logo .bs-logo {
  display: block;
  width: 123px;
  height: 30px;
  overflow: visible;
}

.bs-logo__bi,
.bs-logo__rest path {
  fill: #1e1e1e;
}

.bs-logo__dot {
  fill: #8c0c0c;
}

.bs-logo__rest path {
  transform-box: fill-box;
  transform-origin: left center;
  transition: opacity 0.45s ease, transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transition-delay: calc((4 - var(--i)) * 40ms);
}

.bs-logo__dot {
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

/* da 1024px in su segue il pulsante Menu (.move); sotto, il tema tiene la
   testata sempre compatta e decide lo scorrimento (header-logo.js) */
@media (min-width: 1024px) {
  .main-header__inner.move .bs-logo__rest path {
    opacity: 0;
    transform: translateX(-140px) scaleX(0.6);
    transition-delay: calc(var(--i) * 40ms);
  }

  /* il punto va a mettersi dopo la "i", alla stessa distanza delle lettere */
  .main-header__inner.move .bs-logo__dot {
    transform: translateX(-843.88px);
  }
}

@media (max-width: 1023px) {
  .bs-scrolled .bs-logo__rest path {
    opacity: 0;
    transform: translateX(-140px) scaleX(0.6);
    transition-delay: calc(var(--i) * 40ms);
  }

  .bs-scrolled .bs-logo__dot {
    transform: translateX(-843.88px);
  }
}

@media (max-width: 380px) {
  .main-header__logo .bs-logo {
    width: 100px;
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bs-logo__rest path,
  .bs-logo__dot {
    transition: none;
  }
}
