/* Insane Creations — ticket lookup + order tickets (theme independent) */

.ic-lookup {
	display: grid;
	gap: clamp(1.2rem, 3vw, 2rem);
	padding: clamp(1.4rem, 4vw, 2.6rem);
	border: 1px solid rgba(244, 241, 234, .12);
	border-radius: 18px;
	background: rgba(18, 18, 26, .7);
}

.ic-lookup__intro p { color: #9a9aa6; max-width: 60ch; margin: 0; }

.ic-lookup__form { display: flex; gap: .8rem; flex-wrap: wrap; align-items: flex-end; }
.ic-lookup__form .ic-field { flex: 1 1 220px; display: flex; flex-direction: column; gap: .35rem; }
.ic-lookup__form .ic-field > span {
	font-size: .68rem; font-weight: 700; letter-spacing: .16em;
	text-transform: uppercase; color: #9a9aa6;
}
.ic-lookup__form input {
	width: 100%;
	padding: .95rem 1.1rem;
	border-radius: 12px;
	border: 1.5px solid rgba(244, 241, 234, .14);
	background: rgba(7, 7, 10, .55);
	color: #f4f1ea;
}
.ic-lookup__form input:focus { outline: none; border-color: #c9ff2e; }

.ic-lookup__result { min-height: 1px; }
.ic-lookup__pending { height: 60px; border-radius: 12px; background: linear-gradient(90deg, rgba(244,241,234,.05), rgba(244,241,234,.12), rgba(244,241,234,.05)); background-size: 200% 100%; animation: ic-shimmer 1.2s linear infinite; }
@keyframes ic-shimmer { to { background-position: -200% 0; } }

.ic-lookup__error {
	margin: 0; padding: 1rem 1.2rem;
	border-radius: 12px;
	background: rgba(255, 59, 31, .12);
	border: 1px solid rgba(255, 59, 31, .45);
	color: #ffb3a6;
	font-weight: 600;
}

.ic-lookup__tickets { display: grid; gap: 1rem; }
.ic-lookup__count { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: #9a9aa6; margin: 0; }

.ic-lookup__ticket {
	position: relative;
	display: grid; gap: .9rem;
	padding: 1.2rem 1.3rem;
	border: 1px dashed rgba(244, 241, 234, .22);
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(244,241,234,.05), rgba(7,7,10,.4));
	overflow: hidden;
}
.ic-lookup__ticket::before {
	content: ""; position: absolute; inset: 0 auto 0 0; width: 5px;
	background: linear-gradient(180deg, #ff3b1f, #ffd400);
}
.ic-lookup__ticket.is-used { opacity: .6; }
.ic-lookup__ticket.is-used::before { background: #6a6a76; }
.ic-lookup__ticket.is-cancelled, .ic-lookup__ticket.is-refunded { opacity: .55; }
.ic-lookup__ticket.is-cancelled::before, .ic-lookup__ticket.is-refunded::before { background: #d63638; }

.ic-lookup__ticket header { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; flex-wrap: wrap; }
.ic-lookup__ticket header b {
	font-family: "Anton", Impact, "Arial Narrow", sans-serif;
	font-weight: 400; text-transform: uppercase;
	font-size: clamp(1.15rem, 2.4vw, 1.5rem); line-height: 1;
}
.ic-lookup__state {
	font-size: .6rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	padding: .28rem .6rem; border-radius: 999px;
	background: #c9ff2e; color: #08080b;
}
.ic-lookup__ticket.is-used .ic-lookup__state { background: #6a6a76; color: #f4f1ea; }
.ic-lookup__ticket.is-cancelled .ic-lookup__state,
.ic-lookup__ticket.is-refunded .ic-lookup__state { background: #d63638; color: #fff; }

.ic-lookup__ticket dl { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1rem; margin: 0; }
.ic-lookup__ticket dt { font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: #9a9aa6; align-self: center; }
.ic-lookup__ticket dd { margin: 0; font-size: .92rem; font-weight: 600; }

.ic-lookup__barcode { color: #f4f1ea; }
.ic-lookup__code {
	font-family: "SF Mono", Consolas, "Courier New", monospace;
	font-size: clamp(1.1rem, 3vw, 1.5rem); letter-spacing: .16em;
	color: #c9ff2e;
}
.ic-lookup__hint { margin: 0; font-size: .74rem; color: #9a9aa6; }

/* ---------------------------------------------------- order / checkout */
.ic-order-tickets { margin-top: 2rem; }
.ic-order-tickets h2 { font-size: 1.4rem; text-transform: uppercase; }
.ic-order-ticket {
	display: grid; gap: .7rem;
	margin-bottom: .9rem; padding: 1.1rem 1.2rem;
	border: 1px dashed rgba(244, 241, 234, .22);
	border-radius: 14px;
	background: rgba(18, 18, 26, .6);
}
.ic-order-ticket header { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.ic-order-ticket header b { text-transform: uppercase; }
.ic-order-ticket header span { color: #c9ff2e; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.ic-order-ticket footer { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: center; }
.ic-order-ticket footer code { letter-spacing: .14em; color: #c9ff2e; font-size: 1.05rem; }
.ic-order-ticket footer span { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: #9a9aa6; }
.ic-order-ticket.is-used { opacity: .55; }

/* -------------------------------------------------------- fallback card */
.ic-fallback-event {
	display: grid; gap: .5rem;
	padding: 1.3rem;
	border: 1px solid rgba(244, 241, 234, .12);
	border-radius: 16px;
	background: rgba(18, 18, 26, .7);
}
.ic-fallback-event__date { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: #c9ff2e; }
.ic-fallback-event h3 { margin: 0; font-size: 1.3rem; text-transform: uppercase; }
.ic-fallback-event p { color: #9a9aa6; margin: 0; font-size: .9rem; }
.ic-fallback-event .ic-btn {
	display: inline-flex; align-items: center;
	padding: .7rem 1.2rem; border-radius: 999px;
	background: linear-gradient(100deg, #ff3b1f, #ffd400); color: #08080b;
	font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
	justify-self: start; margin-top: .4rem;
}
