.dupa-affiliate-offers {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	align-items: stretch;
}

.dupa-affiliate-offer {
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 16px;
	padding: 1.5rem;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
	display: grid;
	gap: 1.25rem;
}

.dupa-affiliate-offer__header {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
}

.dupa-affiliate-offer__score {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background: rgba(56, 189, 248, 0.1);
	color: #0f172a;
	font-weight: 700;
}

.dupa-affiliate-offer__title {
	margin: 0;
	font-size: 1.25rem;
	color: #0f172a;
	flex: 1;
}

.dupa-affiliate-offer__thumbnail img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

.dupa-affiliate-offer__bonus {
	margin: 1rem 0 0.5rem;
	font-weight: 600;
	color: #111827;
}

.dupa-affiliate-offer__summary {
	margin: 0.5rem 0 0;
	color: #4b5563;
	font-size: 0.95rem;
}

.dupa-affiliate-offer__lists {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin-top: 1rem;
}

.dupa-affiliate-offer__list {
	background: rgba(15, 23, 42, 0.03);
	border-radius: 12px;
	padding: 1rem;
}

.dupa-affiliate-offer__list h4 {
	margin: 0 0 0.6rem;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #1f2937;
}

.dupa-affiliate-offer__list ul {
	margin: 0;
	padding-left: 1.1rem;
	display: grid;
	gap: 0.45rem;
	color: #374151;
}

.dupa-affiliate-offer__cta {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	flex-wrap: wrap;
}

.dupa-affiliate-offer__review-link {
	font-weight: 600;
	color: #2563eb;
}

.dupa-affiliate-offer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.6rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #f59e0b, #ec4899);
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
	transition: transform 120ms ease-in-out, box-shadow 120ms ease-in-out;
	box-shadow: 0 8px 18px rgba(236, 72, 153, 0.35);
}

.dupa-affiliate-offer__button:hover,
.dupa-affiliate-offer__button:focus {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(236, 72, 153, 0.45);
}

.dupa-game-embed iframe {
	width: 100%;
	border: none;
	border-radius: 12px;
	background: #0b1220;
}
.site-main > .site-container:first-child {
	padding-top: 1rem !important;
}
/* SlotsLaunch archives: keep cards static on hover and gently scale only the image */
.slotsl-container {
	margin-top: 0px !important;
}
.slotsl-container .slotsl-game {
	border-radius: 5px !important;
	overflow: hidden;
	transform: none !important;
	transition: box-shadow 220ms ease, transform 220ms ease;
	position: relative;
	border: solid 1px #fff;
}
.slotsl-card__cta {
	transition: opacity 500ms;
	opacity: 0;
}
.slotsl-container .slotsl-card:hover .slotsl-card__link .slotsl-card__cta {
	opacity: 1;
}
.slotsl-container .slotsl-thumb,
.slotsl-container .slotsl-thumb img {
	border-radius: 5px 5px 0 0 !important;
}

.slotsl-container .slotsl-thumb {
	position: relative;
	overflow: hidden;
}

.slotsl-container .slotsl-thumb .slotsl-thumb__link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.slotsl-container .slotsl-provider-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
	height: 100%;
}

.slotsl-container .slotsl-thumb img {
	transition: transform 280ms ease-in-out, opacity 0.25s ease-in !important;
	transform-origin: center;
	will-change: transform;
}

.slotsl-container .slotsl-game:hover {
	transform: none !important;
}

.slotsl-container .slotsl-game:hover .slotsl-thumb img {
	transform: scale(1.05);
}

/* Fade/slide in the hover overlay smoothly */
.slotsl-container .slotsl-demo-container {
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 220ms;
	pointer-events: none;
}

.slotsl-container .slotsl-game:hover .slotsl-demo-container,
.slotsl-container .slotsl-thumb:hover .slotsl-demo-container {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
	pointer-events: auto;
}

/* Limit overlay to the thumb, not the full card */
.slotsl-container .slotsl-card__link {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, rgba(18, 26, 46, 0.2), rgba(18, 26, 46, 0.74));
	color: #fff;
	text-decoration: none;
	opacity: 0;
	transition: opacity 220ms ease;
}

.slotsl-container .slotsl-thumb:hover .slotsl-card__link,
.slotsl-container .slotsl-card:hover .slotsl-card__link,
.slotsl-container .slotsl-card__link:focus-visible {
	opacity: 1;
}

/* Provider archives: compact sort width */
.slotsl-container.slotsl-providers-archives .slotsl-providers-order-select {
	min-width: 200px;
	max-width: 240px;
}
.slotsl-container.slotsl-providers-archives .slotsl-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	width: 100%;
}
.slotsl-container.slotsl-providers-archives .slotsl-search {
	flex: 1 1 320px;
	min-width: 240px;
}
.slotsl-container.slotsl-providers-archives .slotsl-providers-order {
	flex: 0 0 240px;
	max-width: 240px;
	align-self: stretch;
	display: flex;
	align-items: stretch;
}

@media (max-width: 662px) {
	.slotsl-container.slotsl-providers-archives .slotsl-filter-row {
		display: block !important;
		width: 100%;
	}
	.slotsl-container.slotsl-providers-archives .slotsl-providers-order,
	.slotsl-container.slotsl-providers-archives .slotsl-providers-order-select,
	.slotsl-container.slotsl-providers-archives .slotsl-search {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
	.slotsl-container.slotsl-providers-archives .slotsl-search {
		margin-bottom: 12px;
		order: 1;
	}
.slotsl-container.slotsl-providers-archives .slotsl-providers-order {
	margin-top: 0;
	order: 2;
}
}

.slotsl-container.slotsl-providers-archives .slotsl-game {
	overflow: hidden;
}
.slotsl-container.slotsl-providers-archives .slotsl-thumb {
	position: relative;
	overflow: hidden;
}
.slotsl-container.slotsl-providers-archives .slotsl-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0 auto;
}
.slotsl-providers-archives .slotsl-meta {
	padding: 10px;
	text-align: left;
}
.slotsl-providers-archives .slotsl-card .slotsl-provider-count {
	font-size: .62rem !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sl-color-text-muted);
	font-weight: 600;
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin: 0;
}
.slotsl-card .slotsl-meta p.slotsl-title {
	margin-bottom: 0 !important;
}
.slotsl-card .slotsl-meta .slotsl-title .slotsl-provider-name {
	margin: 0;
	color: var(--sl-color-text) !important;
	font-size: .8rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}
.slotsl-providers-archives .slotsl-providers-meta .slotsl-title {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	line-height: 1.2;
	text-align: left;
	align-items: flex-start;
}
.slotsl-providers-archives .slotsl-provider-name {
	font-size: 0.8rem;
	font-weight: 700;
	color: #000;
}
.slotsl-providers-archives .slotsl-provider-count {
	display: inline-flex;
	align-items: center;
	font-size: 0.62rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	background: #ee1111;
	padding: 2px 6px;
	border-radius: 999px;
}

.slotsl-load-more-btn-providers .slotsl-spinner,
.slotsl-load-more-btn-providers .slotsl-loading-text {
	display: none;
	margin-left: 8px;
}
.slotsl-load-more-btn-providers .slotsl-loading-text {
	font-size: 0.9rem;
}
.slotsl-load-more-btn-providers.active .slotsl-spinner,
.slotsl-load-more-btn-providers.active .slotsl-loading-text {
	display: inline-flex;
	align-items: center;
}

.slotsl-grid .slotsl-not-found{
	grid-column: span 5 / span 5 !important;
}
.slotsl-providers-archives .slotsl-footer {
	margin-top: 20px;
}
.sl-game-attributes {
	width: 100%;
}

/* FAQ block */
.dupa-faq {
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 5px;
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 40%, #ffffff 100%);
	padding: 1.5rem;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.dupa-faq__header {
	display: grid;
	gap: 0.4rem;
	margin-bottom: 1.25rem;
}

.dupa-faq__title {
	margin: 0;
	font-size: 1.4rem;
	color: #0f172a;
}

.dupa-faq__intro {
	margin: 0;
	color: #475569;
	font-size: 1rem;
}

.dupa-faq__items {
	display: grid;
	gap: 0.6rem;
}

.dupa-faq__item {
	position: relative;
}

.dupa-faq__item {
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 14px;
	padding: 0.25rem 0.75rem;
	background: #fff;
	transition: border-color 260ms ease, box-shadow 260ms ease, background 260ms ease, transform 260ms ease;
	overflow: hidden;
}

.dupa-faq__item[open] {
	border-color: rgba(37, 99, 235, 0.2);
}

.dupa-faq__question {
	cursor: pointer;
	font-weight: 700;
	color: #0f172a;
	padding: 0.85rem 0.25rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	list-style: none;
}

.dupa-faq__question::-webkit-details-marker {
	display: none;
}

.dupa-faq__question:after {
	content: '';
	width: 12px;
	height: 12px;
	border-right: 2px solid #475569;
	border-bottom: 2px solid #475569;
	transform: rotate(45deg);
	transition: transform 160ms ease, border-color 160ms ease;
	margin-left: auto;
}

.dupa-faq__item[open] .dupa-faq__question:after {
	transform: rotate(-135deg);
	border-color: #2563eb;
}

.dupa-faq__answer {
	display: block;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-8px);
	transition: max-height 360ms ease, opacity 260ms ease, transform 280ms ease, margin 280ms ease, padding 280ms ease;
	padding: 0 0.25rem;
	color: #334155;
	will-change: max-height, opacity, transform, margin, padding;
}

.dupa-faq__item[open] .dupa-faq__answer {
	padding-bottom: 0.4rem;
	margin-top: -0.25rem;
	max-height: 2000px;
	opacity: 1;
	transform: translateY(0);
}

.dupa-faq__answer p {
	margin: 0.4rem 0;
}

.dupa-faq__answer p:first-child {
	margin-top: 0;
}

.dupa-faq__answer p:last-child {
	margin-bottom: 0;
}
