/* SiteAccess intentionally owns an isolated preview-gate skin. It borrows the
   product palette but never imports product navigation or recovery behavior. */

body.product-page.site-access-page {
    --gate-ground: var(--mc-ground, #f7f5ef);
    --gate-paper: var(--mc-paper, #fbfaf6);
    --gate-ink: var(--mc-ink, #082d52);
    --gate-muted: var(--mc-ink-muted, #4c6378);
    --gate-line: var(--mc-line-strong, #b8c0c6);
    --gate-action: var(--mc-cobalt, #075cff);
    --gate-danger: var(--mc-danger, #a42a25);
    color: var(--gate-ink);
    background: var(--gate-ground);
}

body.product-page .site-access {
    display: grid;
    min-block-size: 100dvh;
    place-items: center;
    padding: clamp(var(--mc-space-4, 1rem), 5vw, var(--mc-space-16, 4rem));
}

body.product-page .site-access__panel {
    position: relative;
    display: grid;
    gap: var(--mc-space-5, 1.25rem);
    inline-size: min(100%, 38rem);
    padding: clamp(1.5rem, 6vw, 4rem);
    overflow: hidden;
    background: var(--gate-paper);
    border: 1px solid var(--gate-line);
}

body.product-page .site-access__panel::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    block-size: 3px;
    background: var(--gate-action);
}

body.product-page .site-access__eyebrow {
    margin: 0;
    color: var(--gate-action);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

body.product-page .site-access h1 {
    max-inline-size: 10ch;
    margin: 0;
    font-size: clamp(2.35rem, 8vw, 4.5rem);
}

body.product-page .site-access__intro,
body.product-page .site-access__privacy {
    margin: 0;
    color: var(--gate-muted);
}

body.product-page .site-access__form {
    display: grid;
    gap: var(--mc-space-5, 1.25rem);
    padding-block-start: var(--mc-space-5, 1.25rem);
    border-block-start: 1px solid var(--gate-line);
}

body.product-page .site-access__field {
    display: grid;
    gap: var(--mc-space-2, 0.5rem);
}

body.product-page .site-access__field label {
    font-size: 0.875rem;
    font-weight: 700;
}

body.product-page .site-access__field input {
    min-block-size: 48px;
    inline-size: 100%;
    padding: 0.75rem 0.875rem;
    color: var(--gate-ink);
    background: #fff;
    border: 1px solid var(--gate-line);
    border-radius: 2px;
}

body.product-page .site-access button {
    min-block-size: 48px;
    inline-size: 100%;
    padding: 0.75rem 1.25rem;
    color: #fff;
    background: var(--gate-action);
    border: 1px solid var(--gate-action);
    border-radius: 2px;
    font-weight: 700;
    cursor: pointer;
}

body.product-page .site-access button:hover {
    background: var(--mc-cobalt-hover, #004bd8);
}

body.product-page .site-access__summary:empty,
body.product-page .site-access__error:empty {
    display: none;
}

body.product-page .site-access__summary,
body.product-page .site-access__error {
    color: var(--gate-danger);
    font-size: 0.875rem;
}

body.product-page .site-access__summary ul {
    margin: 0;
    padding-inline-start: 1.25rem;
}

body.product-page .site-access__privacy {
    font-size: 0.8125rem;
}

@media (max-width: 30rem) {
    body.product-page .site-access {
        place-items: stretch;
        padding: 0;
    }

    body.product-page .site-access__panel {
        min-block-size: 100dvh;
        padding: 2rem 1.25rem;
        border: 0;
    }
}

@media (forced-colors: active) {
    body.product-page .site-access__panel,
    body.product-page .site-access__field input,
    body.product-page .site-access button {
        border: 1px solid CanvasText;
    }
}
