/*
 * Landismo-only presentation rules.
 *
 * The source editorial CSS is emitted inside @scope (.landismo-editorial) by
 * the controller.  These rules provide the Purple Velo palette and the
 * storefront-safe image/mobile overrides without touching shared theme CSS.
 */
.landismo-editorial {
  --stone: #543361;
  --ridge: #6b4378;
  --mist: #eee5f2;
  --cream: #f8f4fa;
  --gold: #754989;
  --sage: #866195;
  --rust: #a85a3b;
  --text-light: #fff;
  --text-dark: #362b3c;
  --text-muted-light: #e5d7eb;
  --text-muted-dark: #66586e;
  --body-bg: #f8f4fa;
  --section-alt-bg: #543361;
  --section-alt-text: #fff;
  --section-alt-muted: #e5d7eb;
  --card-bg: rgba(84, 51, 97, .06);
  --card-border: #dfd0e6;
  --divider: #dfd0e6;
  --results-header-bg: #543361;
  --results-row-alt: #eee5f2;
  --results-border: #dfd0e6;
  --mountain-fill: #eee5f2;
  --mountain-stroke: #dfd0e6;
  --quote-border: #9a73ad;
  --stat-label: #66586e;
  --timeline-line: #c9afd5;
  --timeline-dot: #754989;
  --timeline-dot-ring: #eee5f2;
  color-scheme: light;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow-x: clip;
  padding-inline: 20px;
  background: var(--body-bg);
  color: var(--text-dark);
  font-family: 'Crimson Pro', Georgia, 'Times New Roman', serif;
  font-size: 1.125rem;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

/* Scoped equivalents of the standalone Purple Velo editorial overrides. */
.landismo-editorial .section-dark {
  --gold: #ead4f5;
  --stat-label: #e5d7eb;
  --quote-border: #c9afd5;
  --card-bg: rgba(255, 255, 255, .08);
}

.landismo-editorial .hero-title,
.landismo-editorial .section h2,
.landismo-editorial .section h3 {
  font-family: 'Josefin Sans', Arial, sans-serif;
}

.landismo-editorial .hero {
  padding-block: clamp(35px, 6vw, 72px) 48px;
}

.landismo-editorial .hero-title {
  color: var(--stone);
  font-size: clamp(3.5rem, 11vw, 7.5rem);
  line-height: 1.1;
}

.landismo-editorial .hero-title em {
  color: #866195;
}

.landismo-editorial a:focus-visible {
  outline: 3px solid #a47bb7;
  outline-offset: 5px;
}

.landismo-article-top {
  max-width: 1100px;
  margin: 28px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  color: var(--text-muted-dark);
  font-family: 'Josefin Sans', Arial, sans-serif;
  font-size: 14px;
}

.landismo-article-top a {
  color: var(--stone);
  text-decoration: none;
}

.landismo-article-top a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.landismo-article-top a.pv-back-button {
  display: inline-block;
  padding: 12px 20px;
  border: 1px solid var(--stone);
  border-radius: 8px;
  background: var(--stone);
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
}

.landismo-article-top a.pv-back-button:hover {
  background: var(--ridge);
}

.landismo-editorial *,
.landismo-editorial *::before,
.landismo-editorial *::after {
  box-sizing: border-box;
}

.landismo-editorial #article {
  min-width: 0;
}

.landismo-editorial #article img {
  max-width: 100%;
  height: auto;
}

/* Never crop an embedded photograph: retain its natural aspect ratio. */
.landismo-editorial .article-photo {
  overflow: visible;
  text-align: center;
    width: 100%;
    max-width: 780px;
    margin-inline: auto;
}

.landismo-editorial .article-photo img,
.landismo-editorial .hero-photo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin-inline: auto;
  object-fit: contain;
  object-position: center;
}

.landismo-editorial .photo-caption {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.landismo-article-footer {
  max-width: 660px;
  margin: 0 auto;
  padding-block: 0 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  text-align: center;
}

.landismo-article-footer a {
  color: var(--stone);
  text-decoration: none;
}

.landismo-article-footer a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.landismo-article-footer a.pv-back-button {
  display: inline-block;
  padding: 12px 20px;
  border: 1px solid var(--stone);
  border-radius: 8px;
  background: var(--stone);
  color: #fff;
  font-family: 'Josefin Sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
}

.landismo-article-footer a.pv-back-button:hover {
  background: var(--ridge);
}

@media (max-width: 680px) {
  .landismo-editorial {
    padding-inline: 12px;
    font-size: 1.05rem;
  }

  .landismo-article-top {
    margin-top: 18px;
  }

  .landismo-article-top > a:last-child {
    display: none;
  }

  .landismo-article-footer {
    padding-bottom: 40px;
    gap: 14px;
  }
}

@supports not (overflow-x: clip) {
  .landismo-editorial {
    overflow-x: hidden;
  }
}