/* Yoga du Ville — polish páginas serviço / institucional (WpLive) */

/* Hero serviço — respiro vertical */
.elementor-location-single .elementor-widget-theme-post-featured-image,
.page .elementor-widget-image:not(.elementor-widget-image-box) {
  margin-bottom: 0;
}

.ydv-hero-srv-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  object-position: center;
  border-radius: 5px;
  box-shadow: 0 10px 28px rgba(54, 54, 54, 0.12);
}

@media (max-width: 767px) {
  .ydv-hero-srv-img {
    max-height: 280px;
  }
}

/* Trust bar / icon boxes */
.elementor-widget-icon-box .elementor-icon-box-icon {
  color: var(--ydv-accent, #d8409f);
}

.elementor-widget-icon-box .elementor-icon-box-title {
  color: var(--ydv-brand, #a32483);
  font-weight: 800;
}

/* Seções alternadas — ritmo visual */
.e-con.e-parent:nth-child(even) {
  background-color: transparent;
}

/* CTA band gradiente (Elementor) */
.elementor-widget-button .elementor-button.elementor-size-lg {
  padding: 0.85rem 1.75rem;
  box-shadow: 0 6px 24px rgba(163, 36, 131, 0.22);
}

/* Depoimentos / cards */
.elementor-testimonial-wrapper,
.elementor-widget-image-box .elementor-image-box-wrapper {
  border-radius: 5px;
}

/* Mapa embed */
.elementor-widget-google_maps iframe,
.elementor-custom-embed iframe {
  width: 100% !important;
  min-height: 280px;
  border-radius: 5px;
}

/* Breadcrumb WP */
.elementor-widget-breadcrumbs {
  font-size: 0.78rem;
}

/* Contato / formulários */
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select {
  border-radius: 5px;
  border-color: #e0d5d0;
  min-height: 2.75rem;
  font-family: inherit;
}

@media (max-width: 1023px) {
  /* Sidebar serviço Elementor → abaixo do conteúdo */
  .elementor-location-single .e-con:has(.elementor-widget-sidebar) {
    flex-direction: column !important;
  }

  .elementor-widget-icon-box.elementor-vertical-align-top {
    margin-bottom: 1rem;
  }
}

@media (max-width: 767px) {
  .elementor-widget-icon-box .elementor-icon-box-wrapper {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.85rem;
  }

  .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon {
    margin-right: 0 !important;
    flex-shrink: 0;
  }

  .elementor-widget-google_maps iframe {
    min-height: 220px;
  }

  /* FAQ full width */
  .elementor-accordion .elementor-tab-title {
    padding: 1rem 0.75rem !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 479px) {
  .elementor-widget-icon-box .elementor-icon-box-title {
    font-size: 0.95rem !important;
  }
}
