/* Public pages (landing, sign in, sign up, onboarding, error pages):
   the same primary button, radius and focus ring as the app. */

.au-btn,
.lp-btn--primary,
.ob-btn--primary {
    background: var(--cabinet-accent);
    background-image: none;
    border: 1px solid var(--cabinet-accent);
    color: #fff !important;
    border-radius: 8px;
    box-shadow: none;
    font-weight: 600;
}

.au-btn:hover,
.lp-btn--primary:hover,
.ob-btn--primary:hover:not(:disabled) {
    background: var(--cabinet-accent-strong);
    border-color: var(--cabinet-accent-strong);
    filter: none;
    transform: none;
}

.lp-btn,
.ob-btn {
    border-radius: 8px;
}

.au-btn:focus-visible,
.lp-btn:focus-visible,
.ob-btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--cabinet-accent);
    outline-offset: 2px;
}

.au-link,
.au-form a,
.ob-link-btn {
    color: var(--cabinet-accent);
}

/* The theme button sits in the landing header instead of floating over it */
.lp-theme-flip {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--cabinet-border);
    border-radius: 8px;
    background: transparent;
    color: var(--figma-text-secondary);
    cursor: pointer;
}

.lp-theme-flip:hover {
    background: var(--cabinet-accent-soft);
}

.lp-theme-flip svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lp-theme-flip .lp-theme-flip__sun { display: none; }
html[data-theme="dark"] .lp-theme-flip .lp-theme-flip__sun { display: block; }
html[data-theme="dark"] .lp-theme-flip .lp-theme-flip__moon { display: none; }
