/* Big City Night Cup – Werkzeuge
   Farben über CSS-Variablen anpassbar, z. B. im Divi Theme-Customizer:
   :root { --bcnc-night: #171B4A; } */
:root {
	--bcnc-night: #171B4A;
	--bcnc-silver: #C9D4EE;
	--bcnc-grad: linear-gradient(90deg, #FFE53B, #F7A23A 55%, #E8403A);
	--bcnc-radius: 999px;
}

/* Buttons */
.bcnc-button {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .85em 1.5em;
	border-radius: var(--bcnc-radius);
	background: var(--bcnc-grad);
	color: var(--bcnc-night) !important;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none !important;
	border: 0;
	cursor: pointer;
	line-height: 1.2;
}
.bcnc-button:hover { filter: brightness(1.06); }
.bcnc-button[target="_blank"]::after { content: "\2197\FE0E"; font-size: .9em; }
.bcnc-button.is-disabled,
a[data-bcnc-leer] { opacity: .55; cursor: default; pointer-events: none; }
.bcnc-button.is-disabled { background: rgba(127, 127, 160, .25); color: inherit !important; }

/* Anmelde-Kacheln */
.bcnc-reglist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 980px) { .bcnc-reglist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .bcnc-reglist { grid-template-columns: minmax(0, 1fr); } }
.bcnc-reg {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	padding: 18px 20px; border-radius: 14px; text-decoration: none !important;
	background: var(--bcnc-grad); color: var(--bcnc-night) !important;
	font-weight: 800; font-size: 18px; text-transform: uppercase;
}
.bcnc-reg small { font-size: 11px; font-weight: 600; text-transform: none; }
.bcnc-reg.is-disabled { background: rgba(127, 127, 160, .2); color: inherit !important; opacity: .75; }

/* Sponsoren-Karussell */
.bcnc-carousel {
	overflow: hidden;
	padding: 18px 0;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.bcnc-track {
	display: flex;
	align-items: center;
	gap: 48px;
	width: max-content;
	animation: bcnc-run var(--bcnc-speed, 40s) linear infinite;
}
.bcnc-carousel:hover .bcnc-track,
.bcnc-carousel:focus-within .bcnc-track { animation-play-state: paused; }
@keyframes bcnc-run { to { transform: translateX(-50%); } }
.bcnc-track .bcnc-sponsor { flex: none; height: var(--bcnc-h, 70px); display: flex; align-items: center; }
.bcnc-track .bcnc-sponsor img { height: 100%; width: auto; max-width: 220px; object-fit: contain; }
@media (prefers-reduced-motion: reduce) {
	.bcnc-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
	.bcnc-track [aria-hidden="true"] { display: none; }
}

/* Sponsoren-Raster */
.bcnc-sponsors-title { margin: 28px 0 14px; }
.bcnc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; }
.bcnc-grid .bcnc-sponsor {
	display: flex; align-items: center; justify-content: center;
	background: #fff; border-radius: 12px; padding: 16px; min-height: 100px;
}
.bcnc-grid .bcnc-sponsor img { max-height: 70px; width: auto; max-width: 100%; object-fit: contain; }
.bcnc-sponsor-name { font-weight: 800; color: var(--bcnc-night); text-align: center; }

/* Kontaktformular */
.bcnc-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.bcnc-form .bcnc-full { grid-column: 1 / -1; }
@media (max-width: 640px) { .bcnc-form { grid-template-columns: minmax(0, 1fr); } }
.bcnc-field { margin: 0 0 12px; display: flex; flex-direction: column; gap: 6px; }
.bcnc-field input,
.bcnc-field select,
.bcnc-field textarea { width: 100%; padding: 11px 12px; border-radius: 10px; border: 1px solid rgba(127, 127, 160, .45); font: inherit; background: rgba(255, 255, 255, .95); color: #1b1d33; }
.bcnc-check label { display: flex; gap: 10px; align-items: flex-start; }
.bcnc-check input { width: 18px; height: 18px; margin-top: 3px; flex: none; }
.bcnc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bcnc-notice { padding: 14px 16px; border-radius: 12px; margin-bottom: 16px; font-weight: 600; }
.bcnc-notice.is-ok { background: rgba(255, 229, 59, .15); border: 1px solid rgba(247, 162, 58, .6); }
.bcnc-notice.is-error { background: rgba(232, 64, 58, .12); border: 1px solid rgba(232, 64, 58, .6); }

