/* Neutral shared shell for authentication and tenant-entry surfaces. */
.product-surface {
  min-width: 0;
}

.product-surface__skip-link {
  position: fixed;
  inset-block-start: var(--kvd-space-2);
  inset-inline-start: var(--kvd-space-2);
  z-index: 10;
  padding: var(--kvd-space-2) var(--kvd-space-3);
  border-radius: var(--kvd-radius-md);
  background: var(--kvd-color-bg-surface);
  color: var(--kvd-color-text-primary);
  box-shadow: var(--kvd-shadow-floating);
  transform: translateY(-160%);
}

.product-surface__skip-link:focus {
  transform: translateY(0);
}

.product-surface__header {
  border-block-end: 1px solid var(--kvd-color-border-default);
  background: var(--kvd-color-bg-surface);
}

.product-surface__header-inner {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--kvd-space-4);
}

.product-surface__brand {
  color: var(--kvd-color-text-primary);
  font-size: var(--kvd-font-size-body-sm);
  font-weight: var(--kvd-font-weight-semibold);
  letter-spacing: 0.16em;
  text-decoration: none;
}

.product-surface__main {
  min-width: 0;
}

.product-surface__main-inner {
  display: grid;
  min-height: calc(100vh - 4rem);
  align-items: start;
  padding-block: var(--kvd-space-8);
}

.product-surface__header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--kvd-space-2);
}

.product-surface__text-action {
  border: 0;
  background: transparent;
  color: var(--kvd-color-text-secondary);
  cursor: pointer;
  font-weight: var(--kvd-font-weight-medium);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (min-width: 48rem) {
  .product-surface__main-inner {
    align-items: center;
    padding-block: var(--kvd-space-12);
  }
}

@media (min-width: 72rem) {
  .product-surface__main-inner {
    padding-block: var(--kvd-space-16);
  }
}
