/* Event-specific overrides for the Jetdraft Automation Workshop page.
   The page reuses the launch-site design system (launch-body, launch-hero,
   launch-section, launch-card, launch-button). This file adds the few
   patterns that are unique to the event page. */

/* --------------------------------------------------------------------------
   Smooth anchor scrolling with offset for the sticky navbar (shared by all
   versions; v4/v5 redeclare identical values)
   -------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 72px;
}

/* The app-global `main {}` rule constrains content to a centered 1136px column.
   Event pages use full-bleed sections (each with its own .ev3-shell for content),
   so reset that constraint to let hero/section backgrounds span the viewport. */
.event-main {
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* --------------------------------------------------------------------------
   Navbar
   -------------------------------------------------------------------------- */
.event-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    background: rgba(28, 31, 36, 0.72);
    border-bottom: 1px solid var(--launch-border);
}

.event-nav__inner {
    align-items: center;
    display: grid;
    gap: var(--launch-space-5);
    grid-template-columns: 1fr auto 1fr;
    min-height: 64px;
    padding: 0 var(--launch-space-6);
}

.event-nav__brand {
    align-items: center;
    color: var(--launch-text);
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 600;
    gap: 10px;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.event-nav__brand-mark {
    display: block;
}

.event-nav__links {
    align-items: center;
    display: flex;
    gap: 28px;
    justify-self: center;
}

.event-nav__links a {
    color: var(--launch-text-muted);
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 180ms var(--launch-ease);
}

.event-nav__links a:hover {
    color: var(--launch-text);
}

.event-nav__cta {
    justify-self: end;
}

/* Mobile hamburger toggle (hidden on desktop) */
.event-nav__toggle {
    align-items: center;
    background: transparent;
    border: none;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 5px;
    height: 40px;
    justify-content: center;
    justify-self: end;
    padding: 0;
    width: 40px;
}

.event-nav__toggle-bar {
    background: #111827;
    border-radius: 2px;
    display: block;
    height: 2px;
    transition: transform 180ms ease, opacity 180ms ease;
    width: 20px;
}

.event-nav__toggle[aria-expanded="true"] .event-nav__toggle-bar {
    background: #111827;
}

.event-nav__toggle[aria-expanded="true"] .event-nav__toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.event-nav__toggle[aria-expanded="true"] .event-nav__toggle-bar:nth-child(2) {
    opacity: 0;
}

.event-nav__toggle[aria-expanded="true"] .event-nav__toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile menu panel (hidden until toggled, never shown on desktop) */
.event-nav__mobile {
    background: #fff;
    border-bottom: 1px solid #E5E7EB;
    display: none;
    flex-direction: column;
    padding: 8px 20px 16px;
}

.event-nav__mobile.is-open {
    display: flex;
}

.event-nav__mobile a:not(.event-button) {
    color: #374151;
    font-size: 1rem;
    font-weight: 500;
    padding: 14px 0;
    text-decoration: none;
    border-bottom: 1px solid #F3F4F6;
    transition: color 180ms ease;
}

.event-nav__mobile a:not(.event-button):hover {
    color: #111827;
}

.event-nav__mobile a:not(.event-button):last-of-type {
    border-bottom: none;
}

.event-nav__mobile .event-button {
    margin-top: 12px;
    width: 100%;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .event-nav__mobile,
    .event-nav__toggle {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .event-nav__inner {
        grid-template-columns: 1fr auto;
    }

    .event-nav__links,
    .event-nav__cta {
        display: none;
    }

    .event-nav__brand {
        justify-self: start;
    }

    .event-nav__toggle {
        display: inline-flex;
    }
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.launch-hero .launch-hero__inner {
    align-items: center;
    display: grid;
    gap: var(--launch-space-12);
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
    padding-bottom: var(--launch-space-16);
    padding-top: var(--launch-space-16);
}

.event-hero-photo {
    border-radius: var(--launch-radius-lg);
    overflow: hidden;
}

.event-hero-photo__img {
    border-radius: var(--launch-radius-lg);
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.event-hero-photo__placeholder {
    aspect-ratio: 16/10;
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--launch-radius-lg);
}

/* Hero photo stack (Pinecone style) */
.event-photo-stack {
    height: 420px;
    position: relative;
}

.event-photo-stack__img {
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--launch-radius-md);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
    height: 200px;
    object-fit: cover;
    position: absolute;
    transition: transform 240ms var(--launch-ease), box-shadow 240ms var(--launch-ease);
    width: 280px;
}

.event-photo-stack__img--1 {
    left: 0;
    top: 0;
    transform: rotate(-3deg);
    z-index: 3;
}

.event-photo-stack__img--2 {
    right: 0;
    top: 60px;
    transform: rotate(2deg);
    z-index: 2;
}

.event-photo-stack__img--3 {
    bottom: 0;
    left: 40px;
    transform: rotate(-1deg);
    z-index: 1;
}

.event-photo-stack:hover .event-photo-stack__img--1 {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: rotate(-5deg) translateY(-4px);
}

.event-photo-stack:hover .event-photo-stack__img--2 {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: rotate(4deg) translateY(-4px);
}

.event-photo-stack:hover .event-photo-stack__img--3 {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: rotate(-2deg) translateY(-4px);
}

@media (max-width: 980px) {
    .launch-hero .launch-hero__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .event-hero__meta {
        justify-content: center;
    }

    .launch-hero__copy h1 {
        margin-left: auto;
        margin-right: auto;
    }

    .launch-hero__copy .launch-hero__lede {
        margin-left: auto;
        margin-right: auto;
    }

    .event-hero-photo {
        max-width: 560px;
        margin: 0 auto;
    }

    .event-hero-photo-stack {
        max-width: 360px;
        margin: 0 auto;
    }

    .event-photo-stack {
        height: 320px;
    }

    .event-photo-stack__img {
        height: 160px;
        width: 220px;
    }
}

/* --------------------------------------------------------------------------
   Photo grid (Past Workshops)
   -------------------------------------------------------------------------- */
.event-photo-grid {
    display: grid;
    gap: var(--launch-space-4);
    grid-template-columns: repeat(2, 1fr);
}

.event-photo-grid__item {
    border-radius: var(--launch-radius-md);
    overflow: hidden;
}

.event-photo-grid__img {
    border-radius: var(--launch-radius-md);
    display: block;
    height: auto;
    object-fit: cover;
    transition: transform 240ms var(--launch-ease);
    width: 100%;
}

.event-photo-grid__item:hover .event-photo-grid__img {
    transform: scale(1.03);
}

@media (max-width: 600px) {
    .event-photo-grid {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
   Hero meta pills
   -------------------------------------------------------------------------- */
.event-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: var(--launch-space-5) 0 var(--launch-space-6);
}

.event-meta-pill {
    align-items: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--launch-border);
    border-radius: 999px;
    color: var(--launch-text-muted);
    display: inline-flex;
    font-size: 0.85rem;
    font-weight: 500;
    gap: 6px;
    padding: 6px 12px;
}

.event-hero__actions {
    margin-top: var(--launch-space-6);
}

/* --------------------------------------------------------------------------
   Section headings
   -------------------------------------------------------------------------- */
.launch-section-heading--centered h2 {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: var(--launch-space-3);
}

.launch-section-heading--centered p {
    color: var(--launch-text-muted);
    font-size: 1.05rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 54ch;
}

/* --------------------------------------------------------------------------
   Modules
   -------------------------------------------------------------------------- */
.event-module-card {
    display: flex;
    flex-direction: column;
    gap: var(--launch-space-3);
    padding: var(--launch-space-6);
}

.event-module-card__number {
    align-items: center;
    background: rgba(79, 70, 229, 0.14);
    border: 1px solid rgba(79, 70, 229, 0.25);
    border-radius: 999px;
    color: #8CA1ED;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 700;
    height: 32px;
    justify-content: center;
    letter-spacing: 0.04em;
    width: 32px;
}

.event-module-card h3 {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0;
}

.event-module-card p {
    color: var(--launch-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
}

/* --------------------------------------------------------------------------
   Agenda
   -------------------------------------------------------------------------- */
.event-agenda {
    display: flex;
    flex-direction: column;
    gap: var(--launch-space-3);
    margin: 0 auto;
    max-width: 720px;
}

.event-agenda__item {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--launch-border);
    border-radius: var(--launch-radius-md);
    display: grid;
    gap: var(--launch-space-5);
    grid-template-columns: 90px 1fr;
    padding: var(--launch-space-5);
    transition: background 180ms var(--launch-ease), border-color 180ms var(--launch-ease);
}

.event-agenda__item:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--launch-border-strong);
}

.event-agenda__time {
    color: #8CA1ED;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-top: 2px;
}

.event-agenda__content h3 {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 4px;
}

.event-agenda__content p {
    color: var(--launch-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 600px) {
    .event-agenda__item {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* --------------------------------------------------------------------------
   Host
   -------------------------------------------------------------------------- */
.event-host {
    display: flex;
    justify-content: center;
}

.event-host-card {
    align-items: center;
    display: flex;
    gap: var(--launch-space-6);
    max-width: 720px;
    padding: var(--launch-space-6);
    width: 100%;
}

.event-host-card__avatar {
    border-radius: 999px;
    flex-shrink: 0;
    height: 140px;
    object-fit: cover;
    width: 140px;
}

.event-host-card__info h3 {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 var(--launch-space-1);
}

.event-host-card__role {
    color: var(--launch-text);
    font-size: 1rem;
    font-weight: 500;
    margin: 0 0 2px;
}

.event-host-card__company {
    color: #8CA1ED;
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 var(--launch-space-3);
}

.event-host-card__info > p:last-child {
    color: var(--launch-text-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 600px) {
    .event-host-card {
        flex-direction: column;
        text-align: center;
    }
}

/* --------------------------------------------------------------------------
   Pricing
   -------------------------------------------------------------------------- */
.event-pricing {
    display: grid;
    gap: var(--launch-space-4);
    grid-template-columns: repeat(2, minmax(0, 360px));
    justify-content: center;
}

.event-pricing-card {
    display: flex;
    flex-direction: column;
    padding: var(--launch-space-8);
    position: relative;
}

.event-pricing-card:not(.event-pricing-card--featured) {
    opacity: 0.75;
}

.event-pricing-card--featured {
    background: radial-gradient(140% 120% at 50% 0%, rgba(79, 70, 229, 0.18), rgba(255, 255, 255, 0.03));
    border-color: rgba(79, 70, 229, 0.35);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
    opacity: 1;
}

.event-pricing-card__badge {
    align-self: flex-end;
    background: rgba(79, 70, 229, 0.18);
    border: 1px solid rgba(79, 70, 229, 0.35);
    border-radius: 999px;
    color: #b3c2f4;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 4px 8px;
    position: absolute;
    right: var(--launch-space-5);
    text-transform: uppercase;
    top: var(--launch-space-5);
}

.event-pricing-card__header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 4px;
}

.event-pricing-card__header p {
    color: var(--launch-text-muted);
    font-size: 0.95rem;
    margin: 0 0 var(--launch-space-5);
}

.event-pricing-card__price {
    color: var(--launch-text);
    font-size: clamp(2.25rem, 4vw, 3.25rem);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
}

.event-pricing-card__period {
    color: var(--launch-text-soft);
    font-size: 0.9rem;
    margin-bottom: var(--launch-space-5);
}

.event-pricing-card__features {
    border-top: 1px solid var(--launch-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    margin: 0 0 var(--launch-space-6);
    padding: var(--launch-space-5) 0 0;
}

.event-pricing-card__features li {
    color: var(--launch-text-muted);
    font-size: 0.95rem;
    padding-left: 24px;
    position: relative;
}

.event-pricing-card__features li::before {
    color: #8CA1ED;
    content: '✓';
    font-weight: 700;
    left: 0;
    position: absolute;
}

.event-pricing-card__disclaimer {
    color: var(--launch-text-soft);
    font-size: 0.8rem;
    margin: var(--launch-space-3) 0 0;
    text-align: center;
}

@media (max-width: 760px) {
    .event-pricing {
        grid-template-columns: 1fr;
    }

    .event-pricing-card {
        max-width: 420px;
    }
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */
.event-faq-shell {
    max-width: 760px;
}

.event-faq {
    display: flex;
    flex-direction: column;
    gap: var(--launch-space-3);
}

.event-faq__item {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 0;
    transition: border-color 180ms ease;
}

.event-faq__item[open] {
    border-color: #C7D2FE;
}

.event-faq__question {
    align-items: center;
    color: #111827;
    cursor: pointer;
    display: flex;
    font-size: 1rem;
    font-weight: 600;
    justify-content: space-between;
    gap: 16px;
    letter-spacing: -0.01em;
    list-style: none;
    padding: 18px 20px;
    user-select: none;
}

.event-faq__question::-webkit-details-marker {
    display: none;
}

.event-faq__chevron {
    color: #9CA3AF;
    flex-shrink: 0;
    transition: transform 200ms ease, color 200ms ease;
}

.event-faq__item[open] .event-faq__chevron {
    transform: rotate(180deg);
    color: #4F46E5;
}

.event-faq__answer {
    color: #4B5563;
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
    padding: 0 20px 18px;
}

/* --------------------------------------------------------------------------
   Registration form
   -------------------------------------------------------------------------- */
.event-register-section {
    padding-bottom: var(--launch-space-20);
}

.event-register-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 auto;
    max-width: 480px;
    width: 100%;
}

.event-form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.event-form-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.event-form-row--half {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.event-form-label {
    color: #374151;
    font-size: 0.875rem;
    font-weight: 500;
    display: block;
}

.event-form-input,
.event-form-select,
.event-form-textarea {
    background: #fff;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #111827;
    font-family: inherit;
    font-size: 1rem;
    padding: 12px 14px;
    transition: border-color 180ms ease, box-shadow 180ms ease;
    width: 100%;
    box-sizing: border-box;
    display: block;
}

.event-form-input:focus,
.event-form-select:focus,
.event-form-textarea:focus {
    border-color: #4F46E5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
    outline: none;
}

.event-form-input::placeholder,
.event-form-textarea::placeholder {
    color: #9CA3AF;
}

.event-form-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 14px center;
    background-repeat: no-repeat;
}

.event-form-error {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: 8px;
    color: #DC2626;
    font-size: 0.9rem;
    padding: 12px 14px;
}

.event-form-field-error {
    color: #DC2626;
    display: none;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-top: 2px;
}

.event-form-input[aria-invalid="true"] + .event-form-field-error {
    display: block;
}

.event-form-input[aria-invalid="true"] {
    border-color: #EF4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.event-form-optional {
    margin-top: 4px;
}

.event-form-optional__toggle {
    cursor: pointer;
    font-size: 0.875rem;
    color: #6B7280;
    font-weight: 500;
    padding: 8px 0;
    list-style: none;
    user-select: none;
}

.event-form-optional__toggle::-webkit-details-marker {
    display: none;
}

.event-form-optional__toggle::before {
    content: '+ ';
    font-weight: 600;
    color: #4F46E5;
}

.event-form-optional[open] .event-form-optional__toggle::before {
    content: '− ';
}

.event-form-optional__fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 8px;
}

.event-register-submit-btn {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 0 24px;
    border: none;
    border-radius: 10px;
    background: #4F46E5;
    color: #fff;
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 180ms ease;
    box-sizing: border-box;
}

.event-register-submit-btn:hover {
    background: #4338CA;
}

.event-register-submit-btn__price {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    padding: 2px 10px;
    font-size: 0.95rem;
    font-weight: 500;
}

.event-form-fineprint {
    color: #9CA3AF;
    font-size: 0.75rem;
    line-height: 1.5;
    margin: 0;
    text-align: center;
}

.event-form-note {
    color: #9CA3AF;
    font-size: 0.8rem;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 600px) {
    .event-register-form {
        gap: 14px;
    }

    .event-form-input,
    .event-form-textarea {
        font-size: 16px;
        padding: 14px 16px;
    }

    .event-register-submit-btn {
        min-height: 54px;
        font-size: 1.1rem;
    }
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.event-footer {
    background: var(--launch-bg);
    border-top: 1px solid var(--launch-border);
    display: block;
    padding: var(--launch-space-12) 0 var(--launch-space-6);
}

.event-footer__inner {
    align-items: start;
    display: grid;
    gap: var(--launch-space-8);
    grid-template-columns: 1.5fr repeat(3, 1fr);
    margin: 0 auto;
    max-width: var(--launch-shell-width);
    padding: 0 var(--launch-space-6);
}

.event-footer__columns {
    display: contents;
}

.event-footer__summary {
    display: flex;
    flex-direction: column;
    gap: var(--launch-space-4);
    max-width: 320px;
}

.event-footer__brand {
    align-items: center;
    color: var(--launch-text);
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 600;
    gap: 10px;
    text-decoration: none;
}

.event-footer__brand-mark {
    display: block;
}

.event-footer__summary p {
    color: var(--launch-text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0;
}

.event-footer__column h2,
.event-footer__column h4 {
    color: var(--launch-text);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0 0 var(--launch-space-3);
    text-transform: uppercase;
}

.event-footer__column ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.event-footer__column a {
    color: var(--launch-text-muted);
    font-size: 0.9rem;
    text-decoration: none;
    transition: color 180ms var(--launch-ease);
}

.event-footer__column a:hover {
    color: var(--launch-text);
}

.event-footer__legal {
    border-top: 1px solid var(--launch-border);
    margin-top: var(--launch-space-10);
    padding-top: var(--launch-space-5);
}

.event-footer__legal-inner {
    align-items: center;
    color: var(--launch-text-soft);
    display: flex;
    font-size: 0.85rem;
    gap: var(--launch-space-6);
    justify-content: space-between;
    margin: 0 auto;
    max-width: var(--launch-shell-width);
    padding: 0 var(--launch-space-6);
}

.event-footer__legal-links {
    display: flex;
    flex: 0 0 auto;
    gap: var(--launch-space-5);
    white-space: nowrap;
}

@media (max-width: 980px) {
    .event-footer__inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .event-footer__inner {
        grid-template-columns: 1fr;
    }

    .event-footer__legal-inner {
        flex-direction: column;
        text-align: center;
    }
}

/* --------------------------------------------------------------------------
   Event buttons (shared base — mirrors .launch-button--primary)
   Version stylesheets load after this file, so v4/v5 overrides still win.
   -------------------------------------------------------------------------- */
.event-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--launch-radius-sm);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    gap: var(--launch-space-2);
    justify-content: center;
    line-height: 1;
    min-height: var(--launch-space-12);
    padding: 0 var(--launch-space-5);
    text-decoration: none;
    transition: background 180ms var(--launch-ease), box-shadow 180ms var(--launch-ease), border-color 180ms var(--launch-ease);
}

.event-button--primary {
    background: #4F46E5;
    border-color: rgba(79, 70, 229, 0.5);
    box-shadow: 0 0 0 rgba(99, 102, 241, 0);
    color: #ffffff;
}

.event-button--primary:hover {
    background: #4338CA;
    box-shadow: 0 0 24px rgba(99, 102, 241, 0.35);
}

.event-button--block {
    display: flex;
    width: 100%;
}

/* Compact navbar CTA — kept at single-class specificity and placed after the
   button rules so it wins over .event-button within this file, while letting
   the later-loaded v5 stylesheet keep its own (larger) nav CTA sizing. */
.event-nav__cta {
    font-size: 0.9rem;
    min-height: 38px;
    padding: 0 var(--launch-space-4);
}

/* --------------------------------------------------------------------------
   Inline form field errors (shared base — hidden until the field is invalid)
   v4/v5 redeclare their own themed colors; this keeps v1/v2/v3 from showing
   pre-failed validation hints under empty fields.
   -------------------------------------------------------------------------- */
.event-form-field-error {
    color: #EF4444;
    display: none;
    font-size: 0.85rem;
    line-height: 1.4;
    margin-top: 6px;
}

.event-form-input[aria-invalid="true"] + .event-form-field-error {
    display: block;
}

.event-form-input[aria-invalid="true"] {
    border-color: rgba(239, 68, 68, 0.7);
}

/* The base .event-button display rule above shares specificity with the
   mobile-hide rule in the navbar section; this higher-specificity rule keeps
   the desktop CTA hidden on mobile (the hamburger menu carries Register). */
@media (max-width: 768px) {
    .event-nav .event-nav__cta {
        display: none;
    }
}

/* =====================================================================
   iter49 — Agenda timeline polish (from v6/v7 design language)
   Monospace type labels + colored card accents + body text bump to 16px
   Applies to v1/v2 card-style .event-agenda__item
   ===================================================================== */

.event-agenda__type {
    font-family: "JetBrains Mono", "SF Mono", ui-monospace, monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8A8F99;
    display: block;
    margin-bottom: 4px;
    line-height: 1.2;
}

/* Lab items get indigo label (lighter on dark themes) */
.event-agenda__item--lab .event-agenda__type { color: #818CF8; }
body.ev-version-2 .event-agenda__item--lab .event-agenda__type { color: #4F46E5; }

/* Colored left-border accent by type (card-style agenda) */
.event-agenda__item--lab { border-left: 3px solid #6366F1; }
.event-agenda__item--break { border-left: 3px solid #8A8F99; }
.event-agenda__item--qa { border-left: 3px solid #6366F1; }

/* Body text bump to 16px (was 0.95rem, drops below 16px on mobile) */
.event-agenda__content p {
    font-size: 16px;
    line-height: 1.55;
}
.event-agenda__content h3 {
    font-size: 16px;
}
