/* ========================================
   STYLES :-)
   ======================================== */
*,
::before,
::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
}

mark.has-inline-color {
	background: none;
}

footer.wp-block-template-part {
	margin-block-start: 0 !important;
}

/* === Min Height Cover Block ---------------------------------------- */
@media (max-width: 782px) {
	.cover-sizer {
		min-height: 300px !important;
	}
}

/* === Navigation Block ---------------------------------------- */
/* Core-Styles bei 600px neutralisieren */
@media (min-width: 600px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(
	            .is-menu-open
	        ) {
		display: none;
	}
}

/* Navigation ab 880px als Desktop-Menü anzeigen */
@media (min-width: 880px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}
	
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(
	            .is-menu-open
	        ) {
		display: block !important;
		width: 100%;
		position: relative;
		z-index: auto;
		background-color: inherit;
	}
}

/* === Button Styles ---------------------------------------- */
:where(.wp-block-button__link) {
/*   border-radius: 0; */
	font-weight: 600 !important;
}

.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button.is-style-fill .wp-element-button {
	transition: all .35s ease;
	background-color: var(--wp--preset--color--accent-1) !important;
/* Replace with your desired color */
}

.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-element-button:hover {
	background-color: var(--wp--preset--color--accent-2) !important;
/* Replace with your desired color */
}

/* === Form Styles ---------------------------------------- */
form input[type="text"],
form input[type="email"],
form textarea {
	padding: .75rem !important;
	border: 1px solid var(--wp--preset--color--contrast) !important;
	background: none !important;
	border-radius: 16px !important;
	font: inherit;
	color: var(--wp--preset--color--contrast);
}

/* === Column Reverse on Mobile ---------------------------------------- */
@media (max-width: 782px) {
	.wp-block-columns.column-reverse-on-mobile {
		flex-direction: column-reverse;
	}
}

/* === Organizer Site ---------------------------------------- */
.taxonomy-wcb_organizer_team a {
	border: 2px solid var(--wp--preset--color--contrast) !important;
	padding: .2rem .5rem !important;
	border-radius: 50px;
	text-decoration: none !important;
	color: var(--wp--preset--color--contrast) !important;
	font-weight: 600;
}

.wcb_organizer .wp-block-post-content p {
	text-align: center;
}

/* === Camptix ---------------------------------------- */
/* --- Tickets Table --- */
#tix .tix_tickets_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: var(--radius);
	overflow: hidden;
	margin-block: var(--wp--style--block-gap, 16px);
}

#tix .tix_tickets_table thead th {
	background: var(--wp--preset--color--accent-4);
	color: #fff;
	text-align: left;
	font-weight: 700;
	font-size: calc(var(--wp--preset--font-size--normal) * 0.95);
	padding: clamp(12px, var(--wp--style--block-gap, 16px), 18px);
	border-bottom: 3px solid var(--wp--preset--color--accent);
}

#tix .tix_tickets_table tbody th,
#tix .tix_tickets_table tbody td {
	padding: clamp(12px, var(--wp--style--block-gap, 16px), 18px);
	vertical-align: top;
	border-bottom: 1px solid var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--normal);
	text-align: left;
}

/* --- Column specifics --- */
#tix .tix-column-price {
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

#tix .tix-column-remaining {
	color: var(--wp--preset--color--contrast);
}

/* --- Ticket titles &amp; excerpts --- */
#tix .tix-ticket-title {
	display: inline-block;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	font-size: calc(var(--wp--preset--font-size--normal) * 1.125);
	line-height: 1.25;
}

#tix .tix-ticket-excerpt {
	display: inline-block;
	margin-top: calc(var(--wp--style--block-gap, 16px) / 4);
	color: var(--wp--preset--color--contrast);
}

/* --- Inputs (text/email/url/tel/number), textarea, select --- */
#tix input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
#tix textarea,
#tix select {
	resize: vertical;
	width: 100%;
	padding: 10px 12px;
}

#tix input,
#tix textarea,
#tix select {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: var(--radius);
	font-size: var(--wp--preset--font-size--normal);
	transition: border-color .15s ease, box-shadow .15s ease;
	margin-block: calc(var(--wp--style--block-gap, 16px) / 2);
	box-sizing: border-box;
}

#tix input:focus,
#tix textarea:focus,
#tix select:focus {
	border-color: var(--wp--preset--color--contrast);
	outline: 2px solid var(--wp--preset--color--contrast);
}

/* Disabled */
#tix input:disabled,
#tix textarea:disabled,
#tix select:disabled {
	background: var(--wp--preset--color--accent-6);
	color: var(--wp--preset--color--contrast-3);
	cursor: not-allowed;
	opacity: .7;
}

/* Select caret */
#tix select {
	appearance: none;
	background-image: linear-gradient(45deg,
            transparent 50%,
            var(--wp--preset--color--contrast-3) 50%), linear-gradient(135deg,
            var(--wp--preset--color--contrast-3) 50%,
            transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

#tix fieldset {
	border: 0;
}

#tix fieldset label {
	cursor: pointer;
}

#tix .tix-submit .tix-checkout-button {
}

/* --- Submit button --- */
#tix input[type="submit"],
#tix .tix-submit .tix-checkout-button {
	background: var(--wp--preset--color--contrast);
	border: 0;
	border-radius: var(--radius);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	padding: 1rem 2.25rem;
	cursor: pointer;
}

#tix input[type="submit"]:hover {
	background: color-mix(in srgb,
        var(--wp--preset--color--contrast) 85%,
        transparent);
}

/* --- Mobile layout --- */
@media (max-width: 720px) {
	#tix .tix-tickets-list thead {
		display: none;
	}
	
	#tix .tix-tickets-list,
	    #tix .tix-tickets-list tbody,
	    #tix .tix-tickets-list tr,
	    #tix .tix-tickets-list th,
	    #tix .tix-tickets-list td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	
	#tix .tix-tickets-list tbody tr {
		border-bottom: 1px solid var(--wp--preset--color--accent-4);
		padding-block: calc(var(--wp--style--block-gap, 16px) / 2);
	}
	
	#tix input[type="submit"] {
		width: 100%;
	}
	
	.tix-column-remaining::before {
		content: "Remaining: ";
		padding-right: 10px;
	}
	
	.tix-column-quantity::before {
		content: "Quantity: ";
		padding-right: 10px;
	}
	
	.tix-column-quantity select {
		margin-left: 10px;
		width: 100px !important;
	}
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	#tix * {
		transition: none !important;
	}
}

/* --- Payment method tabs (Stripe / All payment methods) --- */
#tix .tix-payment-method {
	display: flex;
	gap: var(--wp--style--block-gap, 16px);
	margin-block: var(--wp--style--block-gap, 16px);
	justify-content: flex-end;
}

#tix .tix-payment-tab {
	border-color: var(--wp--preset--color--contrast);
	padding: 10px 16px;
	font-size: var(--wp--preset--font-size--normal);
	cursor: pointer;
}

#tix .tix-payment-tab:hover {
	border-color: var(--wp--preset--color--accent-1);
	border-color: color-mix(in srgb,
        var(--wp--preset--color--contrast) 85%,
        transparent);
}

/* selected tab (kept intentionally minimal since the original values were commented out) */
#tix .tix-payment-tab.tix-tab-selected,
#tix .tix-payment-tab[aria-pressed="true"] {
}

/* --- Payment method container list --- */
#tix .tix-payment-method-container {
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: var(--radius);
	padding: calc(var(--wp--style--block-gap, 16px) * 0.75);
	background: #fff;
	margin-block: var(--wp--style--block-gap, 16px);
	box-shadow: var(--shadow);
}

/* --- Tix Notices (info / instructions) --- */
#tix-notices .tix-notice {
	background: var(--wp--preset--color--accent-6);
	border: 1px solid var(--wp--preset--color--accent-4);
	border-left: 4px solid var(--wp--preset--color--accent);
	padding: calc(var(--wp--style--block-gap, 16px) * 0.9);
	margin-block: var(--wp--style--block-gap, 16px);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.5;
}

#tix-notices .tix-notice p {
	margin: 0 0 calc(var(--wp--style--block-gap, 16px) / 2);
}

#tix-notices .tix-notice p:last-child {
	margin-bottom: 0;
}

#tix .camptix-invoice-toggle-wrapper {
	display: block;
}