/**
 * Barex Events — front end.
 *
 * Values are lifted from the confirmed design canvases, not invented here:
 * ink #131313 on paper #fafaf9, rules #e3e3e0, muted #8d8d88 / #6f6f6a,
 * terracotta #a4392e reserved for scarcity, green #2e7d4f for free and open.
 * Decorative marks are black — terracotta is never decoration.
 *
 * SilkSerif and Roboto are already loaded by the theme; we only reference them.
 */

.bldev {
	--bldev-ink: #131313;
	--bldev-paper: #fafaf9;
	--bldev-card: #fff;
	--bldev-rule: #e3e3e0;
	--bldev-rule-soft: #f4f4f2;
	--bldev-muted: #8d8d88;
	--bldev-muted-strong: #6f6f6a;
	--bldev-body: #4a4a46;
	/* Reserved for the scarcity status and nothing else — links and hovers are
	   ink, because no accent colour sits right in this palette. The status dot
	   and its label take the value straight from Event::availability_badge(),
	   not from here. */
	--bldev-accent: #a4392e;
	--bldev-ok: #2e7d4f;

	color: var(--bldev-ink);
	background: var(--bldev-paper);
	font-family: Roboto, ui-sans-serif, system-ui, Arial, sans-serif;
}

.bldev *,
.bldev *::before,
.bldev *::after { box-sizing: border-box; }

 /* The family the theme actually registers is "SilkSerif-Reg" — a bare
    "SilkSerif" matches nothing and silently falls through to Georgia. */
.bldev-serif { font-family: "SilkSerif-Reg", Georgia, "Times New Roman", serif; }

.bldev-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------------------------------------------------------------- header -- */

.bldev-head { padding: 56px 0 0; }
.bldev-eyebrow {
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--bldev-muted);
}
.bldev-title {
	margin: 18px 0 0;
	font-size: clamp(34px, 5vw, 68px);
	line-height: .98;
	font-weight: 300;
	letter-spacing: -.02em;
}
.bldev-lede {
	margin: 22px 0 0;
	max-width: 520px;
	font-size: 15px;
	line-height: 1.7;
	font-weight: 300;
	color: var(--bldev-muted-strong);
	text-wrap: pretty;
}

/* ----------------------------------------------------------------- toolbar */

.bldev-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 44px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--bldev-ink);
}
.bldev-filters { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.bldev-filter {
	padding: 0 0 3px;
	font-size: 13px;
	letter-spacing: .06em;
	color: var(--bldev-muted);
	text-decoration: none;
}
.bldev-filter:hover { color: var(--bldev-ink); }
/* Colour alone marks the selection — an underline on top of it is one signal
   too many, and reads as a link state rather than a choice. */
.bldev-filter.is-on { color: var(--bldev-ink); }
.bldev-filter sup {
	margin-left: 3px;
	font-size: 9.5px;
	font-weight: 500;
	vertical-align: super;
	line-height: 0;
	color: #b4b3ae;
}
.bldev-filter.is-on sup { color: var(--bldev-ink); }





/* ------------------------------------------------------------------- cards */

.bldev-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 52px 40px;
	margin-top: 44px;
}

.bldev-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.bldev-media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #eeeeec;
}
.bldev-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.bldev-card:hover .bldev-media img { transform: scale(1.03); }
.bldev-card.is-full:not(.is-past) .bldev-media img { filter: grayscale(1); }

.bldev-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(19, 19, 19, .55);
	color: var(--bldev-paper);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
	padding: 0 16px;
}

/* A finished event stays readable but stops competing with what is still open.
   The photo keeps its colour (owner, 2026-08-19) — only the text greys out. */
.bldev-card.is-past .bldev-card-title,
.bldev-card.is-past .bldev-excerpt,
.bldev-card.is-past .bldev-price,
.bldev-card.is-past .bldev-day,
.bldev-card.is-past .bldev-month,
.bldev-card.is-past .bldev-venue-line { color: var(--bldev-muted); }
.bldev-card.is-past .bldev-place { background: var(--bldev-rule-soft); color: var(--bldev-muted); }
.bldev-card.is-past .bldev-card-title:hover { color: var(--bldev-muted); }
.bldev-card.is-past .bldev-btn--ghost { border-color: #c9c8c3; color: var(--bldev-muted-strong); }
.bldev-card.is-past .bldev-btn--ghost:hover { background: var(--bldev-muted-strong); border-color: var(--bldev-muted-strong); color: #fff; }
/* With nothing to book, Informacija takes the whole row rather than sitting
   next to a gap where a button used to be. */
.bldev-actions.is-single { grid-template-columns: minmax(0, 1fr); }

.bldev-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 20px;
}
.bldev-date { display: flex; align-items: center; gap: 12px; }
.bldev-day {
	font-size: 42px;
	line-height: .82;
	font-weight: 300;
	letter-spacing: -.02em;
}
.bldev-when { display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.bldev-month {
	font-size: 11.5px;
	line-height: 1;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.bldev-time { font-size: 11.5px; line-height: 1; color: var(--bldev-muted); }

/* One badge carries the location: city + address for a live event, bare
   "Online" otherwise. Never a badge and a separate city line. */
.bldev-place {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	font-size: 10.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	background: #f2efe9;
	color: #7a6a52;
	white-space: nowrap;
}
.bldev-place.is-online { background: #eef2f5; color: #3f5a6d; }
.bldev-place.has-address { cursor: help; }
.bldev-tip {
	position: absolute;
	bottom: calc(100% + 10px);
	right: 0;
	z-index: 20;
	width: max-content;
	max-width: 260px;
	padding: 9px 12px;
	background: var(--bldev-ink);
	color: var(--bldev-paper);
	font-size: 12px;
	line-height: 1.45;
	font-weight: 300;
	letter-spacing: normal;
	text-transform: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity .13s ease;
	pointer-events: none;
}
.bldev-tip::after {
	content: "";
	position: absolute;
	top: 100%;
	right: 14px;
	border: 5px solid transparent;
	border-top-color: var(--bldev-ink);
}
.bldev-place:hover .bldev-tip,
.bldev-place:focus-visible .bldev-tip { opacity: 1; visibility: visible; }

.bldev-card-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 15px 0 0;
	min-height: 53px;
	font-size: 21px;
	line-height: 1.26;
	font-weight: 400;
	letter-spacing: -.01em;
	color: var(--bldev-ink);
	text-decoration: none;
	text-wrap: pretty;
}
.bldev-card-title:hover { text-decoration: underline; text-underline-offset: 3px; }
.bldev-card.is-full .bldev-card-title { color: var(--bldev-muted); }

.bldev-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 10px 0 0;
	min-height: 42px;
	font-size: 13.5px;
	line-height: 1.56;
	font-weight: 300;
	color: var(--bldev-muted-strong);
	text-wrap: pretty;
}

.bldev-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 15px;
	border-top: 1px solid var(--bldev-rule);
}
.bldev-avail { display: flex; align-items: center; gap: 7px; }
.bldev-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.bldev-avail-text { font-size: 12.5px; font-weight: 500; }
.bldev-price {
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.bldev-price.is-free { color: var(--bldev-ok); }

.bldev-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 14px;
}
.bldev-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 6px;
	font-size: 13px;
	letter-spacing: .03em;
	text-align: center;
	text-decoration: none;
	border: 1px solid var(--bldev-ink);
	transition: background .15s ease, color .15s ease;
}
.bldev-btn--ghost { background: #fff; color: var(--bldev-ink); }
.bldev-btn--ghost:hover { background: var(--bldev-ink); color: #fff; }
.bldev-btn--solid { background: var(--bldev-ink); color: #fff; }
.bldev-btn--solid:hover { background: #000; color: #fff; }
.bldev-btn--dead {
	background: #b4b3ae;
	border-color: #b4b3ae;
	color: #fff;
	cursor: not-allowed;
	pointer-events: none;
}
/* Already booked: still clickable — it leads to their ticket — but visually
   settled rather than inviting, so it does not compete with a live CTA. */
.bldev-btn--booked {
	background: #f1efe9;
	border-color: #cfcabd;
	color: #57534a;
}
.bldev-btn--booked:hover { background: #e7e3d9; color: var(--bldev-ink); }

/* -------------------------------------------------------------- list view */


/* ------------------------------------------------------------ empty state */

.bldev-empty {
	margin: 56px 0;
	padding: 48px 24px;
	text-align: center;
	border: 1px solid var(--bldev-rule);
	background: var(--bldev-card);
}
.bldev-empty p { margin: 0 0 6px; font-size: 18px; font-weight: 400; }
.bldev-empty span { font-size: 14px; color: var(--bldev-muted-strong); }

/* ------------------------------------------------------------ single event */

.bldev-back {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 22px 0 18px;
	font-size: 13px;
	color: var(--bldev-muted-strong);
	text-decoration: none;
}
.bldev-back:hover { color: var(--bldev-ink); }

/* 16:9 rather than a fixed height: the banners are ~16:9, so a fixed 380px box
   cropped their sides. Matching the ratio shows the whole image without bars. */
.bldev-hero { aspect-ratio: 16 / 9; overflow: hidden; background: #eeeeec; margin-bottom: 4px; }
.bldev-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bldev-single {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 366px;
	gap: 64px;
	padding-bottom: 72px;
}
.bldev-single-main { padding-top: 44px; }
.bldev-single h1 {
	margin: 20px 0 0;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.1;
	font-weight: 400;
	letter-spacing: -.02em;
	text-wrap: pretty;
}
.bldev-single-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bldev-single-date { font-size: 12.5px; color: var(--bldev-muted); }
.bldev-body { margin-top: 24px; font-size: 16px; line-height: 1.75; font-weight: 300; color: var(--bldev-body); }
.bldev-body p { margin: 0 0 18px; text-wrap: pretty; }
.bldev-body ul { margin: 0 0 18px; padding-left: 0; list-style: none; }
.bldev-body ul li { position: relative; padding-left: 22px; margin-bottom: 12px; }
.bldev-body ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .68em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--bldev-ink);
}

.bldev-speaker {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-top: 40px;
	padding: 22px;
	background: var(--bldev-card);
	border: 1px solid var(--bldev-rule);
}
.bldev-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--bldev-ink);
	color: var(--bldev-paper);
	font-size: 20px;
	overflow: hidden;
}
.bldev-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bldev-speaker-text { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
/* Name and role read as one line — the role is an apposition, not a paragraph. */
.bldev-speaker-line { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.bldev-speaker-name { font-size: 15.5px; font-weight: 500; }
.bldev-speaker-role {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bldev-muted);
	white-space: nowrap;
}
.bldev-speaker-bio { font-size: 14px; line-height: 1.6; font-weight: 300; color: var(--bldev-muted-strong); }

.bldev-aside { display: flex; flex-direction: column; gap: 24px; padding-top: 44px; position: sticky; top: 24px; align-self: start; }
.bldev-box { display: flex; flex-direction: column; padding: 26px; background: var(--bldev-card); border: 1px solid var(--bldev-rule); }
.bldev-box-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bldev-box .bldev-price { font-size: 20px; }
.bldev-per { margin-top: 7px; font-size: 11.5px; color: var(--bldev-muted); }
.bldev-facts { display: flex; flex-direction: column; gap: 13px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--bldev-rule); }
.bldev-fact { display: flex; align-items: flex-start; gap: 11px; font-size: 13.5px; line-height: 1.45; }
.bldev-fact svg { flex-shrink: 0; margin-top: 1px; color: var(--bldev-muted); }
.bldev-box .bldev-btn { margin-top: 22px; padding: 15px; font-size: 14px; }
.bldev-limited { margin-top: 12px; text-align: center; font-size: 12px; color: var(--bldev-muted); }
.bldev-gift {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--bldev-rule);
	font-size: 12.5px;
	line-height: 1.55;
	font-weight: 300;
	color: var(--bldev-muted-strong);
}
.bldev-gift svg { flex-shrink: 0; margin-top: 1px; color: var(--bldev-ink); }

/* Sans throughout: this is a list of labels, not editorial copy, and the theme
   otherwise pulls headings into its serif. */
.bldev-audience,
.bldev-audience h2,
.bldev-audience li { font-family: Roboto, ui-sans-serif, system-ui, Arial, sans-serif; }
.bldev-audience { display: flex; flex-direction: column; padding: 22px 26px 24px; background: var(--bldev-card); border: 1px solid var(--bldev-rule); }
.bldev-audience h2 {
	margin: 0;
	font-size: 10.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bldev-muted);
	font-weight: 400;
}
.bldev-audience ul { list-style: none; margin: 12px 0 0; padding: 0; }
.bldev-audience li {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 0;
	border-bottom: 1px solid var(--bldev-rule-soft);
	font-size: 14px;
}
.bldev-audience li svg { flex-shrink: 0; color: var(--bldev-ink); }

/* Sticky bar. margin-top:auto keeps it flush on a short page rather than
   leaving a strip of background beneath it. */
/*
 * The action bar is a MOBILE affordance. On a desktop the booking box is
 * already on screen beside the description, so a second copy pinned to the
 * bottom is just a stripe taking up room.
 *
 * position:fixed, not sticky: the bar sat inside a flex column with
 * margin-top:auto, which is exactly the arrangement where sticky silently stops
 * sticking — the element has no room left to travel. Fixed always holds, and the
 * page reserves space for it so nothing hides underneath.
 */
.bldev-single-page { display: flex; flex-direction: column; }
.bldev-sticky { display: none; }
.bldev-sticky-inner { display: flex; align-items: center; gap: 24px; padding: 16px 0; }
.bldev-sticky-what { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bldev-sticky-title { font-size: 17px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bldev-sticky-when { font-size: 12px; color: #b4b3ae; }
.bldev-sticky-right { display: flex; align-items: center; gap: 20px; margin-left: auto; flex-shrink: 0; }
.bldev-sticky-price { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.bldev-sticky-price .bldev-price { font-size: 15px; }
/* Neutral, not green: this line reports a state, it is not good news. */
.bldev-sticky-avail { font-size: 11.5px; color: #b4b3ae; }
.bldev-sticky .bldev-price.is-free { font-size: 13px; color: var(--bldev-paper); }
.bldev-sticky .bldev-btn--solid { background: var(--bldev-paper); color: var(--bldev-ink); border-color: var(--bldev-paper); padding: 15px 34px; font-size: 14px; }
.bldev-sticky .bldev-btn--solid:hover { background: #fff; }

/* ------------------------------------------------------------- responsive */

@media (max-width: 1024px) {
	.bldev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bldev-single { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.bldev-aside { position: static; padding-top: 0; }
}

@media (max-width: 720px) {
	.bldev-wrap { padding: 0 20px; }

	.bldev-sticky {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--bldev-ink);
		color: var(--bldev-paper);
		z-index: 60;
		box-shadow: 0 -1px 12px rgba(19, 19, 19, .18);
	}
	/* Room for the bar, so the last thing on the page is never under it. */
	.bldev-single-page { padding-bottom: 78px; }
	.bldev-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 4px; }

	/* Cards fold into line cards: 92px thumbnail, meta beside it, buttons full
	   width beneath. There is no hover on touch, so the venue is printed rather
	   than hidden in the tooltip. */
	.bldev-card {
		flex-direction: column;
		gap: 13px;
		padding: 20px 0;
		border-bottom: 1px solid var(--bldev-rule);
		height: auto;
	}
	.bldev-card-head { display: flex; align-items: flex-start; gap: 14px; }
	/* Wider than tall, for the same reason the desktop card is 16:9 — a
	   square crops the sides off a landscape banner. */
	.bldev-media { width: 124px; height: 76px; aspect-ratio: auto; flex-shrink: 0; }
	.bldev-card-headmeta { display: flex; flex-direction: column; gap: 7px; flex-grow: 1; min-width: 0; }
	.bldev-meta { margin-top: 0; }
	.bldev-day { font-size: 26px; }
	.bldev-card-title { margin: 0; min-height: 0; font-size: 17px; }
	.bldev-excerpt { margin: 0; min-height: 0; font-size: 12.5px; }
	.bldev-foot { margin-top: 0; padding-top: 0; border-top: 0; }
	.bldev-venue-line { display: flex; align-items: flex-start; gap: 7px; font-size: 12.5px; color: var(--bldev-muted-strong); }
	.bldev-venue-line svg { flex-shrink: 0; margin-top: 2px; color: #b4b3ae; }
	.bldev-actions { margin-top: 0; }
	.bldev-btn { min-height: 46px; font-size: 13.5px; }
	.bldev-tip { display: none; }


	.bldev-sticky-inner { gap: 14px; padding: 12px 0; }
	.bldev-sticky-what { display: none; }
	.bldev-sticky-right { margin-left: 0; width: 100%; }
	.bldev-sticky .bldev-btn--solid { flex-grow: 1; padding: 0 12px; min-height: 46px; }
}

/* Desktop-only helpers, so the mobile venue line does not double up. */
@media (min-width: 721px) {
	.bldev-venue-line { display: none; }
}

/* ------------------------------------------------- account: mano seminarai */

.bldev-account { background: transparent; }
.bldev-account-h {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: -.01em;
}
.bldev-account-h + .bldev-bookings { margin-bottom: 34px; }

.bldev-bookings { display: flex; flex-direction: column; }
.bldev-booking {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 18px 0;
	border-top: 1px solid var(--bldev-rule);
}
.bldev-booking:last-child { border-bottom: 1px solid var(--bldev-rule); }
.bldev-booking.is-past { opacity: .62; }

.bldev-booking-date { display: flex; align-items: center; gap: 11px; width: 118px; flex-shrink: 0; }
.bldev-booking-main { display: flex; flex-direction: column; gap: 5px; flex-grow: 1; min-width: 0; }
.bldev-booking-main h3 { margin: 0; font-size: 17px; font-weight: 400; line-height: 1.3; }
.bldev-booking-main h3 a { color: var(--bldev-ink); text-decoration: none; }
.bldev-booking-main h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.bldev-booking-where { font-size: 12.5px; color: var(--bldev-muted); }
.bldev-booking-join { display: flex; align-items: center; gap: 12px; font-size: 12.5px; margin-top: 2px; }
.bldev-booking-join a { color: var(--bldev-ink); text-decoration: underline; text-underline-offset: 2px; }
.bldev-booking-join code { background: var(--bldev-rule-soft); padding: 2px 6px; font-size: 12px; }

.bldev-booking-side { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.bldev-booking-price { font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums; }
.bldev-booking-side .bldev-btn { padding: 10px 16px; font-size: 12.5px; }

@media (max-width: 720px) {
	.bldev-booking { flex-wrap: wrap; gap: 12px; }
	.bldev-booking-date { width: auto; }
	.bldev-booking-side { width: 100%; justify-content: space-between; }
	.bldev-booking-side .bldev-btn { min-height: 44px; }
}

/* ------------------------------------------------------------------ ticket --
   Follows the ticket design already approved for Eventin: quiet grey page, one
   white card with a dark bar, mono values and a tear-off stub. Reproduced here
   rather than shared, so the Eventin one keeps working untouched. */

.bldev-tpage { background: #f2f2f0; color: #1c1c1a; font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
/* 80px of headroom, not 28: the logo that used to sit here (34px tall, 18px
   below it, 28px above) is gone — the ticket renders inside the site now, so
   the site header carries the branding — but the card still wants clearing the
   fixed header. Mobile has far less header to clear and needs the screen. */
.bldev-tpage-inner { max-width: 700px; margin: 0 auto; padding: 80px 16px 56px; }

.bldev-t { background: #fff; border: 1px solid #d8d7d2; box-shadow: 0 1px 2px rgba(20,20,26,.06), 0 12px 32px -18px rgba(20,20,26,.28); }
.bldev-t-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 24px; background: #1c1c1a; color: #fff; }
.bldev-t-mark { font-size: 11px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.bldev-t-kind { font-size: 10px; letter-spacing: .16em; color: #b9b8b0; text-transform: uppercase; white-space: nowrap; }

.bldev-t-body { display: flex; align-items: stretch; }
.bldev-t-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; padding: 24px; flex-grow: 1; min-width: 0; }
.bldev-t-wide { grid-column: 1 / -1; }
.bldev-t-lbl { font-size: 9.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #9a9990; margin: 0 0 5px; }
.bldev-t-val { margin: 0; font-size: 13.5px; line-height: 1.45; font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace; word-break: break-word; }
.bldev-t-plain { font-family: inherit; }
.bldev-t-big { font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.3; }

.bldev-t-stub { width: 154px; flex: none; border-left: 1px dashed #d8d7d2; padding: 22px 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.bldev-t-kindtag { font-size: 9.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #1c1c1a; background: #eceae4; padding: 4px 9px; }
.bldev-t-code { font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace; font-size: 15px; font-weight: 600; letter-spacing: .08em; word-break: break-all; }
.bldev-t-stubnote { font-size: 10px; color: #9a9990; }

.bldev-t-join { grid-column: 1 / -1; background: #f7f7f5; border: 1px solid #e7e6e2; padding: 15px 16px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.bldev-t-note { margin: 0; font-size: 13px; color: #55554f; }
.bldev-t-btn { display: inline-block; text-decoration: none; font-size: 13px; font-weight: 600; letter-spacing: .04em; padding: 11px 22px; color: #fff; background: #1c1c1a; border: 1px solid #1c1c1a; }
.bldev-t-btn:hover { background: #000; color: #fff; }
/* No letter-spacing on the passcode: a mono face already separates the digits,
   and extra tracking makes it harder to read back aloud. */
.bldev-t-pass { display: inline-block; font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace; font-size: 17px; font-weight: 600; letter-spacing: 0; background: #fff; border: 1px dashed #b9b8b0; padding: 6px 12px; user-select: all; }

.bldev-t-back { margin: 22px 0 0; font-size: 13px; }
.bldev-t-back a { color: #55554f; }

@media (max-width: 640px) {
	.bldev-tpage-inner { padding-top: 28px; }
	.bldev-t-body { flex-direction: column; }
	.bldev-t-facts { grid-template-columns: minmax(0, 1fr); }
	.bldev-t-stub { width: auto; border-left: 0; border-top: 1px dashed #d8d7d2; flex-direction: row; gap: 14px; }
}

@media print {
	.bldev-tpage { background: #fff; }
	.bldev-t { border: 1px solid #d8d7d2; box-shadow: none; }
}

/* ------------------------------------------------- legacy ticket styles --- */
/* ------------------------------------------------------------------ ticket */

.bldev-ticket-page { padding: 40px 0 72px; }
.bldev-ticket {
	max-width: 560px;
	margin: 0 auto;
	background: var(--bldev-card);
	border: 1px solid var(--bldev-rule);
}
.bldev-ticket-head { padding: 32px 32px 24px; border-bottom: 1px solid var(--bldev-rule); }
.bldev-ticket-head h1 {
	margin: 12px 0 0;
	font-size: 27px;
	line-height: 1.2;
	font-weight: 400;
	letter-spacing: -.015em;
	text-wrap: pretty;
}

.bldev-ticket-facts { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 8px 32px; }
.bldev-ticket-facts > div {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid var(--bldev-rule-soft);
}
.bldev-ticket-facts > div:last-child { border-bottom: 0; }
.bldev-ticket-facts dt {
	width: 88px;
	flex-shrink: 0;
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bldev-muted);
}
.bldev-ticket-facts dd { margin: 0; font-size: 14.5px; line-height: 1.5; }

.bldev-ticket-join {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin: 8px 32px 0;
	padding: 20px 0 4px;
	border-top: 1px solid var(--bldev-rule);
}
.bldev-ticket-code { display: flex; flex-direction: column; gap: 3px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--bldev-muted); }
.bldev-ticket-code strong { font-size: 17px; letter-spacing: .04em; text-transform: none; color: var(--bldev-ink); }

.bldev-ticket-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 24px;
	padding: 18px 32px;
	background: var(--bldev-paper);
	border-top: 1px solid var(--bldev-rule);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bldev-muted);
}
.bldev-ticket-foot code { letter-spacing: .18em; font-size: 13px; color: var(--bldev-ink); }
.bldev-ticket-note { letter-spacing: normal; text-transform: none; font-size: 12px; }

@media print {
	.bldev-ticket { border: 0; }
	.bldev-ticket-foot { background: transparent; }
}

/* ------------------------------------------------------------- pagination */

.bldev .navigation.pagination { margin: 44px 0 0; }
.bldev .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}
.bldev .nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border: 1px solid var(--bldev-rule);
	background: #fff;
	color: var(--bldev-ink);
	font-size: 13.5px;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.bldev .nav-links .page-numbers:hover { border-color: var(--bldev-ink); }
.bldev .nav-links .page-numbers.current {
	background: var(--bldev-ink);
	border-color: var(--bldev-ink);
	color: #fff;
}
.bldev .nav-links .page-numbers.dots { border-color: transparent; background: transparent; color: var(--bldev-muted); min-width: 24px; padding: 0; }
.bldev .nav-links .prev,
.bldev .nav-links .next { letter-spacing: .04em; }
.bldev .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Breathing room under the last thing on the page, whether that is the
   pagination or the final row of cards. */
.bldev-wrap > .bldev-grid:last-child,
.bldev-wrap > .bldev-empty:last-child,
.bldev-wrap > .navigation.pagination:last-child { margin-bottom: 20px; }
.bldev-wrap { padding-bottom: 20px; }

@media (max-width: 720px) {
	.bldev .navigation.pagination { margin-top: 28px; }
	.bldev .nav-links .page-numbers { min-width: 40px; height: 40px; padding: 0 11px; }
}

/* ------------------------------------------------- event-only checkout ---
   The fields are removed server-side, but their headings are printed by the
   theme and by WooCommerce's own template, which never see our filter. Hidden
   here so a seminar checkout does not carry a "Pristatymo adresas" heading with
   nothing beneath it. */

.bldev-event-checkout .bcheckout-h-address,
.bldev-event-checkout .woocommerce-additional-fields,
.bldev-event-checkout #billing_country_field,
.bldev-event-checkout .woocommerce-shipping-fields { display: none !important; }

/* Nothing to pay and nothing to discount on a free registration.
   The theme prints the heading as a bare <strong> straight inside #payment
   (scape-child/woocommerce/checkout/payment.php:26), so that is what this
   targets — WooCommerce hides the gateway list on its own when the total is 0,
   but leaves the label behind. */
.bldev-free-checkout .bcart-coupon-acc,
.bldev-free-checkout #payment.woocommerce-checkout-payment > strong { display: none !important; }

/* Nothing here styles the consent row: it now carries the theme's own classes
   and is styled by the theme, which is what "match" was supposed to mean. */

/* --------------------------------------------- one booking in my account ---
   Reads like Woo's view-order screen — plain label/value rows in framed
   blocks — but with the seminar's own facts. The ticket is deliberately not
   inlined here; it is a pass, and it opens in its own tab. */

.bldev-booking-view .bldev-back { margin: 0 0 14px; font-size: 12.5px; }
.bldev-booking-view .bldev-back a { color: var(--bldev-muted-strong); text-decoration: none; }
.bldev-booking-view .bldev-back a:hover { color: var(--bldev-ink); }

.bldev-bhead {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--bldev-ink);
	margin-bottom: 22px;
}
.bldev-bhead h2 { margin: 0; font-size: 24px; font-weight: 400; line-height: 1.2; }

.bldev-bstate {
	flex-shrink: 0;
	padding: 5px 10px;
	background: var(--bldev-rule-soft);
	color: var(--bldev-muted-strong);
	font-size: 11.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.bldev-bstate:not(.is-past) { background: #eaf3ee; color: var(--bldev-ok); }

.bldev-bcard {
	border: 1px solid var(--bldev-rule);
	background: var(--bldev-card);
	padding: 18px 20px;
	margin-bottom: 14px;
}
.bldev-bcard h3 {
	/* The theme sets its own serif on h3 site-wide; these are section labels,
	   not titles, so they stay in the body face. */
	font-family: Roboto, ui-sans-serif, system-ui, Arial, sans-serif;
	margin: 0 0 12px;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--bldev-muted);
}

.bldev-brow {
	display: flex;
	gap: 16px;
	padding: 8px 0;
	border-top: 1px solid var(--bldev-rule-soft);
	font-size: 13.5px;
}
.bldev-brow:first-of-type { border-top: 0; padding-top: 0; }
.bldev-blabel { width: 40%; max-width: 190px; flex-shrink: 0; color: var(--bldev-muted-strong); }
.bldev-bvalue { color: var(--bldev-ink); word-break: break-word; }
.bldev-bvalue a { color: var(--bldev-ink); text-decoration: underline; text-underline-offset: 2px; }
.bldev-bvalue code { background: var(--bldev-rule-soft); padding: 2px 7px; font-size: 13px; letter-spacing: .06em; }

.bldev-bnote { margin: 10px 0 0; font-size: 12px; color: var(--bldev-muted); }

.bldev-bactions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 20px;
}
.bldev-bactions .bldev-btn { padding: 13px 26px; }
.bldev-bactions .bldev-bnote { margin: 0; max-width: 340px; }

@media (max-width: 600px) {
	.bldev-brow { flex-direction: column; gap: 3px; }
	.bldev-blabel { width: auto; max-width: none; font-size: 12px; }
	.bldev-bactions .bldev-btn { width: 100%; min-height: 46px; }
}

/* ------------------------------------------------------- spent ticket ---
   The URL still resolves after the seminar; this is what it shows. Same
   framed empty-state as everywhere else, plus somewhere to go next. */

.bldev-expired { margin-top: 64px; }
.bldev-expired span { display: block; }
.bldev-expired-lede {
	max-width: 34em;
	margin: 10px auto 0;
	line-height: 1.55;
}
.bldev-expired-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}
.bldev-expired-actions .bldev-btn { padding: 13px 26px; }

@media (max-width: 520px) {
	.bldev-expired { margin-top: 32px; padding: 36px 18px; }
	.bldev-expired-actions { flex-direction: column; }
	.bldev-expired-actions .bldev-btn { width: 100%; min-height: 46px; }
}

/* -------------------------------------------------------------- dialog ---
   The one question the Registruotis button asks. A native <dialog>, so the
   backdrop, focus trap and Esc are the browser's; everything below is only
   making it look like the rest of the site. */

.bldev-dialog {
	width: min(440px, calc(100vw - 32px));
	padding: 0;
	border: 1px solid var(--bldev-rule);
	background: var(--bldev-card);
	color: var(--bldev-ink);
	box-shadow: 0 24px 60px -24px rgba(19, 19, 19, .38);
}
.bldev-dialog::backdrop { background: rgba(19, 19, 19, .42); }

.bldev-dialog-inner { padding: 26px 26px 20px; margin: 0; }

.bldev-dialog h2 {
	margin: 0 0 10px;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
}
.bldev-dialog-lede {
	margin: 0 0 20px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--bldev-body);
}
.bldev-dialog-count { font-weight: 500; color: var(--bldev-ink); }

.bldev-dialog-choices { display: flex; flex-direction: column; }
.bldev-dialog-choices .bldev-btn { width: 100%; padding: 13px 18px; }

/* The consequence under each button, in the smaller grey the site uses for
   supporting text — so the choice is readable without opening either. */
.bldev-dialog-note {
	display: block;
	margin: 7px 2px 16px;
	font-size: 12px;
	line-height: 1.45;
	color: var(--bldev-muted-strong);
}
.bldev-dialog-note:last-of-type { margin-bottom: 4px; }

/* Third option, deliberately not a button-looking thing: doing nothing should
   not compete with the two real choices. */
.bldev-dialog-cancel {
	display: block;
	width: 100%;
	margin: 4px 0 0;
	padding: 10px;
	border: 0;
	background: none;
	color: var(--bldev-muted-strong);
	font-family: inherit;
	font-size: 12.5px;
	cursor: pointer;
}
.bldev-dialog-cancel:hover { color: var(--bldev-ink); text-decoration: underline; }

@media (max-width: 480px) {
	.bldev-dialog-inner { padding: 22px 18px 16px; }
	.bldev-dialog h2 { font-size: 19px; }
	.bldev-dialog-choices .bldev-btn { min-height: 48px; }
}

/* ------------------------------------------------- order-received page ---
   Same V4 language as the shop's thank-you page (hairlines, quiet cards,
   tabular numerals, no radii) so the two pages read as siblings — but owned
   here, under .bldev-ty, so nothing depends on the theme's stylesheet. */

.bldev-ty {
	max-width: 680px;
	margin: 6px auto 48px;
	padding: 0 16px;
	background: transparent;
	font-size: 14px;
	line-height: 1.55;
	color: #1b1b1b;
}

.bldev-ty-tick {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	font-size: 21px;
	font-weight: 500;
	color: var(--bldev-ink);
}
.bldev-ty-tick-i {
	flex: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--bldev-ok);
	color: #fff;
	display: grid;
	place-items: center;
}
.bldev-ty-tick-i svg { width: 14px; height: 14px; }
.bldev-ty-tick.is-wait .bldev-ty-tick-i {
	background: #fff;
	border: 2px solid #d9a441;
	border-top-color: transparent;
	animation: bldev-ty-spin 1s linear infinite;
}
@keyframes bldev-ty-spin { to { transform: rotate(360deg); } }
.bldev-ty-sub { margin: 0 0 2px; color: var(--bldev-muted); font-size: 13px; max-width: 560px; }
.bldev-ty-date { margin: 0 0 20px; color: var(--bldev-muted); font-size: 12.5px; }

.bldev-ty-card {
	border: 1px solid var(--bldev-rule);
	background: #fff;
	padding: 16px 18px;
	margin: 0 0 10px;
}
.bldev-ty-card.is-dim { opacity: .45; }
.bldev-ty-quiet { background: var(--bldev-paper); }
.bldev-ty-event { border-color: var(--bldev-ink); }
.bldev-ty-lab {
	display: block;
	margin: 0;
	font-size: 9.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--bldev-muted);
	font-weight: 600;
}
.bldev-ty-card-t { margin: 6px 0 2px; font-weight: 500; color: var(--bldev-ink); }
.bldev-ty-card-p { margin: 0; color: var(--bldev-muted); font-size: 12.5px; }

.bldev-ty-title {
	margin: 8px 0 12px;
	font-size: 26px;
	line-height: 1.15;
	font-weight: 400;
	color: var(--bldev-ink);
}
.bldev-ty-title a { color: inherit; text-decoration: none; }
.bldev-ty-title a:hover { text-decoration: underline; text-underline-offset: 3px; }

.bldev-ty-facts {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 6px 14px;
	margin: 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--bldev-rule-soft);
	font-size: 13.5px;
}
.bldev-ty-facts dt { color: var(--bldev-muted); font-size: 12.5px; padding-top: 1px; }
.bldev-ty-facts dd { margin: 0; color: var(--bldev-ink); }
.bldev-ty-note { display: block; color: var(--bldev-muted); font-size: 12px; margin-top: 1px; }

.bldev-ty-tickets { margin-top: 14px; border-top: 1px solid var(--bldev-rule); }
.bldev-ty-ticket {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--bldev-rule-soft);
}
.bldev-ty-ticket:last-child { border-bottom: 0; }
.bldev-ty-ticket-who { display: grid; gap: 2px; min-width: 0; }
.bldev-ty-ticket-who b { font-weight: 500; color: var(--bldev-ink); }
.bldev-ty-code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--bldev-muted-strong);
}
.bldev-ty-gift { margin: 10px 0 0; color: var(--bldev-muted-strong); font-size: 12.5px; }
.bldev-ty-wait {
	margin: 14px 0 0;
	padding: 10px 14px;
	border: 1px solid #ecdcb6;
	background: #fbf3e3;
	color: #8a6420;
	font-size: 12.5px;
}

.bldev-ty-err {
	border: 1px solid #efcfcb;
	background: #faedec;
	color: #b3392f;
	padding: 14px 16px;
	margin: 0 0 14px;
}
.bldev-ty-err strong { color: #b3392f; display: block; margin-bottom: 2px; }

/* buttons — the ticket page's, so "Atidaryti bilietą" looks the same here
   and there */
.bldev-ty-btn {
	display: inline-block;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	padding: 11px 22px;
	color: #fff;
	background: #1c1c1a;
	border: 1px solid #1c1c1a;
	white-space: nowrap;
	border-radius: 0;
	line-height: 1.3;
}
.bldev-ty-btn:hover, .bldev-ty-btn:focus { background: #000; color: #fff; text-decoration: none; }
.bldev-ty-btn-ghost { background: #fff; color: #1c1c1a; }
.bldev-ty-btn-ghost:hover, .bldev-ty-btn-ghost:focus { background: var(--bldev-paper); color: #1c1c1a; }
/* full-width 50/50, as on the shop's thank-you page; one button spans */
.bldev-ty-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 14px; width: 100%; }
.bldev-ty-actions:has(> :only-child) { grid-template-columns: 1fr; }
.bldev-ty-actions .bldev-ty-btn { display: block; text-align: center; padding: 12px 18px; }
.bldev-ty-actions-foot { margin-top: 18px; }

/* the theme's guest account form, rendered inside our card */
.bldev-ty-account { border-color: var(--bldev-ink); }
.bldev-ty-account .bty-form { margin: 12px 0 0; display: grid; gap: 8px; }
.bldev-ty-account .bty-field { display: grid; gap: 3px; }
.bldev-ty-account .bty-field span { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--bldev-muted); font-weight: 600; }
.bldev-ty-account .bty-field input { border: 1px solid #d8d7d2; background: #fff; color: #1b1b1b; padding: 9px 12px; font-size: 13px; width: 100%; border-radius: 0; }
.bldev-ty-account .bty-field input[readonly] { background: var(--bldev-paper); color: var(--bldev-muted-strong); }
.bldev-ty-account .bty-btn { display: inline-block; padding: 11px 22px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: #fff; background: #1c1c1a; border: 1px solid #1c1c1a; border-radius: 0; cursor: pointer; }
.bldev-ty-account .bty-formerr { border: 1px solid #efcfcb; background: #faedec; color: #b3392f; padding: 8px 11px; margin: 0 0 10px; font-size: 12.5px; }

/* folded order */
details.bldev-ty-order { padding: 0; }
details.bldev-ty-order summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	user-select: none;
}
details.bldev-ty-order summary::-webkit-details-marker { display: none; }
details.bldev-ty-order summary:focus-visible { outline: 2px solid var(--bldev-ink); outline-offset: -2px; }
details.bldev-ty-order[open] summary { border-bottom: 1px solid var(--bldev-rule-soft); }
.bldev-ty-ar { margin-left: auto; color: var(--bldev-muted); font-size: 10px; }
.bldev-ty-ar::before { content: "\25BC"; }
details.bldev-ty-order[open] .bldev-ty-ar::before { content: "\25B2"; }
.bldev-ty-order-body { padding: 10px 18px 14px; }
.bldev-ty-line {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 3px 0;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}
.bldev-ty-line > span:last-child { margin-left: auto; text-align: right; }
.bldev-ty-line.is-mute, .bldev-ty-line.is-mute .amount { color: var(--bldev-muted); }
.bldev-ty-line.is-grand { border-top: 1px solid var(--bldev-rule); margin-top: 6px; padding-top: 8px; font-weight: 600; color: var(--bldev-ink); }
.bldev-ty-line .includes_tax { display: block; font-size: 11px; font-weight: 400; color: var(--bldev-muted); }
.bldev-ty-buyer {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 5px 18px;
	margin: 12px 0 0;
	padding-top: 10px;
	border-top: 1px solid var(--bldev-rule);
	font-size: 13px;
}
.bldev-ty-buyer dt { color: var(--bldev-muted); }
.bldev-ty-buyer dd { margin: 0; color: #1b1b1b; }

.bldev-ty-plugin:empty { display: none; }

@media (max-width: 480px) {
	.bldev-ty-title { font-size: 22px; }
	.bldev-ty-facts { grid-template-columns: 1fr; gap: 2px; }
	.bldev-ty-facts dt { margin-top: 6px; }
	.bldev-ty-ticket { flex-direction: column; align-items: stretch; }
	.bldev-ty-ticket .bldev-ty-btn { text-align: center; }
	.bldev-ty-buyer { grid-template-columns: 1fr; gap: 1px; }
	.bldev-ty-buyer dd { margin: 0 0 8px; }
	.bldev-ty-actions { grid-template-columns: 1fr; }
}

/* ------------------------------------------- my-account nav icon ---
   The theme draws every account-menu icon with its scape-ui glyph font
   (Feather outlines). There is no calendar glyph in that font, so this one is
   the Feather calendar as a mask on currentColor — same stroke, same size,
   same colour swap on the active item. */
.wtbx-myaccount .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--mano-seminarai a:before {
	content: "";
	width: 18px;
	height: 18px;
	padding: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>") center / contain no-repeat;
}

/* ------------------------------------------------ multi-seat form ---
   (rule multi_seat) — lives in the aside box under the price. */
.bldev-regform { display: grid; gap: 12px; margin-top: 4px; }
.bldev-seats { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13.5px; color: var(--bldev-body); }
.bldev-seats-n {
	width: 76px;
	padding: 9px 10px;
	border: 1px solid #d8d7d2;
	background: #fff;
	color: var(--bldev-ink);
	font-family: inherit;
	font-size: 14px;
	border-radius: 0;
}
.bldev-seat-note { margin: 0; font-size: 12px; color: var(--bldev-muted); }
.bldev-att { border: 1px solid var(--bldev-rule); padding: 12px 14px 14px; margin: 0; display: grid; gap: 8px; }
.bldev-att legend { font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--bldev-muted); padding: 0 6px; }
.bldev-att input {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid #d8d7d2;
	background: #fff;
	color: var(--bldev-ink);
	font-family: inherit;
	font-size: 13.5px;
	border-radius: 0;
}
.bldev-att input:focus { outline: 2px solid var(--bldev-ink); outline-offset: -2px; border-color: var(--bldev-ink); }
.bldev-regform .bldev-regform-go { width: 100%; cursor: pointer; }
.bldev-qty-locked { display: inline-block; min-width: 24px; text-align: center; font-variant-numeric: tabular-nums; }
