/* Shared event-form layout contract used by Create and runtime Event Details.
   Keep field order and breakpoint spans here so the two surfaces evolve
   together. Page-specific CSS should only style controls or runtime-only
   states, not reposition fields. */

.event-form-layout-grid > .event-form-layout-field {
    min-width: 0;
    order: 99;
}

.event-form-layout-field[data-event-form-field="title"] { order: 1; }
.event-form-layout-field[data-event-form-field="date"] { order: 2; }
.event-form-layout-field[data-event-form-field="time"] { order: 3; }
.event-form-layout-field[data-event-form-field="duration"] { order: 4; }
.event-form-layout-field[data-event-form-field="location"] { order: 5; }
.event-form-layout-field[data-event-form-field="type"] { order: 6; }
.event-form-layout-field[data-event-form-field="format"] { order: 7; }
.event-form-layout-field[data-event-form-field="gender"] { order: 8; }
.event-form-layout-field[data-event-form-field="max-teams"] { order: 9; }
.event-form-layout-field[data-event-form-field="dupr-mode"] { order: 10; }
.event-form-layout-field[data-event-form-field="dupr-entitlement"] { order: 11; }
.event-form-layout-field[data-event-form-field="skill-floor"] { order: 12; }
.event-form-layout-field[data-event-form-field="skill-cap"] { order: 13; }
.event-form-layout-field[data-event-form-field="court-fee"] { order: 14; }
.event-form-layout-field[data-event-form-field="court-fee-amount"] { order: 15; }
.event-form-layout-field[data-event-form-field="external-registration"] { order: 16; }
.event-form-layout-field[data-event-form-field="registration-url"] { order: 17; }
.event-form-layout-field[data-event-form-field="moneyball"] { order: 18; }
.event-form-layout-field[data-event-form-field="entry-fee"] { order: 19; }
.event-form-layout-field[data-event-form-field="prize-split"] { order: 20; }
.event-form-layout-field[data-event-form-field="moneyball-payment"] { order: 21; }
.event-form-layout-field[data-event-form-field="venmo"] { order: 22; }
.event-form-layout-field[data-event-form-field="additional-info"] { order: 23; }
.event-form-layout-field[data-event-form-field="video-url"] { order: 26; }
.event-form-layout-field[data-event-form-field="dupr-visibility"] { order: 27; }
.event-form-layout-field[data-event-form-field="results-badge"] { order: 28; }
.event-form-layout-field[data-event-form-field="photo"] { order: 29; }
.event-form-layout-field[data-event-form-field="photo-upload"] { order: 30; }

@media (max-width: 767px) {
    .event-form-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-form-layout-grid > .event-form-layout-field {
        grid-column: span 1;
    }

    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="wide"],
    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="full"],
    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="mobile-wide"] {
        grid-column: span 2;
    }

    /* Preserve the create form's mobile pairing: Max Teams/Court Fees,
       DUPR/Entitlements, then Skill Floor/Cap. */
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="max-teams"] { order: 9; }
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="court-fee"] { order: 10; }
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="court-fee-amount"] { order: 11; }
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="dupr-mode"] { order: 12; }
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="dupr-entitlement"] { order: 13; }
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="skill-floor"] { order: 14; }
    .event-form-layout-grid > .event-form-layout-field[data-event-form-field="skill-cap"] { order: 15; }

    .event-form-layout-grid:not(:has(> .event-form-layout-field[data-event-form-field="court-fee-amount"])) > .event-form-layout-field[data-event-form-field="dupr-mode"] { order: 11; }
    .event-form-layout-grid:not(:has(> .event-form-layout-field[data-event-form-field="court-fee-amount"])) > .event-form-layout-field[data-event-form-field="dupr-entitlement"] { order: 12; }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .event-form-layout-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .event-form-layout-grid > .event-form-layout-field {
        grid-column: span 1;
    }

    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="wide"] {
        grid-column: span 2;
    }

    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="full"] {
        grid-column: 1 / -1;
    }
}

@media (min-width: 1200px) {
    .event-form-layout-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .event-form-layout-grid > .event-form-layout-field {
        grid-column: span 2;
    }

    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="wide"] {
        grid-column: span 4;
    }

    .event-form-layout-grid > .event-form-layout-field[data-event-form-span="full"] {
        grid-column: 1 / -1;
    }
}
