.g86-form,
.g86-success,
.g86-donation,
.g86-photo-upload,
.g86-privacy-policy {
    background: #fff;
    border: 1px solid #e4d097;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    margin: 1.5rem 0;
    padding: 1.25rem;
}

.g86-form label {
    display: block;
    font-weight: 700;
    margin: 0 0 1rem;
}

.g86-form input,
.g86-form select,
.g86-form textarea {
    border: 1px solid #b9a25f;
    border-radius: 8px;
    display: block;
    font: inherit;
    margin-top: .35rem;
    max-width: 100%;
    padding: .7rem .8rem;
    width: 100%;
}

.g86-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.g86-full,
.g86-select-row {
    grid-column: 1 / -1;
}

.g86-button,
.g86-form button {
    background: #e7b529;
    border: 2px solid #111;
    border-radius: 999px;
    color: #111;
    cursor: pointer;
    display: inline-block;
    font-weight: 800;
    padding: .8rem 1.2rem;
    text-decoration: none;
}

.g86-button:hover,
.g86-form button:hover {
    filter: brightness(.94);
}

.g86-checkbox {
    align-items: flex-start;
    display: flex !important;
    gap: .5rem;
    font-weight: 500 !important;
}

.g86-checkbox input {
    margin-top: .25rem;
    width: auto;
}

.g86-total {
    font-size: 1.25rem;
}

.g86-turnstile-missing,
.g86-notice,
.g86-error {
    background: #fff8dc;
    border-left: 4px solid #e7b529;
    margin: 1rem 0;
    padding: .75rem 1rem;
}

.g86-error {
    background: #ffeaea;
    border-left-color: #b00020;
}

.g86-success {
    border-color: #228b22;
}

.g86-rotator {
    background: #050505;
    border: 3px solid #dcae2d;
    border-radius: 18px;
    margin: 0 0 2rem;
    overflow: hidden;
    position: relative;
}

.g86-slide {
    inset: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .8s ease-in-out;
}

.g86-slide:first-child,
.g86-slide.is-active {
    opacity: 1;
    position: relative;
}

.g86-slide img {
    display: block;
    height: auto;
    width: 100%;
}

.g86-slide figcaption {
    background: linear-gradient(transparent, rgba(0,0,0,.78));
    bottom: 0;
    color: #fff;
    font-size: clamp(1.2rem, 3vw, 2rem);
    font-weight: 800;
    left: 0;
    padding: 4rem 1.5rem 1.25rem;
    position: absolute;
    right: 0;
}

.g86-whos-coming {
    columns: 2;
    list-style: square;
}

.g86-payment-options {
    display: grid;
    gap: 1rem;
}

.g86-payment-qr {
    border: 1px solid #ddd;
    border-radius: 10px;
    max-width: 220px;
}

.g86-photo-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    margin-top: 1rem;
}

.g86-photo-card {
    border: 1px solid #ddd;
    border-radius: 12px;
    overflow: hidden;
    padding: .75rem;
    position: relative;
}

.g86-photo-card img {
    background: #111;
    border-radius: 8px;
    height: 120px;
    object-fit: cover;
    width: 100%;
}

.g86-photo-trash {
    background: #fff;
    border: 1px solid #999;
    border-radius: 999px;
    cursor: pointer;
    position: absolute;
    right: .5rem;
    top: .5rem;
}

.g86-photo-card.is-done {
    border-color: #228b22;
}

.g86-photo-card.is-error {
    border-color: #b00020;
}

@media (max-width: 720px) {
    .g86-grid {
        grid-template-columns: 1fr;
    }
    .g86-whos-coming {
        columns: 1;
    }
    .g86-rotator .g86-slide:not(:first-child) {
        display: none;
    }
}
