Test

1) index.html Choose the Best Online Casino for You | Test Landing

Royal Spins Casino

200% up to $1,000 + 100 Free Spins

  • Top-tier game providers
  • VIP rewards & cashback
  • Secure payments
  • 24/7 multilingual support

Golden Tiger Casino

120% up to $600 + 30 Free Spins

  • Lightning-fast withdrawals
  • Mobile-first gameplay
  • Responsible gaming tools
  • Generous daily promotions
SSL Secure
Fair Play
Play Responsibly

Disclaimer: Gambling involves risk. Only play if you are 18+ (or the legal age in your jurisdiction). Bonuses and terms may change. Always check the operator’s website for the latest information.

© Casino Compare. All rights reserved.

2) styles.css :root { --bg: #0b1220; --card: #0f1a2b; --text: #e6f1ff; --muted: #8aa3c9; --accent: #2cb67d; --accent-2: #7c3aed; --warning: #f59e0b; --border: rgba(255,255,255,0.08); --shadow: 0 6px 24px rgba(0,0,0,0.35); } * { box-sizing: border-box; } html, body { height: 100%; } body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; background: radial-gradient(1200px 600px at 10% 0%, #0d1630 0%, #0b1220 60%) no-repeat, var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .container { width: min(1100px, 92%); margin: 0 auto; } .site-header { padding: 36px 0 16px; text-align: center; } .site-header h1 { margin: 0 0 8px; font-size: 1.9rem; line-height: 1.2; } .subheadline { margin: 0; color: var(--muted); font-size: 1rem; } .casino-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin: 22px 0 8px; } .casino-card { position: relative; background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.0)) padding-box, linear-gradient(135deg, rgba(44,182,125,0.35), rgba(124,58,237,0.25)) border-box; border: 1px solid var(--border); border-radius: 14px; padding: 16px; cursor: pointer; box-shadow: var(--shadow); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; outline: none; } .casino-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.45); } .casino-card:focus-visible { box-shadow: 0 0 0 3px rgba(44,182,125,0.5), var(--shadow); } .casino-card.recommended { border-color: rgba(44,182,125,0.5); } .recommended-badge { position: absolute; top: 12px; left: 12px; background: linear-gradient(90deg, var(--accent), #45dfa3); color: #051114; font-weight: 700; font-size: .72rem; padding: 6px 10px; border-radius: 999px; box-shadow: 0 4px 12px rgba(44,182,125,0.35); } .logo { display: flex; align-items: center; justify-content: center; height: 64px; margin-bottom: 10px; } .logo-svg { width: 160px; height: 60px; filter: drop-shadow(0 2px 10px rgba(0,0,0,0.35)); } .casino-name { margin: 6px 0 6px; font-size: 1.2rem; } .bonus { margin: 0 0 10px; color: #dffbe9; font-weight: 600; } .features { margin: 0 0 14px; padding-left: 18px; color: var(--muted); } .features li { margin: 6px 0; } .cta { --btn-shadow: 0 8px 18px rgba(44,182,125,0.28); display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(180deg, #35d18f, #24b574); color: #051114; border: none; border-radius: 10px; padding: 12px 16px; font-weight: 800; letter-spacing: .2px; box-shadow: var(--btn-shadow); cursor: pointer; transition: transform .12s ease, box-shadow .12s ease, filter .12s ease; } .cta:hover { transform: translateY(-2px); filter: brightness(1.02); box-shadow: 0 10px 24px rgba(44,182,125,0.38); } .cta:active { transform: translateY(0); filter: brightness(.98); box-shadow: 0 6px 16px rgba(44,182,125,0.28); } .cta:focus-visible { outline: 3px solid rgba(44,182,125,.5); outline-offset: 2px; } .trust { margin: 26px 0 36px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,0.02); } .badges { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; } .badge-item { display: inline-flex; align-items: center; gap: 8px; color: #dbe6ff; background: rgba(255,255,255,0.03); border: 1px solid var(--border); padding: 8px 10px; border-radius: 999px; } .disclaimer { margin: 10px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.5; } .site-footer { padding: 24px 0 40px; color: var(--muted); text-align: center; font-size: .95rem; } @media (min-width: 640px) { .casino-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } } @media (min-width: 960px) { .casino-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } } /* Reduce motion for users who prefer it */ @media (prefers-reduced-motion: reduce) { .casino-card, .cta { transition: none; } } 3) script.js /* Affiliate Landing Page Script - Stores all affiliate URLs in a single config - Tracks clicks (casino_id, timestamp, device type) - Redirects via JS to cardUrl or ctaUrl */ // Easy-to-edit affiliate config const AFFILIATE_CONFIG = { casinos: [ { id: 'casino1', cardUrl: 'https://example.com/lucky-ace-card?affid=123', ctaUrl: 'https://example.com/lucky-ace-cta?affid=123' }, { id: 'casino2', cardUrl: 'https://example.com/royal-spins-card?affid=456', ctaUrl: 'https://example.com/royal-spins-cta?affid=456' }, { id: 'casino3', cardUrl: 'https://example.com/golden-tiger-card?affid=789', ctaUrl: 'https://example.com/golden-tiger-cta?affid=789' } ] }; // Device detection (simple, fast) function getDeviceType() { return /Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent) ? 'mobile' : 'desktop'; } // Tracking function: logs to console function trackClick(casinoId, source) { const event = { casino_id: casinoId, timestamp: new Date().toISOString(), device: getDeviceType() }; // Log required fields and source context console.log('TRACKING', JSON.stringify(event), `source=${source}`); } // Navigate helper function navigate(url) { // JS-based redirect window.location.href = url; } // Bind events for cards and CTA buttons function bindAffiliateLinks() { const map = new Map(AFFILIATE_CONFIG.casinos.map(c => [c.id, c])); // Card click handlers document.querySelectorAll('[data-casino-id]').forEach(card => { const casinoId = card.getAttribute('data-casino-id'); const cfg = map.get(casinoId); if (!cfg) return; // Card click card.addEventListener('click', () => { trackClick(casinoId, 'card'); navigate(cfg.cardUrl); }); // Keyboard support (Enter/Space) card.addEventListener('keydown', (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); trackClick(casinoId, 'card-key'); navigate(cfg.cardUrl); } }); // CTA button inside the card const cta = card.querySelector(`[data-cta-for="${casinoId}"]`); if (cta) { cta.addEventListener('click', (e) => { // Prevent the card's click from firing e.stopPropagation(); trackClick(casinoId, 'cta'); navigate(cfg.ctaUrl); }); } }); } // Init document.addEventListener('DOMContentLoaded', () => { bindAffiliateLinks(); const y = document.getElementById('year'); if (y) y.textContent = String(new Date().getFullYear()); });