/* BnBNerd Product Page Fixes */

/* Content width - use Elementor's own variable system */
.elementor:not(.elementor-3344) .e-con.e-parent:not(:first-child) {
  --container-max-width: 900px !important;
  --content-width: min(100%, 900px) !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}

/* Don't constrain the hero sections (first e-con parent) */
.elementor .e-con.e-parent:first-child {
  --container-max-width: 100%;
}

/* Boxed sections */
.elementor-section-boxed > .elementor-container {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 20px 40px !important;
}

/* Theme content wrapper */
.single-page-article .entry-content > .elementor {
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

/* Text spacing */
.elementor-widget-text-editor p,
h4.elementor-heading-title {
  margin-bottom: 1.2em !important;
  line-height: 1.8 !important;
  font-size: 16px !important;
}

.elementor-widget-heading {
  margin-bottom: 15px !important;
}

.elementor-widget-text-editor {
  margin-bottom: 20px !important;
}

/* Section spacing */
.elementor-top-section {
  margin-bottom: 10px !important;
}

/* SVG icon fix (single source of truth — removed from child theme style.css) */
.elementor .e-font-icon-svg {
  width: var(--e-icon-list-icon-size, 1em) !important;
  height: var(--e-icon-list-icon-size, 1em) !important;
  fill: currentColor;
}
.elementor-icon-list-icon .e-font-icon-svg {
  width: var(--e-icon-list-icon-size, 14px) !important;
  height: var(--e-icon-list-icon-size, 14px) !important;
}

/* PNG checkmark image fix */
img[src*='output-onlinepngtools'] {
  max-width: 24px !important;
  max-height: 24px !important;
  width: 24px !important;
  height: 24px !important;
  vertical-align: middle;
  display: inline-block !important;
}

/* Service page hero — compact height, sized to text */
.elementor:not(.elementor-3344):not(.elementor-4618) .e-con.e-parent:first-child {
  padding-top: 15px !important;
  padding-bottom: 0 !important;
}
.elementor:not(.elementor-3344):not(.elementor-4618) .e-con.e-parent:first-child .elementor-widget-spacer {
  --spacer-size: 15px !important;
}
.elementor:not(.elementor-3344):not(.elementor-4618) .e-con.e-parent:first-child .elementor-shape-bottom svg {
  height: 30px !important;
}

/* Hide compare panel close button */
.close-compare-panel {
  display: none !important;
}

/* Hide booking search widget if it leaks through */
.search-wrap,
.homey-search-wrap,
.search-calendar-wrap {
  display: none !important;
}
