@layer components {
  .ec-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ec-space-24);
  }

  @media (width >= 60rem) {
    .ec-result {
      grid-template-areas:
        "model ."
        "visual panel";
      grid-template-columns: minmax(0, 765fr) minmax(0, 539fr);
      row-gap: var(--ec-space-16);
    }

    .ec-result__model {
      grid-area: model;
    }

    .ec-result__visual {
      grid-area: visual;
    }

    .ec-result__panel {
      grid-area: panel;
    }

    .ec-result--email-first {
      grid-template-areas:
        "model panel"
        "visual panel";
      grid-template-rows: auto 1fr;
    }

    .ec-result--email-first .ec-result__panel {
      align-self: start;
    }
  }

  .ec-result__heading {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .ec-result__visual {
    display: flex;
    flex-direction: column;
    gap: var(--ec-space-16);
  }

  .ec-result__actions {
    display: flex;
    align-items: center;
    gap: var(--ec-space-8);
    padding: var(--ec-space-8);
    border-radius: var(--ec-radius);
    background: var(--ec-bg-accent-light);
  }

  .ec-result__action {
    display: inline-flex;
    gap: var(--ec-space-8);
    align-items: center;
    padding: var(--ec-space-8) var(--ec-space-16);
    border: none;
    border-radius: var(--ec-radius-sm);
    background: transparent;
    color: var(--ec-text-accent);
    font-family: var(--ec-font-body);
    font-size: var(--ec-size-sm);
    font-weight: var(--ec-weight-bold);
    line-height: var(--ec-leading-default);
    text-transform: uppercase;
    cursor: pointer;
  }

  .ec-result__disclaimer {
    color: var(--ec-text-secondary);
    font-family: var(--ec-font-body);
    font-size: var(--ec-size-xs);
    font-style: italic;
    font-weight: var(--ec-weight-regular);
    line-height: var(--ec-leading-default);
  }

  .ec-result__panel {
    display: flex;
    flex-direction: column;
    gap: var(--ec-space-24);
  }

  .ec-result__sticky {
    --result-sticky-z: 100;

    position: fixed;
    z-index: var(--result-sticky-z);
    inset-block-end: 0;
    inset-inline: 0;
    display: flex;
    padding-block: var(--ec-space-12);
    padding-block-end: calc(var(--ec-space-12) + env(safe-area-inset-bottom));
    padding-inline: var(--ec-space-16);
    background: var(--ec-bg-dark);
  }

  .ec-result__sticky-cta {
    inline-size: 100%;
  }

  .ec-result:not(:has(form[data-contact])) .ec-result__sticky {
    display: none;
  }

  .ec-result:has(form[data-contact]) {
    padding-block-end: calc(64px + env(safe-area-inset-bottom));
  }

  @media (width >= 60rem) {
    .ec-result__sticky {
      display: none;
    }

    .ec-result:has(form[data-contact]) {
      padding-block-end: 0;
    }
  }

  .ec-result__model {
    display: flex;
    align-items: center;
    gap: var(--ec-space-16);
  }

  .ec-result__model-text {
    display: flex;
    flex-direction: column;
    gap: var(--ec-space-8);
  }

  .ec-result__model-name {
    color: var(--ec-text-primary);
    font-size: var(--ec-size-card-title-lg);
    font-weight: var(--ec-weight-extrabold);
    line-height: var(--ec-leading-title-lg);
  }

  .ec-result__model-accent {
    color: var(--ec-text-accent);
  }

  .ec-result__color {
    color: var(--ec-text-primary);
    font-size: var(--ec-size-md);
    line-height: var(--ec-leading-relaxed);
  }

  .ec-result__thumb {
    flex-shrink: 0;
    inline-size: 6rem;
    block-size: 6rem;
    border-radius: var(--ec-radius);
    object-fit: cover;
  }

  .ec-result__separator {
    display: flex;
    align-items: center;
    gap: var(--ec-space-12);
    color: var(--ec-text-primary);
    font-size: var(--ec-size-card-title);
    font-weight: var(--ec-weight-extrabold);
    line-height: var(--ec-leading-title);
    text-align: center;
  }

  .ec-result__separator::before,
  .ec-result__separator::after {
    content: "";
    flex: 1 1 auto;
    border-block-start: 1px solid var(--ec-stroke-default);
  }

  .ec-result__lede {
    color: var(--ec-text-secondary);
    font-size: var(--ec-size-sm);
    line-height: var(--ec-leading-default);
    text-align: center;
  }

  .ec-result__email {
    display: flex;
    flex-direction: column;
    gap: var(--ec-space-16);
    padding: var(--ec-space-24);
    border-radius: var(--ec-radius-xl);
    background: var(--ec-bg-light);
  }

  .ec-result__email-head {
    display: flex;
    flex-direction: column;
    gap: var(--ec-space-4);
  }

  .ec-result__email:has(.ec-loading__card--sent) .ec-result__email-head {
    display: none;
  }

  .ec-result__email .ec-loading__card--email {
    flex: none;
    padding: 0;
    background: transparent;
    color: var(--ec-text-primary);
  }

  .ec-result__email .ec-loading__card--sent {
    --sent-seal-bg: var(--ec-bg-white);
    --sent-seal-fg: var(--ec-text-accent);

    gap: var(--ec-space-16);
    padding: 0;
    background: var(--ec-bg-light);
    color: var(--ec-text-secondary);
  }

  .ec-result__email .ec-loading__seal {
    inline-size: 48px;
    block-size: 48px;
    margin-block-end: var(--ec-space-12);
  }

  .ec-result__email .ec-loading__sent-title {
    justify-content: center;
    color: var(--ec-text-primary);
    font-size: var(--ec-size-card-title);
    line-height: var(--ec-leading-title);
  }

  .ec-result__email .ec-loading__sent-title::before,
  .ec-result__email .ec-loading__sent-title::after {
    content: none;
  }

  .ec-result__email .ec-loading__card-lede {
    font-size: var(--ec-size-sm);
  }

  .ec-result__email .ec-loading__sent-head {
    gap: var(--ec-space-4);
  }

  .ec-result__email .ec-advice-offer {
    flex-direction: row;
    gap: var(--ec-space-16);
    align-items: stretch;
    padding: var(--ec-space-8);
    border-radius: var(--ec-radius-xl);
    background: var(--ec-bg-white);
    text-align: start;
  }

  .ec-result__email .ec-advice-offer__image {
    display: block;
    flex: none;
    inline-size: 113px;
    block-size: 113px;
    border-radius: 12px;
    object-fit: cover;
  }

  .ec-result__email .ec-advice-offer__body {
    flex: 1 1 0;
    justify-content: center;
    min-inline-size: 0;
    padding-block: var(--ec-space-8);
  }

  .ec-result__email .ec-advice-offer__text {
    gap: 0;
  }

  .ec-result__email .ec-advice-offer__title {
    color: var(--ec-text-primary);
  }

  .ec-result__email .ec-advice-offer__lede {
    color: var(--ec-text-secondary);
  }

  .ec-result__email .ec-advice-offer__actions {
    justify-content: flex-start;
  }

  .ec-result__email .ec-advice-offer__dismiss {
    color: var(--ec-text-accent);
  }

  .ec-result__email .ec-advice-offer--noted {
    align-items: center;
    padding: var(--ec-space-16);
  }

  .ec-result__email .ec-advice-offer--noted .ec-advice-offer__lede {
    color: var(--ec-text-primary);
  }

  .ec-result__email .ec-advice-offer__icon {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    inline-size: 32px;
    block-size: 32px;
    border-radius: 50%;
    background: var(--ec-bg-accent-light);
    color: var(--ec-text-accent);
  }

  .ec-result__email [data-lead] .ec-loading__card-text {
    display: none;
  }

  .ec-result__email [data-lead] .ec-btn {
    --btn-bg: var(--ec-bg-white);
    --btn-fg: var(--ec-text-accent);
    --btn-border: var(--ec-stroke-accent);
    --btn-shadow: none;
  }

  .ec-result__email [data-lead] .ec-btn:hover {
    --btn-bg: var(--ec-bg-accent);
    --btn-fg: var(--ec-text-inverse);
  }

  .ec-result__email .ec-loading__consent input {
    border-color: var(--ec-stroke-default);
  }

  .ec-result__email .ec-loading__consent input:checked {
    border-color: var(--ec-stroke-accent);
    background: var(--ec-bg-accent);
  }

  .ec-result__email .ec-loading__consent input:checked::after {
    border-color: var(--ec-grey-white);
  }
}
