/* =============================================================
 * ORGA — Editor Guardrails
 *
 * Loaded after orga.css. Provides layout safety for sections
 * with WebGL-coupled heights, plus restyles <em> in contexts
 * where the original markup used <strong> for visual weight.
 *
 * Char caps in the admin editor are already enforced server-
 * side, but these styles keep the layout from breaking in
 * edge cases (extreme zoom, narrow viewports, font swaps).
 * ============================================================= */

/* -----------------------------------------------------------
 * Sides list: client's *word* maps to <em>; we want bold not italic
 * (original markup used <strong> for the price values).
 * --------------------------------------------------------- */
.orga-srv__sides-list em {
  font-style: normal;
  font-weight: 700;
}

/* -----------------------------------------------------------
 * WEBGL HERO — prevent overflow if hero text grows
 * --------------------------------------------------------- */
.orga-hero__title-lead {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 1.4em;
  white-space: nowrap;
}

.orga-hero__title-big {
  display: block;
  overflow: hidden;
  max-height: 2.4em;
  line-height: 1.05;
}

.orga-hero__sub {
  overflow: hidden;
  max-height: 3.2em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.orga-hero__meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 24ch;
  display: inline-block;
}

/* -----------------------------------------------------------
 * STATS — keep each card tidy if labels grow
 * --------------------------------------------------------- */
.orga-stats__label,
.orga-stats__context {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.orga-stats__value {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* -----------------------------------------------------------
 * COMPARE table cells — gentle clamp on long rows
 * --------------------------------------------------------- */
.orga-compare__cell {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* -----------------------------------------------------------
 * CLOSING / CTA — guarantee promise wraps cleanly
 * --------------------------------------------------------- */
.orga-closing__heading {
  overflow-wrap: anywhere;
}

.orga-closing__guarantee-promise {
  overflow-wrap: anywhere;
}

/* -----------------------------------------------------------
 * PHILOSOPHY — body never spills past container
 * --------------------------------------------------------- */
.orga-philosophy__body {
  overflow-wrap: anywhere;
}

/* -----------------------------------------------------------
 * SERVICES PAGE — step text clamps, package row labels never overflow
 * --------------------------------------------------------- */
.orga-srv__h1,
.orga-srv__h2,
.orga-srv__final-heading {
  overflow-wrap: anywhere;
}

.orga-srv__step-text,
.orga-srv__both-text {
  overflow-wrap: anywhere;
}

.orga-srv__card-row-label,
.orga-srv__card-row-value {
  overflow-wrap: anywhere;
}

.orga-srv__sides-list li > span:first-child {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.orga-srv__sides-list li > span:last-child {
  white-space: nowrap;
  flex-shrink: 0;
}
