/* Ticketing & Scan — δημόσιες σελίδες εκδηλώσεων/εισιτηρίων. Mobile-first. */
:root { --erv-navy:#0d1b2a; --erv-gold:#C9A96E; --erv-border:#e2e5e9; --erv-muted:#5a6672; }

/* Input reset — το global css του fixit-core χαλάει τα bare inputs. */
.er-ev-input {
	width:100%; border:1.5px solid var(--erv-border); border-radius:10px;
	padding:11px 12px; font-size:16px; font-family:inherit; outline:none; background:#fff;
	color:var(--erv-navy); box-sizing:border-box;
}
.er-ev-input:focus { border-color:var(--erv-gold); }

/* Poster + placeholder */
.er-ev-poster { display:block; width:100%; height:auto; border-radius:12px; }
.er-ev-poster--placeholder {
	aspect-ratio:3/4; background:linear-gradient(135deg,var(--erv-navy),#24344a);
	color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; padding:18px;
}
.er-ev-poster__ph-inner { display:flex; flex-direction:column; gap:8px; }
.er-ev-poster__ph-mark { font-size:44px; }
.er-ev-poster__ph-title { font-size:20px; font-weight:800; }
.er-ev-poster__ph-date { font-size:15px; opacity:.85; }

/* Single event */
.er-ev-single { max-width:960px; margin:0 auto; }
.er-ev-single__poster { max-width:420px; margin:0 auto 18px; }
.er-ev-single__title { font-size:26px; font-weight:800; margin:0 0 10px; color:var(--erv-navy); }
.er-ev-meta { color:var(--erv-muted); font-size:16px; line-height:1.7; margin-bottom:14px; }
.er-ev-single__desc { margin:12px 0 20px; line-height:1.6; }
@media (min-width:760px){
	.er-ev-single { display:grid; grid-template-columns:360px 1fr; gap:28px; align-items:start; }
	.er-ev-single__poster { margin:0; }
}

/* Ticket buy form */
.er-ev-buy { border:1px solid var(--erv-border); border-radius:14px; padding:14px; margin-top:8px; }
.er-ev-type { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--erv-border); }
.er-ev-type:last-child { border-bottom:0; }
.er-ev-type.is-disabled { opacity:.5; }
.er-ev-type__name { font-weight:700; display:block; }
.er-ev-type__price { color:var(--erv-gold); font-weight:700; }
.er-ev-type__flag { display:inline-block; font-size:12px; color:#b3261e; margin-left:6px; }
.er-ev-qty { display:flex; align-items:center; gap:6px; }
.er-ev-qty__btn {
	width:44px; height:44px; border:1.5px solid var(--erv-border); background:#fff; border-radius:10px;
	font-size:22px; line-height:1; cursor:pointer; color:var(--erv-navy);
}
.er-ev-qty__btn:disabled { opacity:.4; cursor:not-allowed; }
.er-ev-qty__val { width:52px; text-align:center; padding:11px 4px; }
.er-ev-buy__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.er-ev-buy__total { font-weight:700; color:var(--erv-navy); }
.er-ev-buy__btn {
	background:var(--erv-navy); color:#fff; border:0; border-radius:12px; padding:14px 22px;
	font-size:17px; font-weight:700; cursor:pointer; min-height:50px;
}
.er-ev-buy__btn:disabled { opacity:.6; }
.er-ev-buy__msg { color:#b3261e; margin-top:10px; min-height:1.2em; }
.er-ev-note { color:var(--erv-muted); padding:10px 0; }
.er-ev-note--bad { color:#b3261e; }

/* List /events/ */
.er-ev-filter { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin-bottom:18px; }
.er-ev-filter label { display:flex; flex-direction:column; gap:4px; font-size:14px; color:var(--erv-muted); flex:1 1 180px; }
.er-ev-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:16px; }
.er-ev-card { display:block; text-decoration:none; color:inherit; border:1px solid var(--erv-border); border-radius:14px; overflow:hidden; background:#fff; transition:transform .12s; }
.er-ev-card:hover { transform:translateY(-3px); }
.er-ev-card__poster img, .er-ev-card__poster .er-ev-poster--placeholder { width:100%; display:block; aspect-ratio:3/4; object-fit:cover; }
.er-ev-card__body { padding:10px 12px; display:flex; flex-direction:column; gap:3px; }
.er-ev-card__date { font-size:13px; color:var(--erv-gold); font-weight:700; }
.er-ev-card__title { font-weight:700; line-height:1.25; }
.er-ev-card__venue { font-size:13px; color:var(--erv-muted); }
.er-ev-card__flag { font-size:12px; color:#b3261e; font-weight:700; }

/* My tickets */
.er-ev-mytickets { display:flex; flex-direction:column; gap:12px; }
.er-ev-mt-row { display:flex; gap:12px; text-decoration:none; color:inherit; border:1px solid var(--erv-border); border-radius:12px; padding:10px; align-items:center; }
.er-ev-mt-img { width:56px; height:74px; object-fit:cover; border-radius:8px; }
.er-ev-mt-body { display:flex; flex-direction:column; gap:2px; }
.er-ev-mt-title { font-weight:700; }
.er-ev-mt-meta { font-size:13px; color:var(--erv-muted); }
.er-ev-mt-code { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:13px; letter-spacing:1px; }
