/* TamburHello restyling — approved global UI refinements */

/* CTA/button typography: approved baseline */
.btn,
.button,
input[type="submit"] {
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

/* Optional descriptions for submenu items. They render only when the
   WordPress menu item Description field is filled in. */
#site_menu .dropdown-menu .dropdown-item {
  white-space: normal;
}

#site_menu .th-menu-description {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0.02em;
  opacity: .72;
  text-transform: none;
}

/* Flexible Page: controlli immagine per il blocco Testo + immagine */
.page-builder-block.block_3 .th-media-wrapper {
  width: 100%;
  overflow: hidden;
}

.page-builder-block.block_3 .th-media-wrapper picture,
.page-builder-block.block_3 .th-media-wrapper img {
  display: block;
  width: 100%;
}

.page-builder-block.block_3 .th-media-ratio-square { aspect-ratio: 1 / 1; }
.page-builder-block.block_3 .th-media-ratio-landscape { aspect-ratio: 4 / 3; }
.page-builder-block.block_3 .th-media-ratio-wide { aspect-ratio: 16 / 9; }
.page-builder-block.block_3 .th-media-ratio-portrait { aspect-ratio: 3 / 4; }

.page-builder-block.block_3 .th-media-ratio-square picture,
.page-builder-block.block_3 .th-media-ratio-landscape picture,
.page-builder-block.block_3 .th-media-ratio-wide picture,
.page-builder-block.block_3 .th-media-ratio-portrait picture,
.page-builder-block.block_3 .th-media-ratio-square img,
.page-builder-block.block_3 .th-media-ratio-landscape img,
.page-builder-block.block_3 .th-media-ratio-wide img,
.page-builder-block.block_3 .th-media-ratio-portrait img {
  width: 100%;
  height: 100%;
}

.page-builder-block.block_3 .th-media-fit-cover img { object-fit: cover; }
.page-builder-block.block_3 .th-media-fit-contain img { object-fit: contain; }

.page-builder-block.block_3 .th-media-position-top img { object-position: center top; }
.page-builder-block.block_3 .th-media-position-bottom img { object-position: center bottom; }
.page-builder-block.block_3 .th-media-position-left img { object-position: left center; }
.page-builder-block.block_3 .th-media-position-right img { object-position: right center; }

.page-builder-block.block_3 .th-media-shape-1,
.page-builder-block.block_3 .th-media-shape-2,
.page-builder-block.block_3 .th-media-shape-3,
.page-builder-block.block_3 .th-media-shape-4 {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.page-builder-block.block_3 .th-media-shape-1 {
  -webkit-mask-image: url('../assets/shapes/th-shape-1.svg');
  mask-image: url('../assets/shapes/th-shape-1.svg');
}
.page-builder-block.block_3 .th-media-shape-2 {
  -webkit-mask-image: url('../assets/shapes/th-shape-2.svg');
  mask-image: url('../assets/shapes/th-shape-2.svg');
}
.page-builder-block.block_3 .th-media-shape-3 {
  -webkit-mask-image: url('../assets/shapes/th-shape-3.svg');
  mask-image: url('../assets/shapes/th-shape-3.svg');
}
.page-builder-block.block_3 .th-media-shape-4 {
  -webkit-mask-image: url('../assets/shapes/th-shape-4.svg');
  mask-image: url('../assets/shapes/th-shape-4.svg');
}

@media (max-width: 991px) {
  .page-builder-block.block_3 .th-media-wrapper {
    margin-bottom: 20px;
  }
}

/* Flexible Page: Box con foto separata dal contenuto */
.page-builder-block.block_2 .th-box {
  display: flex;
  border-radius: 25px;
  overflow: hidden;
}

.page-builder-block.block_2 .th-box .box {
  flex: 1 1 auto;
  min-width: 0;
}

.page-builder-block.block_2 .th-box-image-top,
.page-builder-block.block_2 .th-box-image-bottom {
  flex-direction: column;
}

.page-builder-block.block_2 .th-box-image-left,
.page-builder-block.block_2 .th-box-image-right {
  flex-direction: row;
}

.page-builder-block.block_2 .th-box-media {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
}

.page-builder-block.block_2 .th-box-media picture,
.page-builder-block.block_2 .th-box-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.page-builder-block.block_2 .th-box-image-fit-cover .th-box-media img { object-fit: cover; }
.page-builder-block.block_2 .th-box-image-fit-contain .th-box-media img { object-fit: contain; }

.page-builder-block.block_2 .th-box-image-focus-top .th-box-media img { object-position: center top; }
.page-builder-block.block_2 .th-box-image-focus-bottom .th-box-media img { object-position: center bottom; }
.page-builder-block.block_2 .th-box-image-focus-left .th-box-media img { object-position: left center; }
.page-builder-block.block_2 .th-box-image-focus-right .th-box-media img { object-position: right center; }
.page-builder-block.block_2 .th-box-image-focus-center .th-box-media img { object-position: center center; }

.page-builder-block.block_2 .th-box-image-top.th-box-image-size-small .th-box-media,
.page-builder-block.block_2 .th-box-image-bottom.th-box-image-size-small .th-box-media { height: 120px; }
.page-builder-block.block_2 .th-box-image-top.th-box-image-size-medium .th-box-media,
.page-builder-block.block_2 .th-box-image-bottom.th-box-image-size-medium .th-box-media { height: 180px; }
.page-builder-block.block_2 .th-box-image-top.th-box-image-size-large .th-box-media,
.page-builder-block.block_2 .th-box-image-bottom.th-box-image-size-large .th-box-media { height: 240px; }

.page-builder-block.block_2 .th-box-image-left.th-box-image-size-small .th-box-media,
.page-builder-block.block_2 .th-box-image-right.th-box-image-size-small .th-box-media { width: 28%; }
.page-builder-block.block_2 .th-box-image-left.th-box-image-size-medium .th-box-media,
.page-builder-block.block_2 .th-box-image-right.th-box-image-size-medium .th-box-media { width: 38%; }
.page-builder-block.block_2 .th-box-image-left.th-box-image-size-large .th-box-media,
.page-builder-block.block_2 .th-box-image-right.th-box-image-size-large .th-box-media { width: 48%; }

.page-builder-block.block_2 .th-box-image-shape-1 .th-box-media,
.page-builder-block.block_2 .th-box-image-shape-2 .th-box-media,
.page-builder-block.block_2 .th-box-image-shape-3 .th-box-media,
.page-builder-block.block_2 .th-box-image-shape-4 .th-box-media {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.page-builder-block.block_2 .th-box-image-shape-1 .th-box-media {
  -webkit-mask-image: url('../assets/shapes/th-shape-1.svg');
  mask-image: url('../assets/shapes/th-shape-1.svg');
}
.page-builder-block.block_2 .th-box-image-shape-2 .th-box-media {
  -webkit-mask-image: url('../assets/shapes/th-shape-2.svg');
  mask-image: url('../assets/shapes/th-shape-2.svg');
}
.page-builder-block.block_2 .th-box-image-shape-3 .th-box-media {
  -webkit-mask-image: url('../assets/shapes/th-shape-3.svg');
  mask-image: url('../assets/shapes/th-shape-3.svg');
}
.page-builder-block.block_2 .th-box-image-shape-4 .th-box-media {
  -webkit-mask-image: url('../assets/shapes/th-shape-4.svg');
  mask-image: url('../assets/shapes/th-shape-4.svg');
}

/* Icone del brandbook sopra il titolo del blocco Testo + immagine */
.page-builder-block.block_3 .th-over-icon {
  display: inline-block;
  width: 54px;
  height: 54px;
  margin-bottom: 14px;
}

.page-builder-block.block_3 .th-over-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .page-builder-block.block_2 .th-box-image-left,
  .page-builder-block.block_2 .th-box-image-right {
    flex-direction: column;
  }

  .page-builder-block.block_2 .th-box-image-left .th-box-media,
  .page-builder-block.block_2 .th-box-image-right .th-box-media {
    width: 100%;
  }

  .page-builder-block.block_2 .th-box-image-left.th-box-image-size-small .th-box-media,
  .page-builder-block.block_2 .th-box-image-right.th-box-image-size-small .th-box-media { height: 120px; }

  .page-builder-block.block_2 .th-box-image-left.th-box-image-size-medium .th-box-media,
  .page-builder-block.block_2 .th-box-image-right.th-box-image-size-medium .th-box-media { height: 180px; }

  .page-builder-block.block_2 .th-box-image-left.th-box-image-size-large .th-box-media,
  .page-builder-block.block_2 .th-box-image-right.th-box-image-size-large .th-box-media { height: 240px; }
}

/* Punti chiave / Highlights */
.page-builder-block.block_5.th-highlights {
  background: var(--th-highlights-bg, transparent);
  color: var(--th-highlights-text, #1C5D77);
}

.th-highlights__header {
  max-width: 820px;
  margin: 0 auto 34px;
  text-align: center;
}

.th-highlights__header .section-title {
  color: var(--th-highlights-text, #1C5D77);
  margin-bottom: 10px;
}

.th-highlights__subtitle {
  font-size: 18px;
  line-height: 1.55;
}

.th-highlights__grid {
  display: grid;
  grid-template-columns: repeat(var(--th-highlights-cols, 3), minmax(0, 1fr));
  gap: 22px;
}

.th-highlight-item {
  color: var(--th-highlights-text, #1C5D77);
  min-width: 0;
}

.th-highlights--center .th-highlight-item { text-align: center; }
.th-highlights--left .th-highlight-item { text-align: left; }

.th-highlight-item__link {
  color: inherit;
  text-decoration: none;
  display: block;
  height: 100%;
}

.th-highlight-item__link:hover,
.th-highlight-item__link:focus {
  color: inherit;
  text-decoration: none;
}

.th-highlight-item__icon {
  width: 56px;
  height: 56px;
  color: var(--th-highlights-icon, #1C5D77);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  flex: 0 0 auto;
}

.th-highlights--left .th-highlight-item__icon { margin-left: 0; }

.th-highlight-item__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.th-highlight-item__icon svg:not([fill]) {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.th-highlight-item__title {
  color: inherit;
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.15;
}

.th-highlight-item__text { line-height: 1.55; }

.th-highlight-item__cta {
  display: inline-block;
  margin-top: 12px;
  font-weight: 700;
}

.th-highlights--1 .th-highlight-item__icon {
  width: 62px;
  height: 62px;
  padding: 13px;
  border-radius: 50%;
  background: var(--th-highlights-accent-bg, #F2ECC9);
}

.th-highlights--2 .th-highlight-item {
  background: var(--th-highlights-accent-bg, #F2ECC9);
  border-radius: 22px;
  padding: 26px;
  height: 100%;
}

.th-highlights--2 .th-highlight-item--linked {
  transition: transform .18s ease, box-shadow .18s ease;
}

.th-highlights--2 .th-highlight-item--linked:hover,
.th-highlights--2 .th-highlight-item--linked:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

@media (max-width: 991px) {
  .th-highlights__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .th-highlights__grid {
    grid-template-columns: 1fr;
  }

  .th-highlights__header {
    margin-bottom: 26px;
  }
}
