/*
 * Becks Creek Tickets – Western-Theme (Block 5, P01-1 bis P04-1).
 * P01-1: CSS-Variablen, @font-face, templateübergreifender Grundreset.
 * P02-1: Klassen-Styles für Produktübersicht (shop.php) und Warenkorb
 * (cart.php).
 * P03-1: Klassen-Styles für Checkout (checkout.php) und Bestätigungsseite
 * (checkout-confirmation.php).
 * P04-1: Klassen-Styles für Statusseite (order-status.php) und Fehlerseite
 * (order-status-not-found.php) – anders als die vorigen Templates eigene,
 * standalone <html>-Dokumente ohne WP-Theme-Header/-Footer (kein Rewrite
 * über einen WP-Seiteninhalt, siehe includes/rewrite/status-page.php),
 * deshalb body.bct-standalone-page für das Seiten-Grundgerüst.
 */

@font-face {
	font-family: 'Rye';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/rye-regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Vollkorn';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/vollkorn-regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Vollkorn';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/vollkorn-bold.woff2') format('woff2');
}

:root {
	/* Pergament */
	--bct-color-parchment: #f3e2c1;
	--bct-color-parchment-dark: #e2c793;

	/* Holz */
	--bct-color-wood: #6b4226;
	--bct-color-wood-dark: #4a2c17;

	/* Text/Akzente */
	--bct-color-ink: #2c1c10;
	--bct-color-accent: #a8321f;
	--bct-color-danger: #9b1c1c;
	--bct-color-success: #3f6b2a;

	/* Schriften */
	--bct-font-display: 'Rye', 'Georgia', serif;
	--bct-font-body: 'Vollkorn', Georgia, 'Times New Roman', serif;
}

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

body {
	font-family: var(--bct-font-body);
	color: var(--bct-color-ink);
}

/* ==========================================================================
   Gemeinsame Steckbrief-/Wanted-Poster-Bausteine (Block 5, P02-1)
   ========================================================================== */

.bct-shop,
.bct-cart,
.bct-checkout,
.bct-checkout-confirmation {
	/*
	 * Eigene, feste font-size-Basis statt sich auf das html-Root zu verlassen:
	 * das aktive WP-Theme ("Vantage") setzt html { font-size: 62.5% } (10px-
	 * Trick), wodurch rem-Werte hier viel zu klein gerendert hätten. Alle
	 * folgenden Größen sind deshalb in em statt rem angegeben, bezogen auf
	 * diese lokale Basis.
	 */
	font-size: 16px;
	max-width: 960px;
	margin: 0 auto;
	padding: 2em 1.25em 3em;
	font-family: var(--bct-font-body);
	color: var(--bct-color-ink);
}

/*
 * Alle folgenden Regeln sind bewusst unter ".bct-shop"/".bct-cart"/
 * ".bct-checkout"/".bct-checkout-confirmation" verschachtelt (statt bloßer
 * Einzelklassen) – nicht zur Verschönerung, sondern damit die Spezifität
 * zuverlässig über den Deklarationen des aktiven WP-Themes ("Vantage", lädt
 * nach bct-theme.css) und von WooCommerce liegt. Mit unverschachtelten
 * Einzelklassen wurden z. B. Überschriftenfarben vom Theme überschrieben
 * (beobachtet bei .bct-shop-event-title gegen Vantage-`h2`-Regeln).
 */

/* Nagelkopf-Eckornamente – auf allen "Papier"-Flächen wiederverwendet. */
.bct-shop .bct-ticket-card,
.bct-cart .bct-cart-table,
.bct-cart .bct-cart-discount-form,
.bct-cart .bct-cart-grand-total,
.bct-checkout .bct-checkout-ticket,
.bct-checkout-confirmation .bct-checkout-confirmation-order-number {
	position: relative;
}

.bct-shop .bct-ticket-card::before,
.bct-shop .bct-ticket-card::after,
.bct-cart .bct-cart-grand-total::before,
.bct-cart .bct-cart-grand-total::after,
.bct-checkout-confirmation .bct-checkout-confirmation-order-number::before,
.bct-checkout-confirmation .bct-checkout-confirmation-order-number::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #d8c090, var(--bct-color-wood-dark));
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

.bct-shop .bct-ticket-card::before,
.bct-cart .bct-cart-grand-total::before,
.bct-checkout-confirmation .bct-checkout-confirmation-order-number::before {
	top: 8px;
	left: 8px;
}

.bct-shop .bct-ticket-card::after,
.bct-cart .bct-cart-grand-total::after,
.bct-checkout-confirmation .bct-checkout-confirmation-order-number::after {
	top: 8px;
	right: 8px;
}

.bct-shop .bct-shop-notice,
.bct-cart .bct-cart-notice,
.bct-checkout .bct-checkout-errors {
	padding: 0.75em 1em;
	margin: 0 0 1.5em;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: var(--bct-color-parchment);
	font-weight: 700;
}

.bct-shop .bct-shop-notice--success,
.bct-cart .bct-cart-notice--success {
	border-color: var(--bct-color-success);
	color: var(--bct-color-success);
	background: #e7f0dd;
}

.bct-shop .bct-shop-notice--error,
.bct-cart .bct-cart-notice--error,
.bct-checkout .bct-checkout-errors {
	border-color: var(--bct-color-danger);
	color: var(--bct-color-danger);
	background: #f4dede;
}

.bct-checkout .bct-checkout-error {
	margin: 0;
}

.bct-checkout .bct-checkout-error + .bct-checkout-error {
	margin-top: 0.4em;
}

/* ==========================================================================
   Produktübersicht (templates/shop.php)
   ========================================================================== */

.bct-shop .bct-shop-event-title {
	font-family: var(--bct-font-display);
	font-size: 2.25em;
	color: var(--bct-color-wood-dark);
	text-align: center;
	margin: 0 0 2em;
	letter-spacing: 0.03em;
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.35);
}

.bct-shop .bct-shop-event-description {
	max-width: 48em;
	margin: 0 auto 2em;
	line-height: 1.6;
}

.bct-shop .bct-shop-event-description p {
	margin: 0 0 1em;
}

.bct-shop .bct-shop-event-description ul,
.bct-shop .bct-shop-event-description ol {
	margin: 0 0 1em;
	padding-left: 1.5em;
}

.bct-shop .bct-shop-tickets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5em;
}

.bct-shop .bct-ticket-card {
	display: flex;
	flex-direction: column;
	padding: 1.5em 1.25em;
	background:
		radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.15), transparent 60%),
		linear-gradient(160deg, var(--bct-color-parchment) 0%, var(--bct-color-parchment-dark) 100%);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

.bct-shop .bct-ticket-card--sold-out {
	background:
		linear-gradient(160deg, #d9d0bd 0%, #c4baa5 100%);
	border-color: var(--bct-color-wood-dark);
}

.bct-shop .bct-ticket-title {
	font-family: var(--bct-font-display);
	font-size: 1.4em;
	color: var(--bct-color-wood-dark);
	margin: 0 0 0.5em;
}

.bct-shop .bct-ticket-title a {
	color: inherit;
	text-decoration: none;
}

.bct-shop .bct-ticket-title a:hover {
	color: var(--bct-color-accent);
	text-decoration: underline;
}

.bct-shop .bct-ticket-description {
	flex-grow: 1;
	margin: 0 0 1em;
	line-height: 1.5;
}

.bct-shop .bct-ticket-price {
	font-weight: 700;
	font-size: 1.25em;
	color: var(--bct-color-accent);
	margin: 0 0 0.5em;
}

.bct-shop .bct-ticket-stock {
	margin: 0 0 1em;
	font-weight: 700;
}

.bct-shop .bct-ticket-stock--sold-out {
	color: var(--bct-color-danger);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.bct-shop .bct-add-to-cart-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em;
	margin-top: auto;
}

.bct-shop .bct-add-to-cart-form label {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 700;
}

.bct-shop .bct-add-to-cart-form input[type='number'] {
	width: 4.5em;
	padding: 0.35em 0.5em;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: #fffaf0;
	color: var(--bct-color-ink);
	font-family: var(--bct-font-body);
}

.bct-shop .bct-add-to-cart-form button,
.bct-cart .bct-cart-line-form button,
.bct-cart .bct-cart-discount-form button,
.bct-cart .bct-cart-discount-remove-form button {
	padding: 0.55em 1.1em;
	border: 2px solid var(--bct-color-wood-dark);
	border-radius: 3px;
	background: linear-gradient(180deg, var(--bct-color-wood) 0%, var(--bct-color-wood-dark) 100%);
	color: var(--bct-color-parchment);
	font-family: var(--bct-font-display);
	letter-spacing: 0.04em;
	font-size: 0.95em;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 2px 3px rgba(0, 0, 0, 0.3);
}

.bct-shop .bct-add-to-cart-form button:hover,
.bct-cart .bct-cart-line-form button:hover,
.bct-cart .bct-cart-discount-form button:hover,
.bct-cart .bct-cart-discount-remove-form button:hover {
	background: linear-gradient(180deg, var(--bct-color-accent) 0%, var(--bct-color-wood-dark) 100%);
}

/* ==========================================================================
   Ticketart-Detailseite (templates/ticket-type-detail.php, R19)
   ========================================================================== */

.bct-shop .bct-ticket-detail-back {
	margin: 0 0 1.5em;
	font-weight: 700;
}

.bct-shop .bct-ticket-detail-back a {
	color: var(--bct-color-wood-dark);
	text-decoration: none;
}

.bct-shop .bct-ticket-detail-back a:hover {
	color: var(--bct-color-accent);
	text-decoration: underline;
}

.bct-shop .bct-ticket-detail {
	position: relative;
	padding: 2em 1.75em;
	background:
		radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.15), transparent 60%),
		linear-gradient(160deg, var(--bct-color-parchment) 0%, var(--bct-color-parchment-dark) 100%);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

.bct-shop .bct-ticket-detail--sold-out {
	background:
		linear-gradient(160deg, #d9d0bd 0%, #c4baa5 100%);
	border-color: var(--bct-color-wood-dark);
}

.bct-shop .bct-ticket-detail-title {
	font-family: var(--bct-font-display);
	font-size: 1.8em;
	color: var(--bct-color-wood-dark);
	margin: 0 0 0.75em;
}

.bct-shop .bct-ticket-detail-description {
	margin: 0 0 1.25em;
	line-height: 1.6;
}

.bct-shop .bct-ticket-detail-description p {
	margin: 0 0 1em;
}

.bct-shop .bct-ticket-detail-description ul,
.bct-shop .bct-ticket-detail-description ol {
	margin: 0 0 1em;
	padding-left: 1.5em;
}

.bct-shop .bct-ticket-detail-price {
	font-weight: 700;
	font-size: 1.4em;
	color: var(--bct-color-accent);
	margin: 0 0 0.5em;
}

.bct-shop .bct-ticket-detail-stock {
	margin: 0 0 1em;
	font-weight: 700;
}

.bct-shop .bct-ticket-detail-stock--sold-out {
	color: var(--bct-color-danger);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ==========================================================================
   Warenkorb (templates/cart.php)
   ========================================================================== */

.bct-cart .bct-cart-event-title {
	font-family: var(--bct-font-display);
	font-size: 1.6em;
	color: var(--bct-color-wood-dark);
	margin: 2em 0 0.75em;
}

.bct-cart .bct-cart-empty {
	text-align: center;
	font-size: 1.15em;
	padding: 2em;
	border: 2px dashed var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment);
}

.bct-cart .bct-cart-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--bct-color-parchment);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	overflow: hidden;
	display: block;
	overflow-x: auto;
	white-space: nowrap;
}

.bct-cart .bct-cart-table thead th {
	font-family: var(--bct-font-display);
	text-align: left;
	padding: 0.65em 0.85em;
	background: var(--bct-color-wood);
	color: var(--bct-color-parchment);
	letter-spacing: 0.03em;
}

.bct-cart .bct-cart-table tbody td {
	padding: 0.65em 0.85em;
	border-top: 1px dashed var(--bct-color-wood);
	vertical-align: middle;
}

.bct-cart .bct-cart-table tbody tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.25);
}

.bct-cart .bct-cart-line-form {
	display: flex;
	align-items: center;
	gap: 0.5em;
	flex-wrap: wrap;
}

.bct-cart .bct-cart-line-form input[type='number'] {
	width: 4em;
	padding: 0.3em 0.4em;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: #fffaf0;
	color: var(--bct-color-ink);
	font-family: var(--bct-font-body);
}

.bct-cart .bct-cart-line-form button,
.bct-cart .bct-cart-discount-remove-form button {
	padding: 0.4em 0.75em;
	font-size: 0.85em;
}

.bct-cart .bct-cart-subtotal {
	text-align: right;
	font-size: 1.1em;
	margin: 1.5em 0 0.5em;
}

.bct-cart .bct-cart-discount {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75em;
	flex-wrap: wrap;
	text-align: right;
	margin: 0 0 0.5em;
	color: var(--bct-color-success);
	font-weight: 700;
}

.bct-cart .bct-cart-discount--invalid {
	color: var(--bct-color-danger);
}

.bct-cart .bct-cart-discount-form {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 0.75em;
	flex-wrap: wrap;
	margin: 0 0 0.5em;
	padding: 0.85em 1em;
	border: 2px dashed var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment);
}

.bct-cart .bct-cart-discount-form label {
	font-weight: 700;
}

.bct-cart .bct-cart-discount-form input[type='text'] {
	padding: 0.4em 0.6em;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: #fffaf0;
	color: var(--bct-color-ink);
	font-family: var(--bct-font-body);
}

.bct-cart .bct-cart-grand-total {
	text-align: right;
	font-family: var(--bct-font-display);
	font-size: 1.75em;
	color: var(--bct-color-accent);
	padding: 1em 1.5em;
	margin: 1.5em 0;
	border: 3px double var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment-dark);
}

.bct-cart .bct-cart-checkout {
	text-align: center;
	margin-top: 1.5em;
}

.bct-cart .bct-cart-checkout-link {
	display: inline-block;
	padding: 0.9em 2.5em;
	border: 2px solid var(--bct-color-wood-dark);
	border-radius: 4px;
	background: linear-gradient(180deg, var(--bct-color-accent) 0%, var(--bct-color-wood-dark) 100%);
	color: var(--bct-color-parchment);
	font-family: var(--bct-font-display);
	font-size: 1.3em;
	letter-spacing: 0.04em;
	text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 3px 6px rgba(0, 0, 0, 0.35);
}

.bct-cart .bct-cart-checkout-link:hover {
	background: linear-gradient(180deg, var(--bct-color-wood) 0%, var(--bct-color-wood-dark) 100%);
}

/* ==========================================================================
   Checkout (templates/checkout.php)
   ========================================================================== */

.bct-checkout .bct-checkout-empty {
	text-align: center;
	font-size: 1.15em;
	padding: 2em;
	border: 2px dashed var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment);
}

.bct-checkout .bct-checkout-form {
	display: flex;
	flex-direction: column;
	gap: 0.25em;
}

.bct-checkout .bct-checkout-section-title {
	font-family: var(--bct-font-display);
	font-size: 1.5em;
	color: var(--bct-color-wood-dark);
	margin: 1.25em 0 0.5em;
	letter-spacing: 0.03em;
}

.bct-checkout .bct-checkout-field {
	margin: 0 0 0.9em;
}

.bct-checkout .bct-checkout-field label,
.bct-checkout .bct-required-field-label {
	display: inline-block;
	font-weight: 700;
	margin-bottom: 0.35em;
}

.bct-checkout .bct-required-marker {
	color: var(--bct-color-danger);
}

.bct-checkout .bct-checkout-field input[type='text'],
.bct-checkout .bct-checkout-field input[type='email'],
.bct-checkout .bct-required-field input[type='text'] {
	width: 100%;
	max-width: 24em;
	padding: 0.45em 0.6em;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: #fffaf0;
	color: var(--bct-color-ink);
	font-family: var(--bct-font-body);
}

.bct-checkout .bct-required-field {
	margin: 0 0 0.9em;
}

/* Ja/Nein-Radiobuttons als zusammengehörige Gruppe statt loser Einzelfelder. */
.bct-checkout .bct-required-field label {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	margin-right: 1.25em;
	padding: 0.35em 0.75em;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: #fffaf0;
	font-weight: 400;
	cursor: pointer;
}

.bct-checkout .bct-checkout-ticket {
	padding: 1.25em 1.25em 0.5em;
	margin: 0 0 1.25em;
	background:
		radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.15), transparent 60%),
		linear-gradient(160deg, var(--bct-color-parchment) 0%, var(--bct-color-parchment-dark) 100%);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

.bct-checkout .bct-checkout-ticket legend {
	padding: 0 0.5em;
	font-family: var(--bct-font-display);
	font-size: 1.15em;
	color: var(--bct-color-wood-dark);
	letter-spacing: 0.02em;
}

.bct-checkout .bct-checkout-subtotal,
.bct-checkout .bct-checkout-discount {
	text-align: right;
	font-size: 1.1em;
	margin: 0 0 0.5em;
}

.bct-checkout .bct-checkout-discount {
	color: var(--bct-color-success);
	font-weight: 700;
}

.bct-checkout .bct-checkout-grand-total {
	text-align: right;
	font-family: var(--bct-font-display);
	font-size: 1.75em;
	color: var(--bct-color-accent);
	padding: 1em 1.5em;
	margin: 1em 0 1.5em;
	border: 3px double var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment-dark);
}

.bct-checkout .bct-checkout-submit {
	display: block;
	margin: 0 auto;
	padding: 0.9em 2.5em;
	border: 2px solid var(--bct-color-wood-dark);
	border-radius: 4px;
	background: linear-gradient(180deg, var(--bct-color-accent) 0%, var(--bct-color-wood-dark) 100%);
	color: var(--bct-color-parchment);
	font-family: var(--bct-font-display);
	font-size: 1.3em;
	letter-spacing: 0.04em;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 3px 6px rgba(0, 0, 0, 0.35);
}

.bct-checkout .bct-checkout-submit:hover {
	background: linear-gradient(180deg, var(--bct-color-wood) 0%, var(--bct-color-wood-dark) 100%);
}

/* ==========================================================================
   Bestätigungsseite (templates/checkout-confirmation.php)
   ========================================================================== */

.bct-checkout-confirmation h2 {
	font-family: var(--bct-font-display);
	font-size: 2em;
	color: var(--bct-color-wood-dark);
	text-align: center;
	margin: 0 0 1em;
	letter-spacing: 0.03em;
}

.bct-checkout-confirmation .bct-checkout-confirmation-order-number {
	text-align: center;
	font-family: var(--bct-font-display);
	font-size: 1.5em;
	color: var(--bct-color-accent);
	padding: 0.75em 1.5em;
	margin: 0 0 1.5em;
	border: 3px double var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment-dark);
}

.bct-checkout-confirmation .bct-checkout-confirmation-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--bct-color-parchment);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	overflow: hidden;
	display: block;
	overflow-x: auto;
	white-space: nowrap;
	margin: 0 0 1.5em;
}

.bct-checkout-confirmation .bct-checkout-confirmation-table thead th {
	font-family: var(--bct-font-display);
	text-align: left;
	padding: 0.65em 0.85em;
	background: var(--bct-color-wood);
	color: var(--bct-color-parchment);
	letter-spacing: 0.03em;
}

.bct-checkout-confirmation .bct-checkout-confirmation-table tbody td {
	padding: 0.65em 0.85em;
	border-top: 1px dashed var(--bct-color-wood);
	vertical-align: middle;
}

.bct-checkout-confirmation .bct-checkout-confirmation-table tbody tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.25);
}

.bct-checkout-confirmation .bct-checkout-confirmation-subtotal,
.bct-checkout-confirmation .bct-checkout-confirmation-discount {
	text-align: right;
	font-size: 1.1em;
	margin: 0 0 0.5em;
}

.bct-checkout-confirmation .bct-checkout-confirmation-discount {
	color: var(--bct-color-success);
	font-weight: 700;
}

.bct-checkout-confirmation .bct-checkout-confirmation-total {
	text-align: right;
	font-family: var(--bct-font-display);
	font-size: 1.75em;
	color: var(--bct-color-accent);
	padding: 1em 1.5em;
	margin: 1em 0 1.5em;
	border: 3px double var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment-dark);
}

.bct-checkout-confirmation .bct-checkout-confirmation-note {
	text-align: center;
	font-style: italic;
	line-height: 1.5;
}

/* ==========================================================================
   Standalone-Seitengerüst (Block 5, P04-1) – order-status.php und
   order-status-not-found.php haben kein WP-Theme-Header/-Footer, deshalb
   Hintergrund/Zentrierung hier statt in den .bct-shop/.bct-cart/…-Regeln
   oben, die sich auf das umgebende WP-Theme verlassen.
   ========================================================================== */

body.bct-standalone-page {
	box-sizing: border-box;
	margin: 0;
	min-height: 100vh;
	padding: 2.5em 1em;
	display: flex;
	justify-content: center;
	background: linear-gradient(160deg, var(--bct-color-wood) 0%, var(--bct-color-wood-dark) 100%);
	font-family: var(--bct-font-body);
	color: var(--bct-color-ink);
}

/* ==========================================================================
   Statusseite (templates/order-status.php)
   ========================================================================== */

.bct-order-status {
	font-size: 16px;
	width: 100%;
	max-width: 720px;
	height: fit-content;
	margin: 0 auto;
	padding: 2em 1.75em 2.5em;
	background:
		radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.15), transparent 60%),
		linear-gradient(160deg, var(--bct-color-parchment) 0%, var(--bct-color-parchment-dark) 100%);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
}

.bct-order-status h1 {
	font-family: var(--bct-font-display);
	font-size: 2em;
	color: var(--bct-color-wood-dark);
	text-align: center;
	margin: 0 0 0.75em;
	letter-spacing: 0.03em;
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.35);
}

.bct-order-status .bct-order-status-status {
	display: block;
	width: fit-content;
	margin: 0 auto 1.75em;
	padding: 0.5em 1.25em;
	font-weight: 700;
	text-align: center;
	border: 2px solid var(--bct-color-wood);
	border-radius: 3px;
	background: var(--bct-color-parchment-dark);
	color: var(--bct-color-wood-dark);
}

.bct-order-status .bct-order-status-status[data-status='bezahlt'] {
	border-color: var(--bct-color-success);
	color: var(--bct-color-success);
	background: #e7f0dd;
}

.bct-order-status .bct-order-status-status[data-status='storniert'],
.bct-order-status .bct-order-status-status[data-status='abgelaufen'] {
	border-color: var(--bct-color-wood);
	color: var(--bct-color-wood-dark);
	background: #d9d0bd;
	opacity: 0.85;
}

.bct-order-status .bct-order-status-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--bct-color-parchment);
	border: 3px solid var(--bct-color-wood);
	border-radius: 4px;
	display: block;
	overflow-x: auto;
	white-space: nowrap;
	margin: 0 0 1.5em;
}

.bct-order-status .bct-order-status-table thead th {
	font-family: var(--bct-font-display);
	text-align: left;
	padding: 0.65em 0.85em;
	background: var(--bct-color-wood);
	color: var(--bct-color-parchment);
	letter-spacing: 0.03em;
}

.bct-order-status .bct-order-status-table tbody td {
	padding: 0.65em 0.85em;
	border-top: 1px dashed var(--bct-color-wood);
	vertical-align: middle;
}

.bct-order-status .bct-order-status-table tbody tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.25);
}

.bct-order-status .bct-order-status-download {
	display: inline-block;
	padding: 0.35em 0.8em;
	border: 2px solid var(--bct-color-wood-dark);
	border-radius: 3px;
	background: linear-gradient(180deg, var(--bct-color-accent) 0%, var(--bct-color-wood-dark) 100%);
	color: var(--bct-color-parchment);
	font-family: var(--bct-font-display);
	font-size: 0.85em;
	letter-spacing: 0.03em;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 2px 3px rgba(0, 0, 0, 0.3);
}

.bct-order-status .bct-order-status-download:hover {
	background: linear-gradient(180deg, var(--bct-color-wood) 0%, var(--bct-color-wood-dark) 100%);
}

.bct-order-status .bct-order-status-subtotal,
.bct-order-status .bct-order-status-discount {
	text-align: right;
	font-size: 1.1em;
	margin: 0 0 0.5em;
}

.bct-order-status .bct-order-status-discount {
	color: var(--bct-color-success);
	font-weight: 700;
}

.bct-order-status .bct-order-status-total {
	text-align: right;
	font-family: var(--bct-font-display);
	font-size: 1.75em;
	color: var(--bct-color-accent);
	padding: 1em 1.5em;
	margin: 1em 0 1.5em;
	border: 3px double var(--bct-color-wood);
	border-radius: 4px;
	background: var(--bct-color-parchment-dark);
}

.bct-order-status .bct-order-status-payment-due,
.bct-order-status .bct-order-status-cancel-deadline {
	text-align: center;
	font-weight: 700;
	margin: 0 0 0.5em;
}

.bct-order-status .bct-order-status-hint {
	text-align: center;
	font-style: italic;
	line-height: 1.5;
	margin: 1em 0 0;
}

.bct-order-status .bct-order-status-cancel-form {
	text-align: center;
	margin: 1em 0 0;
}

.bct-order-status .bct-order-status-cancel {
	display: inline-block;
	padding: 0.75em 2em;
	border: 2px solid var(--bct-color-wood-dark);
	border-radius: 4px;
	background: linear-gradient(180deg, var(--bct-color-danger) 0%, var(--bct-color-wood-dark) 100%);
	color: var(--bct-color-parchment);
	font-family: var(--bct-font-display);
	font-size: 1.1em;
	letter-spacing: 0.04em;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 3px 6px rgba(0, 0, 0, 0.35);
}

.bct-order-status .bct-order-status-cancel:hover {
	background: linear-gradient(180deg, #c23a3a 0%, var(--bct-color-wood-dark) 100%);
}

/* ==========================================================================
   Fehlerseite (templates/order-status-not-found.php) – bewusst
   zurückhaltend/neutral gehalten (siehe Kommentar in der Template-Datei:
   kein Rückschluss, ob ein Token je existiert hat), aber konsistent zum
   übrigen Theme (Schriften/Grundfarben), kein unstyled "leeres" Aussehen.
   ========================================================================== */

.bct-order-status-not-found {
	font-size: 16px;
	width: 100%;
	max-width: 520px;
	height: fit-content;
	margin: 0 auto;
	padding: 2.5em 2em;
	text-align: center;
	background: var(--bct-color-parchment);
	border: 2px solid var(--bct-color-wood);
	border-radius: 4px;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

.bct-order-status-not-found h1 {
	font-family: var(--bct-font-display);
	font-size: 1.5em;
	color: var(--bct-color-wood-dark);
	margin: 0 0 0.75em;
	letter-spacing: 0.02em;
}

.bct-order-status-not-found p {
	margin: 0;
	line-height: 1.5;
}

@media (max-width: 480px) {
	.bct-shop,
	.bct-cart,
	.bct-checkout,
	.bct-checkout-confirmation,
	.bct-order-status,
	.bct-order-status-not-found {
		padding: 1.25em 0.75em 2em;
	}

	body.bct-standalone-page {
		padding: 1.25em 0.5em;
	}

	.bct-cart .bct-cart-subtotal,
	.bct-cart .bct-cart-discount,
	.bct-cart .bct-cart-discount-form,
	.bct-cart .bct-cart-grand-total,
	.bct-checkout .bct-checkout-subtotal,
	.bct-checkout .bct-checkout-discount,
	.bct-checkout .bct-checkout-grand-total,
	.bct-checkout-confirmation .bct-checkout-confirmation-subtotal,
	.bct-checkout-confirmation .bct-checkout-confirmation-discount,
	.bct-checkout-confirmation .bct-checkout-confirmation-total,
	.bct-order-status .bct-order-status-subtotal,
	.bct-order-status .bct-order-status-discount,
	.bct-order-status .bct-order-status-total {
		text-align: left;
		justify-content: flex-start;
	}
}
