.fnv-gate { position: relative; margin-bottom: 8px; }
.fnv-gate[hidden] { display: none; }
.fnv-gate__fade {
height: 160px;
margin-top: -160px;
position: relative;
background: linear-gradient(to bottom, transparent, var(--fnv-surface) 85%);
pointer-events: none;
}
.fnv-gate__panel {
display: grid;
grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
border: 2px solid var(--fnv-ink);
background: var(--fnv-surface);
color: var(--fnv-ink);
}
.fnv-gate__info {
padding: 28px 26px;
border-inline-end: 1px solid var(--fnv-n-300);
background: var(--fnv-surface-2);
display: flex;
flex-direction: column;
gap: 10px;
}
.fnv-gate__k {
--fnv-size-p: .8125rem;
font-weight: 800;
color: var(--fnv-ink-muted);
margin: 0;
}
.fnv-gate__title {
--fnv-size-p: 1.125rem;
font-weight: 800;
margin: 0;
}
.fnv-gate__meta {
--fnv-size-p: .875rem;
display: flex;
flex-wrap: wrap;
gap: 4px 14px;
color: var(--fnv-ink-muted);
margin: 0;
}
.fnv-gate__act {
padding: 28px 26px;
display: flex;
flex-direction: column;
}
.fnv-gate__h {
font-size: 1.5rem;
font-weight: 800;
line-height: 1.4;
margin: 0 0 8px;
}
.fnv-gate__p {
--fnv-size-p: .9375rem;
color: var(--fnv-ink-2);
margin: 0 0 18px;
}
.fnv-gate__form {
display: flex;
flex-direction: column;
gap: 8px;
}
.fnv-gate__lbl {
font-size: .875rem;
font-weight: 700;
}
.fnv-gate__in {
width: 100%;
font: inherit;
font-size: 1rem;
padding: 12px 14px;
border: 1px solid var(--fnv-ink-3);
background: var(--fnv-surface);
color: var(--fnv-ink);
text-align: start;
}
.fnv-gate__in:focus-visible { outline: 2px solid var(--fnv-ink); outline-offset: 2px; border-color: var(--fnv-ink); }
.fnv-gate__btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
font: inherit;
font-size: 1rem;
font-weight: 800;
padding: 12px 18px;
border: 2px solid var(--fnv-ink);
background: var(--fnv-ink);
color: var(--fnv-surface);
text-decoration: none;
cursor: pointer;
transition: background-color .15s ease-out, color .15s ease-out;
}
.fnv-gate__btn:hover,
.fnv-gate__btn:focus-visible { background: var(--fnv-surface); color: var(--fnv-ink); }
.fnv-gate__btn:focus-visible { outline: 2px solid var(--fnv-ink); outline-offset: 2px; }
.fnv-gate__btn:disabled { cursor: progress; }
.fnv-gate__err {
--fnv-size-p: .875rem;
font-weight: 700;
color: var(--fnv-danger);
margin: 2px 0 0;
}
.fnv-gate__or {
--fnv-size-p: .8125rem;
display: flex;
align-items: center;
gap: 12px;
color: var(--fnv-ink-muted);
margin: 16px 0 12px;
}
.fnv-gate__or::before,
.fnv-gate__or::after {
content: '';
flex: 1;
height: 1px;
background: var(--fnv-n-300);
}
.fnv-gate__alt {
align-self: flex-start;
font-size: .9375rem;
font-weight: 700;
color: var(--fnv-ink);
text-decoration: underline;
text-underline-offset: 5px;
}
.fnv-gate__fine {
--fnv-size-p: .8125rem;
color: var(--fnv-ink-muted);
margin: 14px 0 0;
}
@media (max-width: 767.98px) {
.fnv-gate__panel { grid-template-columns: minmax(0, 1fr); }
.fnv-gate__info { border-inline-end: 0; border-bottom: 1px solid var(--fnv-n-300); padding: 20px 18px; }
.fnv-gate__act { padding: 20px 18px; }
.fnv-gate__h { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
.fnv-gate__btn { transition: none; }
}
