/* Sponsorsektion – virker både med og uden det nye design */
.otb-sponsors {
	--s-navy: #0d2447;
	--s-navy-dark: #081a33;
	--s-gold: #d4a84b;
	background: var(--s-navy-dark);
	background-image: radial-gradient(1200px 400px at 50% 0%, rgba(30, 74, 138, .45), transparent 70%);
	color: #fff;
	padding: clamp(56px, 8vw, 96px) 20px;
	overflow: hidden;
}
.otb-sponsors__inner { max-width: 1200px; margin: 0 auto; }
.otb-sponsors__head { text-align: center; max-width: 680px; margin: 0 auto clamp(32px, 5vw, 52px); }
.otb-sponsors__eyebrow {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--s-gold); margin-bottom: 10px;
}
.otb-sponsors .otb-sponsors__head h2 {
	color: #fff !important; font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 800; line-height: 1.15;
	letter-spacing: -.02em; margin: 0 0 12px;
}
.otb-sponsors__head p { color: rgba(255, 255, 255, .72); font-size: 1.05rem; margin: 0; }

.otb-sponsors__tier + .otb-sponsors__tier { margin-top: 40px; }
.otb-sponsors .otb-sponsors__tier-title {
	color: rgba(255, 255, 255, .6) !important; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	text-align: center; margin: 0 0 18px; display: flex; align-items: center; gap: 16px;
}
.otb-sponsors__tier-title::before, .otb-sponsors__tier-title::after { content: ""; flex: 1; height: 1px; background: rgba(255, 255, 255, .12); }

.otb-sponsors__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
.otb-sponsors__tier--hoved .otb-sponsors__list { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }

.otb-sponsor { margin: 0; min-width: 0; }
.otb-sponsor > a, .otb-sponsor > div {
	height: 100%; min-height: 96px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	padding: 16px 14px; border-radius: 14px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .1);
	text-decoration: none !important; color: #fff !important;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.otb-sponsor > a:hover, .otb-sponsor > a:focus-visible {
	background: rgba(255, 255, 255, .1); border-color: var(--s-gold); transform: translateY(-3px);
}
.otb-sponsor--logo > a, .otb-sponsor--logo > div { background: #fff; border-color: transparent; }
.otb-sponsor--logo > a:hover { background: #fff; }
.otb-sponsor__logo { max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .25s, opacity .25s; }
.otb-sponsor > a:hover .otb-sponsor__logo { filter: none; opacity: 1; }
.otb-sponsor__name { font-weight: 700; font-size: .98rem; line-height: 1.25; overflow-wrap: anywhere; }
.otb-sponsor__city { font-size: .8rem; color: rgba(255, 255, 255, .55); margin-top: 4px; }

.otb-sponsors__tier--hoved .otb-sponsor > a, .otb-sponsors__tier--hoved .otb-sponsor > div { min-height: 140px; }
.otb-sponsors__tier--hoved .otb-sponsor__logo { max-height: 96px; }
.otb-sponsors__tier--hoved .otb-sponsor__name { font-size: 1.25rem; }

.otb-sponsors__cta { text-align: center; margin: clamp(32px, 5vw, 48px) 0 0; }
.otb-sponsors .otb-btn {
	display: inline-block; background: var(--s-gold); color: var(--s-navy-dark) !important; font-weight: 700;
	padding: 14px 28px; border-radius: 999px; text-decoration: none !important;
	transition: transform .15s, box-shadow .2s;
}
.otb-sponsors .otb-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 0, 0, .3); }

/* Lys variant – til brug inde på almindelige sider */
.otb-sponsors--light { background: transparent; background-image: none; color: #1f2a3a; padding: 8px 0 24px; overflow: visible; }
.otb-sponsors--light .otb-sponsors__inner { max-width: none; }
.otb-sponsors--light .otb-sponsors__head h2 { color: #081a33 !important; }
.otb-sponsors--light .otb-sponsors__head p { color: #5b6678; }
.otb-sponsors--light .otb-sponsors__tier-title { color: #5b6678 !important; }
.otb-sponsors--light .otb-sponsors__tier-title::before, .otb-sponsors--light .otb-sponsors__tier-title::after { background: #e6edf7; }
.otb-sponsors--light .otb-sponsor > a, .otb-sponsors--light .otb-sponsor > div {
	background: #fff; border-color: #e6edf7; color: #081a33 !important;
	box-shadow: 0 1px 2px rgba(8, 26, 51, .06), 0 8px 24px rgba(8, 26, 51, .06);
}
.otb-sponsors--light .otb-sponsor > a:hover { background: #fff; border-color: #d4a84b; }
.otb-sponsors--light .otb-sponsor__city { color: #5b6678; }
.otb-sponsors--light .otb-sponsors__list { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }

/* Værn mod sidens egne liste-/tekststile når sektionen står i et tekstmodul */
body .otb-sponsors ul.otb-sponsors__list, body .fl-rich-text .otb-sponsors ul.otb-sponsors__list { padding-left: 0 !important; margin: 0 !important; list-style: none !important; }
body .otb-sponsors li.otb-sponsor, body .fl-rich-text .otb-sponsors li.otb-sponsor { margin: 0 !important; padding: 0 !important; list-style: none !important; font-size: 16px !important; line-height: 1.25 !important; }
.otb-sponsors li.otb-sponsor::before, .otb-sponsors li.otb-sponsor::marker { content: none; }
.otb-sponsors .otb-sponsor span { font-size: inherit; line-height: 1.25 !important; }
.otb-sponsors .otb-sponsor .otb-sponsor__city { font-size: .8rem !important; }

/* Rullende bånd */
.otb-marquee {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.otb-marquee__track { display: flex; width: max-content; animation: otb-marquee 60s linear infinite; }
.otb-marquee:hover .otb-marquee__track, .otb-marquee:focus-within .otb-marquee__track { animation-play-state: paused; }
.otb-marquee .otb-sponsors__list { display: flex; gap: 14px; padding-right: 14px; }
.otb-marquee .otb-sponsor { width: 200px; flex: none; }
@keyframes otb-marquee { to { transform: translateX(-50%); } }

@media (max-width: 600px) {
	.otb-sponsors__list, .otb-sponsors--light .otb-sponsors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.otb-sponsor > a, .otb-sponsor > div { min-height: 80px; padding: 12px 10px; }
	.otb-sponsor__name { font-size: .88rem; }
	.otb-marquee .otb-sponsor { width: 160px; }
}
@media (prefers-reduced-motion: reduce) {
	.otb-marquee__track { animation: none; flex-wrap: wrap; width: auto; }
	.otb-marquee .otb-sponsors__list[aria-hidden] { display: none; }
	.otb-marquee { -webkit-mask-image: none; mask-image: none; }
}
