/*
 * The landing page on the platform home host (platform/landing.php), on theme.css's variables: white sheets on the cool
 * desk, inked in Roomday's fixed navy (--accent). The navy is the product's colour, never an account's; it fills only
 * the primary button (white text on --accent-strong, about 15:1) and otherwise shows as edge lines and link text. No account colour
 * appears here. Single column from 375px up, no horizontal scroll.
 */

.ld {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    line-height: 1.55;
    overflow-wrap: break-word;
}

.ld *,
.ld *::before,
.ld *::after {
    box-sizing: border-box;
}

.ld-wrap {
    width: 100%;
    max-width: 68rem;
    margin: 0 auto;
    padding: 0 16px;
}

.ld a {
    color: var(--accent-strong);
    text-underline-offset: 2px;
}

.ld a:hover {
    color: var(--ink);
}

.ld a:focus-visible,
.ld button:focus-visible,
.ld input:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* ---------- Bar ---------- */

.ld-bar {
    background: var(--sheet);
    border-bottom: 1px solid var(--rule);
}

.ld-bar-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 56px;
}

.ld .ld-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: .01em;
    text-decoration: none;
}

/* The mark: a navy room outline with a door gap, a line drawing rather than a fill. */
.ld-brand::before {
    content: "";
    width: 20px;
    height: 20px;
    border: 3px solid var(--accent);
    border-right-color: transparent;
    border-radius: 4px;
}

.ld .ld-lang {
    font-size: .95rem;
    font-weight: 500;
    padding: 6px 2px;
}

/* ---------- Alert (a /go that found nothing) ---------- */

.ld-alert {
    margin: 24px 0 0;
    padding: 12px 16px;
    background: var(--sheet);
    border: 1px solid var(--rule);
    border-left: 4px solid var(--stop);
    border-radius: var(--r-control);
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
}

/* ---------- Hero ---------- */

.ld-hero {
    padding: 48px 0 32px;
    max-width: 44rem;
}

.ld-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.6rem);
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--ink);
}

.ld-lead {
    margin: 0;
    font-size: 1.1rem;
    color: var(--ink-2);
}

/* ---------- The three points ---------- */

.ld-points {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: 16px;
}

.ld-point,
.ld-panel {
    background: var(--sheet);
    border: 1px solid var(--rule);
    border-radius: var(--r-panel);
    padding: 20px;
}

.ld-point {
    border-top: 3px solid var(--accent);
}

.ld h2 {
    margin: 0 0 8px;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
}

.ld-point p {
    margin: 0 0 8px;
    color: var(--ink-2);
}

.ld-point p:last-child {
    margin-bottom: 0;
}

/* ---------- Open your facility, your accounts ---------- */

.ld-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: 16px;
    margin: 32px 0 48px;
    align-items: start;
}

.ld-go label {
    display: block;
    margin: 0 0 6px;
    font-weight: 500;
}

.ld-field {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* The input and the base domain read as one address: pcut.roomday.app. */
.ld-input {
    flex: 1 1 14rem;
    min-width: 0;
    display: flex;
    align-items: center;
    background: var(--sheet);
    border: 1px solid var(--field-border);
    border-radius: var(--r-control);
}

.ld-input:focus-within {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

.ld-input input {
    /* Basis 0: the input takes only the room the suffix leaves, so the suffix always shows in full. */
    flex: 1 1 0;
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 10px 4px 10px 12px;
    font: inherit;
    /* 16px: a smaller field makes iOS Safari zoom in on focus. */
    font-size: 16px;
    color: var(--ink);
}

.ld-input input:focus-visible {
    outline: none;
}

.ld-input input[aria-invalid="true"] + .ld-suffix {
    color: var(--stop);
}

.ld-suffix {
    flex: 0 0 auto;
    padding: 0 12px 0 0;
    color: var(--ink-2);
    white-space: nowrap;
}

.ld-go button {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 22px;
    border: 1px solid var(--accent-strong);
    border-radius: var(--r-control);
    background: var(--accent-strong);
    color: #FFFFFF;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ld-go button:hover {
    background: var(--ink);
    border-color: var(--ink);
}

.ld-hint {
    margin: 8px 0 0;
    font-size: .92rem;
    color: var(--ink-2);
}

.ld-error {
    margin: 8px 0 0;
    padding-left: 10px;
    border-left: 3px solid var(--stop);
    color: var(--ink);
    font-size: .95rem;
}

.ld-accounts {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    border-top: 1px solid var(--rule-soft);
}

.ld-accounts li {
    border-bottom: 1px solid var(--rule-soft);
}

.ld-accounts a {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2px 16px;
    padding: 10px 0;
    text-decoration: none;
}

.ld-accounts a:hover .ld-account-name {
    text-decoration: underline;
}

.ld-account-name {
    font-weight: 500;
    min-width: 0;
}

.ld-account-host {
    color: var(--ink-2);
    font-size: .92rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ld-console {
    margin: 16px 0 0;
    font-weight: 500;
}

/* ---------- Footer ---------- */

.ld-foot {
    margin-top: auto;
    background: var(--sheet);
    border-top: 1px solid var(--rule);
    color: var(--ink-2);
    font-size: .92rem;
}

.ld-foot-in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 24px;
    padding-top: 16px;
    padding-bottom: 16px;
}

@media (max-width: 480px) {
    .ld-hero {
        padding: 32px 0 24px;
    }

    .ld-go button {
        flex: 1 1 100%;
    }
}
