/* Shared service/article FAQ accordion styles extracted from the product bundle. */
#faq-centri-ottici,
.faq-centratura,
.section--faq .faq-accordion {
  max-width: 860px;
  margin: 42px auto 38px;
}

#faq-centri-ottici h2,
.faq-centratura h2,
.section--faq h2 {
  margin: 0 0 24px !important;
  color: #182233 !important;
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}

#faq-centri-ottici .faq-item,
.faq-centratura .faq-item,
.section--faq .faq-accordion .faq-item {
  margin: 0 0 14px;
  padding: 0;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fafafa;
  overflow: hidden;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

#faq-centri-ottici .faq-item:hover,
.faq-centratura .faq-item:hover,
.section--faq .faq-accordion .faq-item:hover {
  border-color: #ccc;
  background: #f5f7f9;
}

#faq-centri-ottici .faq-item h3,
.faq-centratura .faq-item h3,
.section--faq .faq-accordion .faq-question {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 18px 52px 18px 20px;
  border: 0;
  background: transparent;
  color: #182233 !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

#faq-centri-ottici .faq-item h3::after,
.faq-centratura .faq-item h3::after,
.section--faq .faq-accordion .faq-question::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 20px;
  color: #666;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform .2s ease;
}

#faq-centri-ottici .faq-item.open,
.faq-centratura .faq-item.open,
.section--faq .faq-accordion .faq-item.open {
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 34, 51, .045);
}

#faq-centri-ottici .faq-item.open h3::after,
.faq-centratura .faq-item.open h3::after,
#faq-centri-ottici .faq-item h3[aria-expanded="true"]::after,
.faq-centratura .faq-item h3[aria-expanded="true"]::after,
.section--faq .faq-accordion .faq-item.open .faq-question::after,
.section--faq .faq-accordion .faq-question[aria-expanded="true"]::after {
  content: "-";
  transform: translateY(-50%) rotate(180deg);
}

#faq-centri-ottici .faq-item p,
.faq-centratura .faq-item p,
.section--faq .faq-accordion .faq-answer {
  display: none;
  margin: 0;
  padding: 0 20px 18px;
  color: #46515d;
  font-size: 15px;
  line-height: 1.65;
}

#faq-centri-ottici .faq-item.open p,
.faq-centratura .faq-item.open p,
#faq-centri-ottici .faq-item h3[aria-expanded="true"] + p,
.faq-centratura .faq-item h3[aria-expanded="true"] + p,
.section--faq .faq-accordion .faq-item.open .faq-answer,
.section--faq .faq-accordion .faq-question[aria-expanded="true"] + .faq-answer {
  display: block;
}

#faq-centri-ottici .faq-item a,
.faq-centratura .faq-item a,
.section--faq .faq-accordion .faq-answer a {
  color: #003a78;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 767px) {
  #faq-centri-ottici,
  .faq-centratura,
  .section--faq .faq-accordion {
    margin: 30px auto 28px;
  }

  #faq-centri-ottici h2,
  .faq-centratura h2,
  .section--faq h2 {
    margin-bottom: 18px !important;
    font-size: 19px !important;
  }

  #faq-centri-ottici .faq-item,
  .faq-centratura .faq-item,
  .section--faq .faq-accordion .faq-item {
    margin-bottom: 12px;
  }

  #faq-centri-ottici .faq-item h3,
  .faq-centratura .faq-item h3,
  .section--faq .faq-accordion .faq-question {
    padding: 15px 46px 15px 16px;
    font-size: 15.5px;
  }

  #faq-centri-ottici .faq-item h3::after,
  .faq-centratura .faq-item h3::after,
  .section--faq .faq-accordion .faq-question::after {
    right: 16px;
    font-size: 22px;
  }

  #faq-centri-ottici .faq-item p,
  .faq-centratura .faq-item p,
  .section--faq .faq-accordion .faq-answer {
    padding: 0 16px 15px;
    font-size: 14px;
    line-height: 1.58;
  }
}

/* Shared footer service icon centering. */
.elementor-displayFooterBefore .hos-footer-link .elementor-widget-image,
.elementor-displayFooterBefore .hos-footer-link .elementor-image,
.elementor-displayFooterBefore .hos-footer-link .elementor-image a,
.elementor-displayFooterBefore .hos-footer-link .elementor-widget-image a {
  width: 100%;
  text-align: center;
}

.elementor-displayFooterBefore .hos-footer-link .elementor-widget-image img,
.elementor-displayFooterBefore .hos-footer-link .elementor-image img {
  display: block;
  margin-right: auto !important;
  margin-left: auto !important;
}
