/* Electric Ant Gigs — 1-bit forms + calendar.
   Uses the theme's CSS vars when present, falls back to B&W otherwise. */

.eag-form-page,
.eag-calendar {
	--g-fg: var(--ea-white, #fff);
	--g-bg: var(--ea-black, #000);
	--g-pixel: var(--ea-pixel, 'Monaco9px', 'Courier New', monospace);
	--g-mono: var(--ea-mono, ui-monospace, Menlo, Consolas, monospace);
	--g-rule: 3px;
}

/* ============================ shared bits ============================ */

.eag-notice {
	border: 2px solid var(--g-fg);
	padding: 0.75rem 1rem;
	margin: 1rem 0;
	font-family: var(--g-mono);
	font-size: 0.9rem;
}
.eag-notice--ok  { background: var(--g-fg); color: var(--g-bg); }
.eag-notice--err { background: transparent; color: var(--g-fg); border-style: dashed; }

.eag-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}

/* ============================ the band form ============================ */

.eag-band-name {
	font-family: var(--g-pixel);
	margin: 0.2em 0 0.3em;
	line-height: 1.02;
}
.eag-lede {
	max-width: 60ch;
	font-size: 0.95rem;
	opacity: 0.9;
}

.eag-form { margin: 1.5rem 0; }
.eag-field { margin: 0 0 1.1rem; }
.eag-field label {
	display: block;
	font-family: var(--g-pixel);
	font-size: 1rem;
	margin-bottom: 0.35em;
}
.eag-opt { font-family: var(--g-mono); font-size: 0.7rem; opacity: 0.65; text-transform: uppercase; letter-spacing: 0.04em; }
.eag-field input[type="text"],
.eag-field input[type="date"],
.eag-field input[type="time"],
.eag-field textarea {
	width: 100%;
	font-family: var(--g-mono);
	background: var(--g-bg);
	color: var(--g-fg);
	border: 2px solid var(--g-fg);
	padding: 0.6em 0.7em;
	font-size: 1rem;
}
.eag-field input:focus,
.eag-field textarea:focus { outline: none; box-shadow: 0 0 0 2px var(--g-fg); }
/* dark-scheme date/time picker glyphs */
.eag-field input[type="date"]::-webkit-calendar-picker-indicator,
.eag-field input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(1); cursor: pointer; }

.eag-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 560px) { .eag-row { grid-template-columns: 1fr; } }

.eag-actions { display: flex; align-items: center; gap: 1rem; margin-top: 0.5rem; }
.eag-submit { cursor: pointer; }
.eag-cancel { font-family: var(--g-pixel); }

/* band's own gig list */
.eag-list { list-style: none; margin: 0; padding: 0; }
.eag-item {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.25rem 1rem;
	border: 2px solid var(--g-fg);
	padding: 0.75rem 1rem;
	margin-bottom: 0.75rem;
}
.eag-item.is-past { opacity: 0.5; }
.eag-item__when { grid-column: 1 / -1; font-family: var(--g-mono); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; }
.eag-past-tag {
	background: var(--g-fg); color: var(--g-bg);
	font-size: 0.65rem; padding: 0.05em 0.4em; margin-left: 0.5em;
}
.eag-item__body strong { font-family: var(--g-pixel); font-weight: normal; font-size: 1.15rem; }
.eag-item__loc { display: block; font-size: 0.85rem; opacity: 0.8; }
.eag-item__ops { display: flex; align-items: center; gap: 0.75rem; font-family: var(--g-pixel); }
.eag-item__ops form { margin: 0; }
.eag-del {
	background: none; border: 0; color: var(--g-fg);
	font-family: var(--g-pixel); cursor: pointer; text-decoration: underline;
	padding: 0; font-size: 1rem;
}
.eag-del:hover { background: var(--g-fg); color: var(--g-bg); text-decoration: none; }
.eag-empty { font-family: var(--g-mono); opacity: 0.8; }

/* ============================ calendar grid ============================ */

.eag-cal-head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem; margin: 0.5rem 0 1rem;
}
.eag-cal-month { text-transform: lowercase; }
.eag-cal-nav {
	font-family: var(--g-pixel); font-size: 1.5rem; text-decoration: none;
	border: 2px solid var(--g-fg); padding: 0 0.5em; line-height: 1.4;
}
.eag-cal-nav:hover { background: var(--g-fg); color: var(--g-bg); }

.eag-grid {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin-bottom: 2rem;
}
.eag-grid th {
	font-family: var(--g-pixel);
	font-weight: normal;
	text-align: left;
	padding: 0.35em 0.5em;
	border: 2px solid var(--g-fg);
	background: var(--g-fg);
	color: var(--g-bg);
	text-transform: lowercase;
}
.eag-cell {
	border: 2px solid var(--g-fg);
	vertical-align: top;
	height: 90px;
	padding: 0.25em 0.35em;
	position: relative;
}
.eag-cell--empty { background: repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 5px, transparent 5px 10px); }
.eag-daynum { font-family: var(--g-mono); font-size: 0.72rem; opacity: 0.6; }
.eag-cell.is-today { box-shadow: inset 0 0 0 3px var(--g-fg); }
.eag-cell.is-today .eag-daynum { opacity: 1; font-weight: bold; }
.eag-cell.has-events .eag-daynum { opacity: 1; }
.eag-cell-events { list-style: none; margin: 0.2em 0 0; padding: 0; }
.eag-cell-events li { margin-bottom: 2px; }
.eag-cell-events a {
	display: block;
	font-family: var(--g-mono);
	font-size: 0.68rem;
	line-height: 1.2;
	text-decoration: none;
	background: var(--g-fg);
	color: var(--g-bg);
	padding: 1px 3px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.eag-cell-events a:hover { outline: 2px solid var(--g-fg); outline-offset: 1px; }

@media (max-width: 640px) {
	.eag-cell { height: auto; min-height: 46px; }
	.eag-grid th { font-size: 0.75rem; padding: 0.25em; }
	.eag-cell-events a { font-size: 0.6rem; }
}

/* ============================ upcoming list ============================ */

.eag-upcoming-head { margin-top: 1rem; }
.eag-events { list-style: none; margin: 0; padding: 0; }
.eag-event {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 1.25rem;
	border: var(--g-rule) solid var(--g-fg);
	padding: 1rem 1.15rem;
	margin-bottom: 1rem;
	scroll-margin-top: 90px;
}
.eag-event:target { box-shadow: 0 0 0 3px var(--g-fg); }
.eag-event__date {
	text-align: center;
	border-right: 2px solid var(--g-fg);
	padding-right: 1rem;
	font-family: var(--g-pixel);
	line-height: 1;
}
.eag-event__dow { display: block; font-size: 0.8rem; opacity: 0.7; }
.eag-event__day { display: block; font-size: 2.6rem; }
.eag-event__mon { display: block; font-size: 0.9rem; }
.eag-event__title { font-family: var(--g-pixel); font-weight: normal; margin: 0 0 0.3em; font-size: 1.4rem; line-height: 1.05; }
.eag-event__facts { font-family: var(--g-mono); font-size: 0.8rem; letter-spacing: 0.02em; margin: 0 0 0.5em; text-transform: uppercase; opacity: 0.85; }
.eag-event__band { text-decoration: underline; }
.eag-sep { opacity: 0.5; }
.eag-event__info { font-size: 0.95rem; }
.eag-event__info p { margin: 0 0 0.5em; }
.eag-ics-link { font-family: var(--g-pixel); margin-top: 1.5rem; }

.eag-calendar .eag-empty { font-family: var(--g-mono); border: 2px dashed var(--g-fg); padding: 1rem; }
