.event-presentation {
    --event-paper: #faf8f1;
    --event-panel: #fffdf9;
    --event-ink: #20312a;
    --event-muted: #53655b;
    --event-green: #15543f;
    --event-on-green: #fffdf8;
    --event-soft: #edf3e9;
    --event-border: #d9ded3;
}

:is(.dark, [data-theme="dark"]) .event-presentation {
    --event-paper: #191f1c;
    --event-panel: #212a24;
    --event-ink: #f8f4e8;
    --event-muted: #b7c5bb;
    --event-green: #a5ddbd;
    --event-on-green: #0d2e22;
    --event-soft: #283d32;
    --event-border: #46554b;
}

.event-presentation-cover {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-start;
    min-block-size: clamp(11rem, 29vw, 20rem);
    overflow: hidden;
    border-radius: 1.15rem;
    background:
        radial-gradient(ellipse at 90% 95%, #c28b4d 0, #36634b 29%, transparent 62%),
        linear-gradient(135deg, #122d27, #154a3a);
    color: #fff9ee;
}

.event-presentation-cover--art::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, #121e1deb, #18242480 56%, transparent 92%);
    pointer-events: none;
}

.event-presentation-cover .event-presentation-cover__image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.event-presentation-cover__copy {
    width: min(100%, 52rem);
    padding: clamp(1.05rem, 4vw, 2.3rem);
    overflow-wrap: anywhere;
}

.event-presentation-cover__copy .event-presentation-cover__eyebrow {
    margin: 0 0 .5rem;
    color: #ffe4bb;
    font-size: .875rem;
    font-weight: 650;
}

.event-presentation-cover__copy .event-presentation-cover__title {
    margin: 0;
    max-width: 22ch;
    color: #fff9ee;
    font: 500 clamp(2rem, 5.1vw, 3.65rem)/1.08 Georgia, serif;
    letter-spacing: -.022em;
}

.event-presentation :is(.event-primary, .event-back) {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 44px;
    padding: .65rem 1.05rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 1px solid var(--event-green);
    border-radius: .7rem;
    background: var(--event-green);
    color: var(--event-on-green);
    font: inherit;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

.event-presentation .event-back {
    margin-bottom: .85rem;
    border-color: var(--event-border);
    background: var(--event-paper);
    color: var(--event-green);
}

.event-presentation :is(button, a, input, label):focus-visible,
.event-rsvp__choice:focus-within {
    outline: 2px solid var(--event-green);
    outline-offset: 3px;
}

.event-rsvp.event-presentation { max-width: 48rem; color: var(--event-ink); }
.event-rsvp .event-rsvp__details { margin: .85rem 0 1.1rem; padding-inline: .2rem; }
.event-rsvp__details p { margin: .25rem 0; overflow-wrap: anywhere; }
.event-rsvp__venue { font-weight: 700; }
.event-rsvp__details .event-rsvp__deadline { color: var(--event-muted); }

.event-rsvp .event-rsvp__card {
    padding: clamp(1rem, 4vw, 1.55rem);
    border: 1px solid var(--event-border);
    border-radius: 1.05rem;
    background: var(--event-panel);
    color: var(--event-ink);
}

.event-rsvp__card .event-rsvp__form-title {
    margin: 0 0 .55rem;
    color: var(--event-ink);
    font-size: clamp(1.35rem, 4vw, 1.65rem);
}

.event-rsvp__card .help { color: var(--event-muted); }
.event-rsvp__card :is(input:not([type="radio"], [type="checkbox"]), select, textarea) {
    border-color: var(--event-border);
    background: var(--event-panel);
    color: var(--event-ink);
}

.event-rsvp .event-rsvp__state {
    margin-block: .85rem;
    padding: .75rem 1rem;
    border-radius: .6rem;
    background: var(--event-soft);
    color: var(--event-ink);
}

.event-rsvp__choices { min-width: 0; margin: 0 0 1rem; padding: 0; border: 0; }
.event-rsvp__choices legend { margin-bottom: .55rem; padding: 0; font-weight: 700; }
.event-rsvp__choices-row { display: flex; flex-wrap: wrap; gap: .6rem; }

.event-rsvp__choice {
    display: flex;
    flex: 1 1 9rem;
    align-items: center;
    gap: .65rem;
    min-height: 46px;
    margin: 0;
    padding: .6rem .8rem;
    border: 1px solid var(--event-border);
    border-radius: .7rem;
    font-weight: 650;
}

.event-rsvp__card .event-rsvp__choice input {
    flex: none;
    width: 1.1rem;
    min-height: 0;
    margin: 0;
    accent-color: var(--event-green);
}

.event-rsvp__choice:has(input:checked) { border-color: var(--event-green); background: var(--event-soft); }

.event-rsvp__contact {
    display: flex;
    width: fit-content;
    align-items: flex-start;
    gap: .4rem;
    font-weight: 500;
}

.event-rsvp__contact input { flex: none; accent-color: var(--event-green); }
.event-rsvp__card .event-primary { margin-top: .85rem; }

@supports selector(form:has(input:checked)) {
    .event-rsvp__response:not(:has(input[value="accepted"]:checked)) .event-rsvp__attendance { display: none; }
}

.event-setup-preview {
    margin-block: .75rem 1.05rem;
    border: 1px solid var(--event-border);
    border-radius: 1.15rem;
    background: var(--event-panel);
    color: var(--event-ink);
}

.event-setup-preview .event-presentation-cover { min-block-size: 12rem; }
.event-setup-preview .event-presentation-cover__title { font-size: clamp(1.85rem, 4vw, 2.8rem); }
.event-setup-preview__body { display: grid; gap: .45rem; padding: .85rem 1rem; overflow-wrap: anywhere; }
.event-setup-preview__body :is(p, h3) { margin: 0; }
.event-setup-preview__body small { color: var(--event-muted); }
.event-setup-session-list { display: grid; gap: .55rem; list-style: none; padding: 0; }
.event-setup-session-list li { padding: .65rem .75rem; border-radius: .65rem; background: var(--event-soft); }
.event-setup-session-list li strong { display: block; }

.event-publish-dialog {
    width: min(28rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    margin: auto;
    padding: 1.25rem;
    border: 1px solid var(--event-border);
    border-radius: 1rem;
    background: var(--event-panel);
    color: var(--event-ink);
}
.event-publish-dialog::backdrop { background: #0e231bb5; }
.event-publish-dialog h2 { margin: 0 0 .45rem; font-weight: 750; font-size: 1.25rem; }
.event-publish-dialog p { margin: 0; color: var(--event-muted); }
.event-publish-dialog__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; margin-top: 1rem; }

.event-detail-presentation .ev-main-img { height: auto; min-block-size: clamp(16rem, 36vw, 28rem); }
.event-detail-presentation .ev-info { border: 1px solid var(--event-border); background: var(--event-paper); color: var(--event-ink); }
.event-detail-presentation .ev-description,
.event-detail-presentation .ev-rating,
.event-detail-presentation .ev-icon-item { color: var(--event-muted); }
.event-detail-presentation .ev-img-actions { top: auto; bottom: .75rem; right: .75rem; z-index: 1; }
.event-detail-presentation .event-presentation-cover__copy { padding-block-end: 4.35rem; }
.event-detail-presentation .ev-hero { align-items: start; }
.event-detail-presentation .ev-icon-list { gap: .6rem; margin-bottom: 1rem; }
.event-detail-presentation .event-primary { width: 100%; text-align: center; }

.event-ticket-picker .event-session-days { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .8rem; }
.event-ticket-picker :is(.date-pill, .time-slot) {
    min-height: 44px;
    padding: .55rem .75rem;
    border: 1px solid var(--event-border);
    border-radius: .7rem;
    background: var(--event-panel);
    color: var(--event-ink);
    font: inherit;
    font-weight: 650;
    text-align: center;
    cursor: pointer;
}
.event-ticket-picker :is(.date-pill, .time-slot)[aria-pressed="true"] {
    border-color: var(--event-green);
    background: var(--event-soft);
    color: var(--event-green);
}
.event-ticket-picker .time-slots-group:not([hidden]) { display: flex; gap: .5rem; flex-wrap: wrap; }
.event-ticket-picker .time-slots-group[hidden] { display: none; }
.event-ticket-picker .time-slot small { display: block; }
.event-ticket-picker .event-session-choice { margin: 0 0 1rem; color: var(--event-muted); }
.event-ticket-picker .compact-ticket.ticket-card {
    border-color: var(--event-border);
    background: var(--event-panel);
    color: var(--event-ink);
}
.event-ticket-picker .compact-ticket-description { color: var(--event-muted); }
.event-ticket-picker .ticket-continue { background: var(--event-green); color: var(--event-on-green); }
.event-ticket-picker .booking-steps strong { color: var(--event-green); }
.event-browse-presentation .hotel-list-card {
    border: 1px solid var(--event-border);
    background: var(--event-panel);
    color: var(--event-ink);
}
.event-browse-presentation .hotel-list-content .book-now {
    border-color: var(--event-green);
    background: var(--event-green);
    color: var(--event-on-green);
}
.event-browse-presentation .hotel-list-content .event-list-title { color: var(--event-ink); }
.event-browse-presentation .price-action { flex-wrap: wrap; gap: .65rem; }

@media (max-width: 575px) {
    .event-detail-presentation .ev-hero { gap: .85rem; margin-bottom: 1.5rem; }
    .event-detail-presentation .ev-info { padding: 1rem; }
    .event-detail-presentation .event-presentation-cover__copy { padding: 1.05rem 1.05rem 4.35rem; }
    .event-rsvp .event-primary { width: 100%; }
}
