@layer pages {
  /* Results section - reduce top padding since it follows the hero */
  .public-scan__results-section {
    padding-top: var(--space-8);
  }

  /* Scan Form */
  .public-scan__form {
    max-width: 40rem;
    margin: var(--space-6) auto 0;
  }

  .public-scan__input-group {
    display: flex;
    gap: var(--space-3);
    align-items: stretch;
  }

  .public-scan__input {
    flex: 1;
    padding: var(--space-3) var(--space-4);
    font-size: 1.125rem;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-background);
    color: var(--color-text);
    transition: border-color 0.2s;

    &:focus {
      outline: none;
      border-color: var(--color-primary-500);
      box-shadow: 0 0 0 3px var(--color-primary-100);
    }
  }

  .public-scan__submit {
    white-space: nowrap;
    flex-shrink: 0;
  }

  .public-scan__verification {
    margin-top: var(--space-4);
    display: flex;
    justify-content: center;
  }

  @media (max-width: 600px) {
    .public-scan__input-group {
      flex-direction: column;
    }
  }

  /* ======================
     Score Card
     ====================== */
  .public-scan__score-card {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    padding: var(--space-8);
    border-radius: var(--radius-xl);
    margin-bottom: var(--space-8);
    border: 1px solid var(--color-border);
    background: var(--color-background);
    box-shadow: var(--shadow-card);

    &--good {
      border-color: #bbf7d0;
      background: linear-gradient(135deg, #f0fdf4 0%, var(--color-background) 100%);
    }

    &--fair {
      border-color: #fde68a;
      background: linear-gradient(135deg, #fefce8 0%, var(--color-background) 100%);
    }

    &--poor {
      border-color: #fecaca;
      background: linear-gradient(135deg, #fef2f2 0%, var(--color-background) 100%);
    }
  }

  /* SVG Ring Gauge */
  .public-scan__gauge {
    position: relative;
    width: 8rem;
    height: 8rem;
    flex-shrink: 0;
  }

  .public-scan__gauge-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
  }

  .public-scan__gauge-track {
    fill: none;
    stroke: var(--color-gray-200);
    stroke-width: 8;
  }

  .public-scan__gauge-fill {
    fill: none;
    stroke-width: 8;
    stroke-linecap: round;
    transition: stroke-dasharray 0.8s ease;

    .public-scan__score-card--good & {
      stroke: var(--color-success);
    }

    .public-scan__score-card--fair & {
      stroke: var(--color-warning);
    }

    .public-scan__score-card--poor & {
      stroke: var(--color-error);
    }
  }

  .public-scan__gauge-value {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .public-scan__score-number {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1;

    .public-scan__score-card--good & {
      color: var(--color-success-dark);
    }

    .public-scan__score-card--fair & {
      color: var(--color-warning);
    }

    .public-scan__score-card--poor & {
      color: var(--color-error);
    }
  }

  /* Score Details */
  .public-scan__score-details {
    flex: 1;
    min-width: 0;
  }

  .public-scan__score-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 var(--space-1);
    color: var(--color-text);
  }

  .public-scan__score-subtitle {
    color: var(--color-text-muted);
    margin: 0 0 var(--space-4);
    font-size: 0.9375rem;
  }

  /* Severity Pills */
  .public-scan__severity-row {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
  }

  .public-scan__severity-pill {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: 0.8125rem;
    font-weight: 600;

    &--error {
      background: var(--color-error-light);
      color: var(--color-error-dark);
    }

    &--warning {
      background: var(--color-warning-light);
      color: var(--color-warning);
    }

    &--notice {
      background: var(--color-info-light);
      color: var(--color-info);
    }
  }

  .public-scan__severity-count {
    font-weight: 800;
    font-size: 0.9375rem;
  }

  @media (max-width: 600px) {
    .public-scan__score-card {
      flex-direction: column;
      text-align: center;
      padding: var(--space-6);
    }

    .public-scan__gauge {
      width: 6.5rem;
      height: 6.5rem;
    }

    .public-scan__score-number {
      font-size: 1.75rem;
    }

    .public-scan__severity-row {
      justify-content: center;
    }
  }

  /* ======================
     Issues List
     ====================== */
  .public-scan__issues-heading {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 var(--space-1);
    color: var(--color-text);
  }

  .public-scan__issues-subheading {
    font-size: 0.875rem;
    color: var(--color-text-muted);
    margin: 0 0 var(--space-4);
  }

  /* ======================
     Gated CTA
     ====================== */
  .public-scan__gate {
    text-align: center;
    padding: var(--space-8) var(--space-6);
    margin-top: var(--space-8);
    background: var(--gradient-cta);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-primary-200);
  }

  .public-scan__gate-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 var(--space-2);
    color: var(--color-text);
  }

  .public-scan__gate-text {
    font-size: 1rem;
    margin: 0 0 var(--space-4);
    color: var(--color-text-muted);
  }

  .public-scan__gate-features {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
  }

  .public-scan__gate-feature {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--color-primary-700);

    &::before {
      content: "\2713";
      display: inline-block;
      margin-right: var(--space-1);
      font-weight: 800;
    }
  }

  /* ======================
     Error Display
     ====================== */
  .public-scan__error {
    text-align: center;
    padding: var(--space-8);
    background: var(--color-error-light);
    border: 1px solid #fecaca;
    border-radius: var(--radius-xl);
    max-width: 40rem;
    margin: 0 auto;
  }

  .public-scan__error-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-error-dark);
    margin: 0 0 var(--space-2);
  }

  .public-scan__error-message {
    color: var(--color-text);
    margin: 0 0 var(--space-2);
  }

  .public-scan__error-hint {
    font-size: 0.875rem;
    color: var(--color-text-muted);
    margin: 0;
  }
}
