/*
Theme Name: Blackwood
Description: Personalizzazioni del sito blackwood.it sul tema Anchor.
Template: anchor
Version: 0.1.0
Text Domain: blackwood
*/

/* Ritorno alla home subito sotto il titolo della pagina 404. */
body.error404 .bw-404-home {
  clear: both;
  padding-top: 24px;
}

body.error404 .bw-404-home-button {
  display: inline-block;
  max-width: 100%;
  padding: 14px 28px;
  background: #910402;
  border: 2px solid #910402;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}

body.error404 .bw-404-home-button:hover {
  background: #fff;
  border-color: #fff;
  color: #910402;
}

body.error404 .bw-404-home-button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 5px;
}

/* Rispetta gli Invio inseriti nelle descrizioni del widget Anchor Icon Box. */
.elementor-widget-icon-box .icon-box > p {
  white-space: pre-line;
}

/* Header opaco solo per la pagina iniziale, comprese le traduzioni Polylang. */
.navbar.bw-home-header {
  background-color: #000;
}

/* Layout del solo Modulo di contatto (CF7 67f66a6). */
.wpcf7-form .bw-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 30px;
}

.wpcf7-form .bw-contact-grid p {
  float: none;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.wpcf7-form .bw-contact-grid label {
  display: block;
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.bw-contact-grid .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form .bw-contact-grid input[type="text"],
.wpcf7-form .bw-contact-grid input[type="email"],
.wpcf7-form .bw-contact-grid textarea {
  display: block;
  float: none;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

.bw-contact-message,
.bw-contact-footer {
  grid-column: 1 / -1;
}

.bw-contact-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.wpcf7-form .bw-contact-footer .bw-contact-privacy {
  flex: 1;
}

.bw-contact-privacy .wpcf7-list-item {
  margin: 0;
}

.wpcf7-form .bw-contact-privacy label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.bw-contact-privacy input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 0.25em 0 0;
}

.wpcf7-form .bw-contact-footer .bw-contact-submit {
  flex: 0 0 auto;
  width: auto;
  text-align: center;
}

.bw-contact-submit .wpcf7-spinner {
  position: absolute;
  top: 100%;
  left: 50%;
  margin: 6px 0 0 -12px;
}

@media (max-width: 767px) {
  .wpcf7-form .bw-contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .bw-contact-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .wpcf7-form .bw-contact-footer .bw-contact-submit {
    align-self: center;
  }
}

/* Header chiaro limitato al template Privacy Policy, in entrambe le lingue. */
body.page-template-page-privacy .navbar {
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 24px clamp(24px, 4vw, 80px);
  gap: 24px;
  flex-wrap: nowrap;
}
body.page-template-page-privacy .navbar .logo img {height: 54px; width: auto;}
body.page-template-page-privacy .navbar .phone {margin-left: 0; font-size: 18px;}
body.page-template-page-privacy .navbar .phone a,
body.page-template-page-privacy .navbar .custom-menu ul li a,
body.page-template-page-privacy .navbar .site-menu > ul > li > a {color: #242424;}
body.page-template-page-privacy .navbar .phone a:hover,
body.page-template-page-privacy .navbar .custom-menu ul li a:hover {color: #910402;}
body.page-template-page-privacy .navbar .custom-menu ul li {margin-left: 12px;}
body.page-template-page-privacy .navbar .hamburger {margin-left: 0; flex-shrink: 0;}
body.page-template-page-privacy .navbar a:focus-visible {outline: 2px solid #910402; outline-offset: 5px;}
body.page-template-page-privacy.overflow-hidden .navbar {background: #131314; border-bottom-color: #333;}
body.page-template-page-privacy.overflow-hidden .navbar .phone a,
body.page-template-page-privacy.overflow-hidden .navbar .custom-menu ul li a {color: #fff;}
body.page-template-page-privacy.overflow-hidden .navbar .hamburger__line-in {background: #fff;}

/* Il background shorthand inline di Anchor azzera il colore del footer. */
body .footer {
  background-color: #131314 !important;
  color: #fff;
  padding: 64px clamp(24px, 4vw, 64px) 0;
}
body .footer .logo a img {height: 72px; width: auto; max-width: 100%;}
body .footer h4 {font-size: clamp(20px, 2.5vw, 30px); margin: 32px 0 20px; color: #fff;}
body .footer h2 {font-size: clamp(30px, 4vw, 58px); line-height: 1.25; padding: 0; color: #fff;}
body .footer .btn-contact {border-color: #fff; color: #fff;}
body .footer .btn-contact:hover {background: #910402; border-color: #910402;}
body .footer .footer-bar {margin-top: 64px; padding: 24px 0; gap: 16px; border-top-color: #555; color: #fff;}
body .footer .footer-bar span {font-size: 13px; line-height: 1.7;}
body .footer .footer-bar a {color: #fff; text-decoration: underline; text-underline-offset: 3px;}
body .footer a:focus-visible {outline: 2px solid #fff; outline-offset: 5px;}

@media (max-width: 767px) {
  body.page-template-page-privacy .navbar {display: grid; grid-template-columns: minmax(0, 1fr) auto auto; padding: 18px 24px; gap: 10px 20px;}
  body.page-template-page-privacy .navbar .logo {grid-column: 1; grid-row: 1;}
  body.page-template-page-privacy .navbar .logo img {height: 46px;}
  body.page-template-page-privacy .navbar .custom-menu {grid-column: 2; grid-row: 1; margin-left: 0;}
  body.page-template-page-privacy .navbar .hamburger {grid-column: 3; grid-row: 1;}
  body.page-template-page-privacy .navbar .phone {display: block; grid-column: 1 / -1; grid-row: 2; margin: 0; font-size: 15px;}
  body .footer {width: calc(100% - 32px); margin: 0 16px; padding: 48px 20px 0;}
  body .footer .footer-bar {justify-content: center; margin-top: 40px; gap: 10px;}
  body .footer .footer-bar .copyright,
  body .footer .footer-bar .creation {width: 100%; margin: 0; text-align: center;}
}
@media (max-width: 767px) {
  body.page-template-page-privacy .navbar .phone {grid-column: 1 / 3;}
  body.page-template-page-privacy .navbar .equalizer {grid-column: 3; grid-row: 2; margin: 0; justify-self: center;}
}
/* Evita che il resize animi padding e colonne dell'header. */
body.page-template-page-privacy .navbar {transition-property: top, opacity, background-color, border-color;}

/* Navigazione delle slide nel rosso Blackwood, con controlli più leggibili. */
.slider .swiper-container .slider-navigation .swiper-button-prev,
.slider .swiper-container .slider-navigation .swiper-button-next {
  height: 36px;
}

.slider .swiper-container .slider-navigation .swiper-button-prev img,
.slider .swiper-container .slider-navigation .swiper-button-next img {
  height: 36px;
}

.slider .swiper-container .slider-navigation .swiper-button-prev span,
.slider .swiper-container .slider-navigation .swiper-button-next span {
  height: 36px;
  color: #910402;
  font-size: 22px;
}

.slider .swiper-container .slider-navigation .swiper-button-line {
  width: 56px;
  height: 3px;
  background: #910402;
}

/* Prima slide IT/EN: punto focale a 310 px su immagini larghe 1454 px, in alto. */
.slider .swiper-slide[data-background$="/blackwood-hero-9.png"],
.slider .swiper-slide[data-background$="/blackwood-hero-5-1.png"],
.slider .swiper-slide[data-background$="/blackwood-hero-9.png"] > .mobile-slide,
.slider .swiper-slide[data-background$="/blackwood-hero-5-1.png"] > .mobile-slide {
  background-position: 21.3205% top;
}

/* Terza slide IT/EN: punto focale a 550 px su immagini larghe 1454 px, in basso. */
.slider .swiper-slide[data-background$="/blackwood-hero.png"],
.slider .swiper-slide[data-background$="/blackwood-hero-10.png"],
.slider .swiper-slide[data-background$="/blackwood-hero.png"] > .mobile-slide,
.slider .swiper-slide[data-background$="/blackwood-hero-10.png"] > .mobile-slide {
  background-position: 37.8267% bottom;
}

/* Evidenziazione opzionale, attivabile separatamente nelle slide Elementor. */
.slider .swiper-slide.bw-slide-highlight .inner h5,
.slider .swiper-slide.bw-slide-highlight .inner h2,
.slider .swiper-slide.bw-slide-highlight .inner p {
  width: fit-content;
  background-color: rgba(0, 0, 0, 0.32);
  color: #fff;
  padding: 0.12em 16px 0.18em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  box-sizing: border-box;
}

.slider .swiper-slide.bw-slide-highlight .inner h5 {
  padding: 10px 16px 10px 22px;
}

.slider .swiper-slide.bw-slide-highlight .inner p {
  padding: 12px 16px;
}

@media (max-width: 767px) {
  .slider .swiper-slide.bw-slide-highlight .inner h2 {
    padding: 0.14em 12px 0.2em;
  }
  .slider .swiper-slide.bw-slide-highlight .inner p {
    padding: 10px 12px;
  }
}

/* Home di lavoro: sottoimmagine centrata nella giunzione delle due colonne. */
@media (min-width: 1025px) {
  .elementor-695 .elementor-element-d46969a {
    position: relative;
    z-index: 2;
  }

  .elementor-695 .elementor-element-d46969a > .elementor-widget-wrap,
  .elementor-695 .elementor-element-266303b,
  .elementor-695 .elementor-element-266303b > .elementor-widget-container,
  .elementor-695 .elementor-element-266303b .side-image {
    position: static;
  }

  .elementor-695 .elementor-element-266303b .sub-image {
    top: 50%;
    left: 100%;
    right: auto;
    bottom: auto;
    max-width: 24%;
    transform: translate(-50%, -50%);
  }
}

/* Intro home IT/EN: la tipografia è indipendente dal formato scelto nell'editor. */
.bw-home-intro .section-title .description,
.bw-home-intro .section-title .description > * {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: calc(1.275rem + 0.3vw);
  font-weight: 500;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  text-indent: 0;
  color: inherit;
}

.bw-home-intro .section-title .description > * {
  width: auto;
  margin: 0 0 0.5rem;
  padding: 0;
}

.bw-home-intro .section-title .description > *::before {
  content: none;
}

@media (min-width: 1200px) {
  .bw-home-intro .section-title .description,
  .bw-home-intro .section-title .description > * {
    font-size: 1.5rem;
  }
}
