/**
 * Live Demos page (Template Name: Live Demos).
 *
 * Two-column layout: demonstration event listings alongside a sticky booking
 * enquiry form panel that reuses the shared .enq-* field styling from home.css.
 */

.demos-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 48px;
    align-items: start;
}

.demos-events h2 {
    margin: 34px 0 12px;
}

.demos-events h2:first-child {
    margin-top: 0;
}

.demos-events h3 {
    margin: 24px 0 4px;
}

.demos-events h5 {
    margin: 0 0 10px;
    color: var(--muted);
    font-size: .82rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.demos-events p {
    margin: 0 0 12px;
    line-height: 1.65;
}

.demos-events img {
    max-width: 100%;
    height: auto;
    margin: 8px 0 20px;
}

.demos-events a {
    color: var(--gold-text);
}

.demos-events .booking-jump {
    display: inline-block;
    margin: 4px 0 24px;
    color: #fff;
}

/* Booking form panel — reuses .enq-form / .enq-field from home.css. */
.demos-book.enq-form {
    position: sticky;
    top: 100px;
    background: var(--cream);
    padding: 34px 32px;
    border: 1px solid var(--line);
}

.demos-book__title {
    margin: 0 0 8px;
}

.demos-book__intro {
    margin: 0 0 22px;
    color: var(--muted);
    line-height: 1.6;
}

.booking-fields select {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid var(--line);
    background: #fff;
    font-family: var(--body);
    font-size: .95rem;
    color: var(--ink);
}

.booking-fields select:focus {
    outline: none;
    border-color: var(--gold-deep);
}

@media (max-width: 900px) {
    .demos-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .demos-book.enq-form {
        position: static;
    }
}
