/* ==========================================================================
   Responsive breakpoints (mobile-first adjustments)
   ========================================================================== */

/* ---- Wide ---- */
@media (min-width: 1600px) {
	.wcb-container { max-width: 1400px; }
}

/* ---- Tablet and below ---- */
@media (max-width: 1200px) {
	.wcb-hero-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.wcb-hero-card {
		max-width: 500px;
		margin: 0 auto;
		width: 100%;
	}
	.wcb-seo-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.wcb-seo-toc-wrap {
		position: static;
		order: -1;
	}
	.wcb-archive-layout {
		grid-template-columns: 1fr;
	}
	.wcb-archive-sidebar {
		position: static;
	}
	.wcb-casino-layout {
		grid-template-columns: 1fr;
	}
	.wcb-casino-hero-inner {
		grid-template-columns: 1fr;
	}
	.wcb-casino-hero-sticky {
		position: static;
		max-width: 400px;
	}
	.wcb-casino-sidebar {
		position: static;
	}
	.wcb-slider-track > * {
		width: calc((100% - 2.5rem) / 3);
	}
	.wcb-footer-top {
		grid-template-columns: repeat(3, 1fr);
	}
	.wcb-footer-brand {
		grid-column: 1 / -1;
		max-width: 500px;
	}
}

/* ---- Tablet portrait ---- */
@media (max-width: 1024px) {
	.wcb-nav { display: none; }
	.wcb-mobile-toggle { display: flex; }
	.wcb-header-cta { display: none; }
	.wcb-slider-track > * {
		width: calc((100% - 1.25rem) / 2);
	}
	.wcb-slider-prev { left: -16px; }
	.wcb-slider-next { right: -16px; }
	.wcb-slider-nav { width: 40px; height: 40px; font-size: 1.5rem; }
	.wcb-final-cta {
		grid-template-columns: 1fr;
		text-align: center;
		padding: 3rem 2rem;
	}
	.wcb-final-cta-deco {
		font-size: 6rem;
		margin-top: 1rem;
	}
	.wcb-final-cta p { margin-left: auto; margin-right: auto; }
	.wcb-final-cta-buttons { justify-content: center; }
	.wcb-casino-row {
		grid-template-columns: 40px 100px 1fr;
		gap: 1rem;
	}
	.wcb-casino-row-rating {
		grid-column: 2 / 3;
		grid-row: 2;
	}
	.wcb-casino-row-cta {
		grid-column: 3 / 4;
		grid-row: 2;
	}
	.wcb-casino-row-info {
		grid-column: 2 / 4;
	}
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
	:root {
		--wcb-fs-5xl: 2.5rem;
		--wcb-fs-4xl: 2rem;
		--wcb-fs-3xl: 1.5rem;
	}

	.wcb-container { padding: 0 1rem; }
	.wcb-section { padding: 3rem 0; }

	.wcb-topbar-inner { flex-direction: column; gap: 0.25rem; font-size: 0.7rem; text-align: center; }
	.wcb-topbar-right > .wcb-topbar-separator:first-of-type { display: none; }

	.wcb-header {
		padding: 0.6rem 0;
	}
	.wcb-mobile-menu {
		top: auto;
	}

	.wcb-section-header {
		flex-direction: column;
		align-items: flex-start;
	}
	.wcb-section-header > .wcb-btn { align-self: stretch; justify-content: center; }
	.wcb-section-title { font-size: 1.75rem; }

	/* Hero */
	.wcb-hero { padding: 3rem 0 4rem; }
	.wcb-hero-title { font-size: 2.25rem; }
	.wcb-hero-subtitle { font-size: 1rem; }
	.wcb-hero-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
	}
	.wcb-hero-stat-num { font-size: 1.5rem; }
	.wcb-hero-ctas { flex-direction: column; }
	.wcb-hero-ctas .wcb-btn { width: 100%; justify-content: center; }
	.wcb-hero-card { padding: 1.5rem; }
	.wcb-hero-card-header {
		flex-direction: column;
		align-items: flex-start;
	}
	.wcb-hero-card-name { font-size: 1.35rem; }
	.wcb-hero-card-cta-row { grid-template-columns: 1fr; }

	.wcb-hero-ticker { margin-top: 3rem; padding: 0.75rem 0; }
	.wcb-ticker-item { padding: 0 1.25rem; font-size: 0.8rem; }

	/* Predictions cards */
	.wcb-slider-track { gap: 0.75rem; }
	.wcb-slider-track > * { width: 85%; }
	.wcb-slider-viewport { overflow: visible; }
	.wcb-slider-prev, .wcb-slider-next {
		position: static;
		transform: none;
		margin: 1rem 0.25rem 0;
		display: inline-flex;
	}
	.wcb-slider-nav { display: none; }
	.wcb-prediction-card { min-height: auto; padding: 1.25rem; }
	.wcb-prediction-teams {
		gap: 0.25rem;
	}
	.wcb-flag { width: 44px; height: 44px; font-size: 1.25rem; }

	/* Casino cards */
	.wcb-casino-grid {
		grid-template-columns: 1fr;
	}
	.wcb-casino-card { padding: 1.5rem; }
	.wcb-casino-filters {
		max-width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding: 0.3rem;
		margin: 0 -1rem 1.5rem;
		padding-left: 1rem;
		padding-right: 1rem;
		border-radius: 0;
	}
	.wcb-filter-btn { white-space: nowrap; flex-shrink: 0; }

	/* News cards */
	.wcb-news-grid { grid-template-columns: 1fr; }
	.wcb-news-card { min-height: auto; }
	.wcb-news-card-title { font-size: 1.1rem; }

	/* Casino list row */
	.wcb-casino-row {
		grid-template-columns: 1fr;
		padding: 1.25rem;
		gap: 0.75rem;
	}
	.wcb-casino-row-rank {
		grid-column: auto;
		font-size: 1.35rem;
	}
	.wcb-casino-row-logo { height: 50px; }
	.wcb-casino-row-info, .wcb-casino-row-rating, .wcb-casino-row-cta {
		grid-column: auto;
		grid-row: auto;
	}
	.wcb-casino-row-rating {
		flex-direction: row;
		justify-content: flex-start;
	}
	.wcb-casino-row-rating-num { font-size: 1.75rem; }
	.wcb-casino-row-pros { gap: 0.5rem; }

	/* Prediction hero */
	.wcb-prediction-hero-matchup {
		grid-template-columns: 1fr;
		padding: 1.5rem;
		gap: 1rem;
	}
	.wcb-prediction-hero-team-name { font-size: 1.25rem; }
	.wcb-flag-xl { width: 72px; height: 72px; font-size: 2.25rem; }
	.wcb-prediction-hero-vs-label { font-size: 2rem; }
	.wcb-prediction-hero-score { font-size: 2.5rem; }
	.wcb-prediction-pick-hero { padding: 1.5rem; }
	.wcb-prediction-pick-hero-value { font-size: 1.5rem; }

	/* Casino single */
	.wcb-casino-main { padding: 1.5rem; }
	.wcb-casino-hero-logo { width: 160px; height: 80px; }
	.wcb-casino-hero-title { font-size: 1.75rem; }
	.wcb-pros-cons-grid { grid-template-columns: 1fr; }
	.wcb-bonus-box { padding: 1.5rem; }
	.wcb-bonus-box-headline { font-size: 1.25rem; }
	.wcb-verdict-score { font-size: 3.5rem; }
	.wcb-rating-row {
		grid-template-columns: 100px 1fr 40px;
		gap: 0.5rem;
	}
	.wcb-rating-label { font-size: 0.8rem; }

	/* SEO */
	.wcb-seo-hero-title { font-size: 1.75rem; }
	.wcb-seo-hero-lead { font-size: 1rem; }
	.wcb-seo-article h3 { font-size: 1.25rem; margin-top: 2rem; }
	.wcb-seo-article p { font-size: 1rem; line-height: 1.7; }
	.wcb-comparison { padding: 1rem; margin: 2rem 0 3rem; }
	.wcb-comparison-header h3 { font-size: 1.25rem; }
	.wcb-seo-odds-grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
	.wcb-odds-row { padding: 0.6rem 0.75rem; gap: 0.5rem; }
	.wcb-odds-team { font-size: 0.8rem; }
	.wcb-seo-ul li, .wcb-seo-ol li { font-size: 0.95rem; padding-left: 2rem; }
	.wcb-seo-ol li { padding-left: 2.5rem; }

	/* Final CTA */
	.wcb-final-cta-buttons .wcb-btn {
		width: 100%;
		justify-content: center;
	}

	/* E-E-A-T */
	.wcb-eeat-block {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.wcb-eeat-avatar { margin: 0 auto; }

	/* Responsible gambling */
	.wcb-rg-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	/* Footer */
	.wcb-footer { padding: 3rem 0 1.5rem; }
	.wcb-footer-top {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding-bottom: 2rem;
	}
	.wcb-footer-logos-strip { gap: 0.5rem; justify-content: center; }
	.wcb-footer-logos-strip span { font-size: 0.7rem; padding: 0.3rem 0.75rem; }
	.wcb-footer-bottom {
		flex-direction: column;
		text-align: center;
	}
	.wcb-footer-legal-menu {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75rem;
	}

	/* Archive hero */
	.wcb-archive-hero-content h1 { font-size: 1.75rem; }
	.wcb-archive-hero-stats {
		width: 100%;
		gap: 1rem;
		padding: 0.75rem;
	}
	.wcb-archive-hero-stats > div { flex: 1; }
	.wcb-archive-hero-stats strong { font-size: 1.2rem; }

	/* 404 */
	.wcb-404-deco { font-size: 6rem; }
	.wcb-404-ball { font-size: 4.5rem; }
	.wcb-404 h1 { font-size: 1.75rem; }
	.wcb-404-ctas { flex-direction: column; }
	.wcb-404-ctas .wcb-btn { width: 100%; justify-content: center; }

	/* News single */
	.wcb-news-single-title { font-size: 1.75rem; }
	.wcb-news-single-image { border-radius: var(--wcb-radius-md); }
}

@media (max-width: 480px) {
	.wcb-brand-name { display: none; }
	.wcb-hero-title { font-size: 1.85rem; }
	.wcb-hero-subtitle { font-size: 0.95rem; }
	.wcb-hero-stats > div:nth-child(n+3) { display: none; }
	.wcb-hero-stats { grid-template-columns: 1fr 1fr; }
	.wcb-casino-card-name { font-size: 1.2rem; }
	.wcb-casino-card-bonus-value { font-size: 0.95rem; }
	.wcb-seo-odds-grid { grid-template-columns: 1fr; }
	.wcb-bonus-box-grid { grid-template-columns: 1fr 1fr; }
}

/* Print styles */
@media print {
	.wcb-topbar, .wcb-header, .wcb-footer, .wcb-slider-nav,
	.wcb-hero-ticker, .wcb-final-cta, .wcb-btn { display: none !important; }
	body { background: white; color: black; }
	a { color: black; text-decoration: underline; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
