/* MyEnviroLens staging consistency pass.
 * Scope excludes native Ecwid checkout/payment markup and application forms. */
.mel-site {
  --mel-consistency-shell: 1180px;
  --mel-consistency-reading: 780px;
  --mel-consistency-navy: #082f53;
  --mel-consistency-blue: #216ba5;
  --mel-consistency-soft: #eef6fb;
  --mel-consistency-line: #d5e2ee;
  --mel-consistency-radius: 12px;
}
.mel-site :is(.mel-public-page,.efc-report-review-page,.efc-guide-page,.efc-shop-page) {
  color: #263d4f;
}
.mel-site .mel-public-page {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
.mel-site :is(.mel-public-page,.efc-report-review-page,.efc-guide-page,.efc-shop-page) :is(h1,h2,h3) {
  color: var(--mel-consistency-navy);
  letter-spacing: -.02em;
}
.mel-site :is(.mel-public-page,.efc-report-review-page,.efc-guide-page,.efc-shop-page) h1 {
  font-size: clamp(2.25rem, 4.2vw, 3.55rem) !important;
  line-height: 1.08 !important;
}
.mel-site :is(.mel-public-page,.efc-report-review-page,.efc-guide-page,.efc-shop-page) h2 {
  font-size: clamp(1.65rem, 2.8vw, 2.35rem);
  line-height: 1.16;
}
.mel-site :is(.mel-public-hero,.efc-review-hero,.efc-shop-hero,.efc-guide-page-hero) {
  width: min(100%, var(--mel-consistency-shell));
  margin-inline: auto;
  background: linear-gradient(120deg,#fff 0%,var(--mel-consistency-soft) 100%) !important;
  border-bottom: 1px solid var(--mel-consistency-line) !important;
  padding-block: clamp(2.2rem,5vw,4.4rem) !important;
}
.mel-site :is(.mel-public-section,.efc-review-pricing,.efc-review-fit,.efc-review-process-section,.efc-review-governance,.efc-review-faq) {
  width: min(calc(100% - 32px), var(--mel-consistency-shell));
  margin-inline: auto;
  padding-block: clamp(2.5rem,5vw,4.4rem) !important;
}
.mel-site .mel-policy-page .mel-public-section,
.mel-site .mel-learning-article { max-width: var(--mel-consistency-reading); }
.mel-site :is(.mel-public-card-grid,.mel-resource-grid,.mel-support-grid,.mel-policy-grid,.efc-review-pricing) article,
.mel-site :is(.efc-review-benefit-list,.efc-review-process-list li) {
  border: 1px solid var(--mel-consistency-line) !important;
  border-radius: var(--mel-consistency-radius) !important;
  box-shadow: none !important;
}
.mel-site :is(.mel-button,.efc-action,.efc-secondary-action,.mel-header-cta) {
  min-height: 46px;
  border-radius: 8px !important;
  font-weight: 750;
  align-items: center;
  justify-content: center;
}
.mel-site :is(.mel-button,.efc-action,.efc-secondary-action,.mel-header-cta):focus-visible,
.mel-site :is(a,button,summary):focus-visible {
  outline: 3px solid var(--mel-consistency-blue);
  outline-offset: 3px;
}
.mel-site .efc-review-hero-actions,
.mel-site .efc-review-sample-actions { gap: 12px; align-items: stretch; }
.mel-site .efc-review-process-list li { min-height: 0 !important; }
.mel-site #sample-package { scroll-margin-top: 112px; }
.mel-site .mel-home-hero-review-team { font-size: .9rem; line-height: 1.5; }
.mel-site .mel-home-hero-review-team a { color: var(--mel-consistency-navy); font-weight: 750; }
.mel-site .mel-home-hero .mel-actions { display:flex; flex-wrap:wrap; gap:10px; }
.mel-site .mel-home-hero .mel-actions .mel-button { flex:0 1 auto; white-space:normal; }
.mel-site .mel-home-review-paper-row.is-next { background:var(--mel-consistency-soft); color:var(--mel-consistency-navy); }
.mel-site .mel-home-domains { padding-bottom:clamp(2.2rem,4vw,3.5rem) !important; }
.mel-site .mel-home-process { padding-top:clamp(2.2rem,4vw,3.5rem) !important; }
.mel-site :is(.mel-home-section-heading,.mel-public-hero,.efc-review-hero,.efc-shop-hero,.efc-guide-page-hero) h1,
.mel-site .mel-home-section-heading h2 { text-wrap:balance; }
.mel-site .efc-guide-session-help {
  grid-column: 1 / -1;
  width: 100%;
  margin: 8px 0 18px;
  color: #526b7c;
  font-size: .9rem;
  line-height: 1.5;
}
.mel-site .mel-pilot-image img,
.mel-site .mel-ermi-product-image img,
.mel-site .mel-owner-preview-product-image img {
  object-fit: contain !important;
  max-height: 540px;
}
.mel-site .mel-pilot-selection-primary { white-space: normal; }
.mel-site :is(.mel-floating-mel,.mel-chat-launcher,.mel-cart-link) { max-width: calc(100vw - 24px); }
@media (max-width: 767px) {
  .mel-site .mel-public-page,
  .mel-site .mel-public-page *,
  .mel-site .mel-public-page *::before,
  .mel-site .mel-public-page *::after {
    box-sizing: border-box;
  }
  .mel-site .mel-public-page {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
  .mel-site .mel-public-page :is(.mel-public-hero,.mel-public-section,.mel-public-callout) {
    box-sizing: border-box;
    max-width: 100%;
  }
  .mel-site :is(.mel-public-hero,.efc-review-hero,.efc-shop-hero,.efc-guide-page-hero) {
    width: 100%; padding-inline: 20px !important;
  }
  .mel-site :is(.mel-public-section,.efc-review-pricing,.efc-review-fit,.efc-review-process-section,.efc-review-governance,.efc-review-faq) {
    width: min(calc(100% - 28px), var(--mel-consistency-shell));
  }
  .mel-site .efc-review-hero-actions :is(.efc-action,.efc-secondary-action),
  .mel-site .efc-review-sample-actions :is(.efc-action,.efc-secondary-action) { width: 100%; }
  .mel-site .mel-pilot-image img,
  .mel-site .mel-ermi-product-image img,
  .mel-site .mel-owner-preview-product-image img { max-height: 330px; }
  .mel-site .mel-home-hero .mel-actions .mel-button { width:100%; }
  .mel-site .mel-chat-launcher {
    position:static !important;
    display:flex;
    justify-content:flex-end;
    width:100%;
    max-width:none;
    padding:12px 16px;
    background:#fff;
  }
}
.mel-standalone-consultation {
  max-width: 760px;
  margin: 2rem auto;
  padding: 1.5rem;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
}
.mel-standalone-consultation .mel-consultation-picker {
  margin: 1rem 0 0;
  padding: 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #f8fafc;
}
.mel-standalone-consultation .mel-consultation-picker label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .2rem .65rem;
  align-items: start;
  margin: 1rem 0;
}
.mel-standalone-consultation .mel-consultation-picker input {
  grid-row: 1 / span 2;
  margin-top: .25rem;
}
.mel-standalone-consultation .mel-consultation-picker strong,
.mel-standalone-consultation .mel-consultation-picker label span {
  grid-column: 2;
  display: block;
}
.mel-standalone-consultation [role="status"] {
  display: block;
  margin: .8rem 0;
  color: #334155;
}
.mel-cart-selection-error {
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border: 1px solid #fda4af;
  border-radius: 8px;
  background: #fff1f2;
  color: #881337;
  font-weight: 650;
}
