/* ==========================================================================
   Our Philosophy — Elementor widget additions
   our-philosophy.css is an unchanged copy of the original; this file only
   adds what the widget needs on top of it. Every rule stays under
   .our-philosophy-section.
   ========================================================================== */

/* Empty parts are printed with [hidden] (the script still finds them);
   [hidden] must win over the components' own display values. */
.our-philosophy-section [hidden] {
  display: none !important;
}

/* Style-tab hooks; the fallbacks are the original values. */
.our-philosophy-section .our-philosophy__center-image {
  object-position: var(--op-img-x, 56%) var(--op-img-y, 40%);
  transform: scale(var(--op-img-zoom, 1.16));
}

.our-philosophy-section .our-philosophy__clinic-image {
  object-position: var(--op-clinic-x, 40%) var(--op-clinic-y, 30%);
}

.our-philosophy-section .our-philosophy__icon {
  width: var(--op-icon-size, 44%);
  height: var(--op-icon-size, 44%);
}

/* Custom icon (Elementor icon library / uploaded SVG): sized like the
   original stroke icons, coloured by the badge tint. */
.our-philosophy-section .our-philosophy__icon--custom {
  display: grid;
  place-items: center;
  font-size: calc(var(--op-badge) * 0.36);
  line-height: 1;
}

.our-philosophy-section .our-philosophy__icon--custom svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  stroke: none;
}

.our-philosophy-section .our-philosophy__icon--custom i {
  font-size: inherit;
  color: inherit;
}

/* Elementor's `.elementor .elementor-widget:not(…):not(…) figure { margin: 0 }`
   (0,4,1) removes the space around the centre photo on tablet / mobile.
   Same declaration as the original, with enough specificity to win. */
@media (max-width: 1023.98px) {
  .our-philosophy-section[data-our-philosophy] .our-philosophy__container .our-philosophy__orbit figure.our-philosophy__center {
    margin: clamp(36px, 7vw, 56px) auto clamp(64px, 11vw, 96px);
  }
}

/* A lone last card keeps the card width when the column gap is changed. */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .our-philosophy-section .our-philosophy__item:last-child:nth-child(odd) {
    width: calc((100% - var(--op-col-gap, 36px)) / 2);
  }
}

/* Editor-only empty state */
.our-philosophy-empty {
  padding: 48px 24px;
  border: 2px dashed rgba(11, 52, 120, 0.2);
  font: 500 15px/1.5 "DM Sans", system-ui, sans-serif;
  color: #4A5F80;
  text-align: center;
}
