/* Respect Festival — Tickets (Vstupenky) Fanzine skin.
   Scoped under .rl-tickets so it cannot bleed into other pages. Reuses the
   Fanzine tokens (ink/paper/rachot/danger, Anton + Space Mono) from program.css.
   Authored in the P-redesign tickets re-skin. */

.rl-tickets{
	--ink:#14130f;
	--paper:#e7e3d6;
	--rachot:#F2542D; /* festival = sunset coral */
	--fest:#F2542D;
	--fest-deep:#7A1E12;
	--danger:#c1271c;
	background:var(--paper);
	color:var(--ink);
	font-family:'Space Mono',monospace;
	max-width:var(--container,1240px);
	margin:0 auto 60px;
	padding:0 0 40px;
	position:relative;
	overflow:hidden;
}
.rl-tickets *{box-sizing:border-box;border-radius:0}
.rl-tickets a{text-decoration:none;color:inherit}

/* faint grain overlay to match the other Fanzine surfaces */
.rl-tickets::before{
	content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.4;mix-blend-mode:multiply;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.rl-tickets > *{position:relative;z-index:1}

/* ===================== HERO ===================== */
.rl-tickets .rl-tickets-hero{
	position:relative;overflow:hidden;background:var(--rachot);color:#fff;
	border:3px solid var(--ink);margin-bottom:34px;
}
.rl-tickets .rl-tickets-hero::before{
	content:"";position:absolute;inset:0;
	background:linear-gradient(115deg,#F2542D 0%,#b83c16 58%,#14130f 100%);
	opacity:.55;mix-blend-mode:luminosity;
}
.rl-tickets .rl-tickets-hero__tag{
	position:absolute;top:0;left:0;z-index:3;background:#fff;color:var(--ink);
	font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:11px;padding:6px 12px;
}
.rl-tickets .rl-tickets-hero__inner{position:relative;z-index:2;padding:62px 30px 32px}
.rl-tickets .rl-tickets-hero__kicker{
	text-transform:uppercase;letter-spacing:.18em;font-size:12px;opacity:.92;margin:0 0 8px;font-weight:700;
}
.rl-tickets .rl-tickets-hero__title{
	font-family:'Anton',sans-serif;font-weight:400;
	font-size:clamp(52px,12vw,150px);line-height:.78;text-transform:uppercase;
	margin:0;letter-spacing:-.01em;
}
.rl-tickets .rl-tickets-hero__date{font-size:clamp(18px,3vw,30px);font-weight:700;margin:16px 0 0;letter-spacing:.03em}
.rl-tickets .rl-tickets-hero__place{
	font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;opacity:.9;margin:8px 0 0;
}

/* ===================== SECTIONS ===================== */
.rl-tickets section{margin:0 0 34px;padding:0 30px}
.rl-tickets .main-tiles-section{margin-bottom:30px}
/* Neutralise the legacy lavender band (.respect .tiles-tickets-info{background:#BDB9DB}
   in style.css) so ticket cards sit on the Fanzine paper, not a one-off purple. */
.rl-tickets .tiles-tickets.tiles-tickets-info{background:var(--paper) !important}

.rl-tickets h3{
	font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
	font-size:clamp(28px,5vw,52px);line-height:.9;letter-spacing:.005em;
	margin:0 0 20px;padding:0 0 10px;border-bottom:3px solid var(--ink);
}

/* filter / anchor nav as Fanzine chips */
.rl-tickets .filter{
	display:flex;flex-wrap:wrap;gap:0;max-width:none !important;margin:0 0 26px !important;
}
.rl-tickets .filter a{
	border:2px solid var(--ink);border-right-width:0;padding:9px 16px;
	font:700 12px/1 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.06em;
	background:var(--paper);color:var(--ink);transition:.1s;
}
.rl-tickets .filter a:last-child{border-right-width:2px}
.rl-tickets .filter a:hover{background:var(--rachot);color:#fff}

/* small mono info note */
.rl-tickets .tickets-info-small{
	font-size:12px;line-height:1.55;letter-spacing:.02em;color:#5a5546;
	margin:18px 0 0;padding-left:12px;border-left:3px solid var(--ink);max-width:640px;
}

/* ===================== TICKET GRID + CARDS ===================== */
.rl-tickets .main-tiles-section,
.rl-tickets .tiles-tickets-sale{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;align-items:stretch;
}
/* headers / notes span the whole grid row */
.rl-tickets .main-tiles-section > h3,
.rl-tickets .main-tiles-section > .tickets-info-small,
.rl-tickets .main-tiles-section > .tiles-tickets-sale{grid-column:1/-1}
.rl-tickets .tiles-tickets-sale{margin-top:4px}

.rl-tickets .ticket-container{
	position:relative;display:flex;
	transition:transform .12s,box-shadow .12s;
}
.rl-tickets .ticket{
	position:relative;flex:1 1 auto;display:flex;flex-direction:column;
	border:2.5px solid var(--ink);background:var(--paper);
	padding:20px 18px 18px !important;min-height:100%;
}
.rl-tickets .ticket-container:hover{transform:translate(-3px,-3px)}
.rl-tickets .ticket-container:hover .ticket{box-shadow:8px 8px 0 var(--rachot)}

.rl-tickets .ticket-name{
	font:700 13px/1.3 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.06em;
	margin:0 0 4px;color:var(--ink);order:1;max-width:78%;
}
.rl-tickets .ticket-name a:hover{color:var(--rachot)}
.rl-tickets .ticket-price{
	font-family:'Anton',sans-serif;font-weight:400;font-size:40px;line-height:.95;
	letter-spacing:.01em;text-transform:uppercase;margin:2px 0 8px;color:var(--ink);order:0;
}
.rl-tickets .ticket-plus{
	font-family:'Anton',sans-serif;font-size:22px;line-height:1;color:var(--rachot);margin:2px 0;order:1;
}
.rl-tickets .ticket-date{
	font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
	color:#5a5546;margin:0 0 4px;order:2;
}
.rl-tickets .ticket-btn{
	display:block;text-align:center;margin-top:auto;
	background:var(--ink);color:var(--paper);
	padding:11px 12px;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;
	border:2px solid var(--ink);transition:.12s;order:9;
}
.rl-tickets .ticket-btn:hover{background:var(--rachot);color:#fff}
.rl-tickets .ticket-btn::before{content:"›  "}

/* sale tiles (no buy button) keep the price prominent and the card centred */
.rl-tickets .tiles-tickets-sale .ticket{justify-content:center}

/* ===================== SOLD OUT ===================== */
/* Today is the day after the festival, so every tier is legitimately sold out.
   Keep the card crisp + on-brand (not "broken"): full borders, readable price,
   and a clear rotated danger stamp. Only the price + button are muted. */
.rl-tickets .ticket-container.ticket--sold-out .ticket{
	border-color:var(--ink);background:repeating-linear-gradient(135deg,var(--paper) 0 16px,#ded9ca 16px 17px);
}
.rl-tickets .ticket-container.ticket--sold-out .ticket-price{color:#6b6657}
.rl-tickets .ticket-container.ticket--sold-out .ticket-btn{
	background:#6b6657;border-color:#6b6657;pointer-events:none;
}
.rl-tickets .ticket-container.ticket--sold-out .ticket-btn::before{content:""}
/* the VYPRODÁNO badge: a rotated danger stamp straddling the top border,
   clear of the price number. */
.rl-tickets .ticket-sold-out{
	position:absolute;top:-12px;right:-7px;z-index:4;
	background:var(--danger);color:#fff;
	font:700 12px/1 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;
	padding:8px 12px;transform:rotate(4deg);
	border:2px solid var(--ink);box-shadow:3px 3px 0 rgba(20,18,12,.35);margin:0;
}

/* ===================== GOOUT BUY BLOCK ===================== */
.rl-tickets .tickets-buy{
	margin:50px 30px 0 !important;padding:30px !important;
	border:3px solid var(--ink);background:var(--paper);
}
.rl-tickets .tickets-buy h4{
	font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
	font-size:clamp(24px,4vw,42px);line-height:.9;letter-spacing:.01em;
	margin:0 0 18px;color:var(--ink);
}
.rl-tickets #goOutForm{min-height:40px}

/* ===================== RESPONSIVE ===================== */
@media(max-width:760px){
	.rl-tickets .rl-tickets-hero__inner{padding:54px 18px 24px}
	.rl-tickets section{padding:0 18px}
	.rl-tickets .tickets-buy{margin-left:18px !important;margin-right:18px !important;padding:22px !important}
}
@media(max-width:430px){
	.rl-tickets .main-tiles-section,
	.rl-tickets .tiles-tickets-sale{grid-template-columns:1fr}
	.rl-tickets .ticket-price{font-size:36px}
}
