/*
 * Per-field scale on public live-home only (from copy_style_inline when scale != 1).
 * Preview applies scale in front-edit.js against captured Tailwind sizes.
 * Never set font-size: 1em on all [data-cms-copy] — that resets text-4xl/text-lg.
 */

[data-cms-copy][style*="--cms-copy-color"],
[data-eden-copy][style*="--cms-copy-color"] {
  color: var(--cms-copy-color) !important;
}

.cms-logo-slot {
  --cms-logo-base-height: 5.5rem;
  --cms-logo-base-max-width: 220px;
  min-height: calc(var(--cms-logo-base-height) * var(--cms-logo-scale, 1));
  display: flex;
  align-items: center;
}

@media (min-width: 768px) {
  .cms-logo-slot {
    --cms-logo-base-height: 7rem;
    --cms-logo-base-max-width: 260px;
  }
}

.cms-logo-slot img {
  max-height: calc(var(--cms-logo-base-height) * var(--cms-logo-scale, 1));
  max-width: calc(var(--cms-logo-base-max-width) * var(--cms-logo-scale, 1));
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

/* Practice columns: editable logo box hugs image width; copy below stays full column */
.cms-logo-slot.cms-logo-slot--fit {
  width: fit-content;
  max-width: 100%;
  min-height: auto;
  margin-bottom: 1.5rem;
}

.cms-logo-slot.cms-logo-slot--fit img {
  display: block;
}

/* Practice panels: equal logo band so labels/headings align across columns */
.cms-logo-slot.cms-logo-slot--practice {
  min-height: 5.5rem;
  margin-bottom: 1.5rem;
  align-items: flex-end;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .cms-logo-slot.cms-logo-slot--practice {
    min-height: 7rem;
  }
}

.cms-logo-slot--footer {
  --cms-logo-base-height: 4rem;
  --cms-logo-base-max-width: 240px;
  min-height: auto;
  margin-bottom: 0;
  justify-content: center;
}

.cms-logo-slot--footer img {
  object-position: center center;
}

.cms-logo-slot--banner {
  --cms-logo-base-height: 5rem;
  --cms-logo-base-max-width: 20rem;
  min-height: auto;
  margin-bottom: 0.75rem;
  justify-content: center;
  width: 100%;
  max-width: 24rem;
}

.cms-logo-slot--banner img {
  object-position: center center;
  width: 100%;
  opacity: 0.95;
}

.cms-logo-slot.cms-logo-slot--editorial {
  --cms-logo-base-height: 18rem;
  --cms-logo-base-max-width: 320px;
  width: fit-content;
  max-width: 100%;
  min-height: auto;
  margin-bottom: 0;
  justify-content: center;
  align-items: flex-start;
}

.cms-logo-slot.cms-logo-slot--editorial img {
  object-fit: contain;
  object-position: center;
  display: block;
}

@media (min-width: 768px) {
  .cms-logo-slot.cms-logo-slot--editorial {
    --cms-logo-base-height: 22rem;
    --cms-logo-base-max-width: 380px;
  }
}

@media (min-width: 768px) {
  .cms-logo-slot--footer {
    --cms-logo-base-height: 5rem;
  }

  .cms-logo-slot--banner {
    --cms-logo-base-max-width: 24rem;
  }
}

.philosophy-line-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.philosophy-line-item {
  margin: 0;
}
