/* Craps Online */
:root{--site-id:'d933e599a3ca';}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #333; line-height: 1.6; }
header { background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 100; }
nav { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; padding: 1rem 2rem; }
.logo { font-size: 1.5rem; font-weight: bold; color: #1a5f4a; }
nav ul { display: flex; list-style: none; gap: 2rem; }
nav a { text-decoration: none; color: #333; font-weight: 500; transition: color 0.3s; }
nav a:hover { color: #1a5f4a; }
.hero { background: linear-gradient(135deg, #1a1f2e 0%, #2a2f3e 100%); color: white; padding: 4rem 2rem; min-height: 500px; display: flex; align-items: center; }
.hero-container { max-width: 1200px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.hero-content h1 { font-size: 3.5rem; font-family: 'Georgia', serif; line-height: 1.2; margin-bottom: 1rem; font-weight: 700; }
.hero-content h1 .accent { color: #d4af37; }
.hero-subheading { font-size: 1.2rem; color: #d0d0d0; margin-bottom: 2rem; line-height: 1.6; }
.hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn { padding: 0.875rem 1.75rem; border: none; border-radius: 4px; font-size: 1rem; cursor: pointer; text-decoration: none; display: inline-block; transition: all 0.3s; font-weight: 600; }
.btn-primary { background: #1a5f4a; color: white; border: 2px solid #d4af37; }
.btn-primary:hover { background: #0f4a39; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3); }
.btn-secondary { background: transparent; color: white; border: 2px solid #d4af37; }
.btn-secondary:hover { background: #d4af37; color: #1a1f2e; }
.hero-image { display: flex; align-items: center; justify-content: center; }
.game-cover { width: 100%; max-width: 350px; aspect-ratio: 9/12; background: linear-gradient(135deg, #d4af37 0%, #a8860a 100%); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 4rem; box-shadow: 0 20px 60px rgba(212, 175, 55, 0.3); color: rgba(255, 255, 255, 0.1); }
.featured-review { background: #faf9f7; padding: 3rem 2rem; }
.featured-review-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.featured-image { width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, #1a5f4a 0%, #0f4a39 100%); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: rgba(255, 255, 255, 0.1); }
.featured-content h2 { font-size: 2rem; margin-bottom: 0.5rem; color: #1a1f2e; font-family: 'Georgia', serif; }
.featured-meta { display: flex; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.rating { display: flex; align-items: center; gap: 0.5rem; font-weight: bold; color: #d4af37; font-size: 1.1rem; }
.tag { background: #1a5f4a; color: white; padding: 0.4rem 0.8rem; border-radius: 20px; font-size: 0.85rem; }
.featured-description { color: #555; margin-bottom: 1.5rem; line-height: 1.8; }
.pillar-prose h2 { font-size: 1.6rem; font-family: 'Georgia', serif; color: #1a1f2e; margin: 2rem 0 0.85rem; line-height: 1.3; }
.pillar-prose h3 { font-size: 1.25rem; color: #1a5f4a; margin: 1.5rem 0 0.65rem; }
.pillar-prose p { margin-bottom: 1rem; }
.pillar-prose ul, .pillar-prose ol { margin: 0 0 1rem 1.5rem; }
.pillar-prose li { margin-bottom: 0.5rem; }
.pillar-prose a { color: #1a5f4a; text-decoration: underline; }
.pillar-prose img { max-width: 100%; height: auto; border-radius: 6px; margin: 1rem 0; }
.pillar-prose table { border-collapse: collapse; margin: 1rem 0; width: 100%; }
.pillar-prose th, .pillar-prose td { border: 1px solid #e0e0e0; padding: 0.6rem 0.85rem; text-align: left; }
.pillar-prose th { background: #f0f5f3; font-weight: 600; }
.pillar-prose strong { color: #1a1f2e; }
.latest-reviews { background: #f0f5f3; padding: 3rem 2rem; }
.section-title { max-width: 1200px; margin: 0 auto 2rem; font-size: 2rem; color: #1a1f2e; font-family: 'Georgia', serif; }
.reviews-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.review-card { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s, box-shadow 0.3s; border: 1px solid #e0e0e0; }
.review-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); }
.card-image { width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, #d4af37 0%, #a8860a 100%); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; color: rgba(255, 255, 255, 0.1); }
.card-content { padding: 1.5rem; }
.card-title { font-size: 1.2rem; font-weight: bold; color: #1a1f2e; margin-bottom: 0.5rem; }
.card-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; font-size: 0.9rem; }
.card-rating { color: #d4af37; font-weight: bold; }
.card-genre { color: #1a5f4a; font-weight: 600; }
.card-description { color: #666; font-size: 0.95rem; line-height: 1.5; margin-bottom: 1rem; }
.read-more { color: #1a5f4a; text-decoration: none; font-weight: 600; transition: color 0.3s; }
.read-more:hover { color: #d4af37; }
.guides { background: white; padding: 3rem 2rem; }
.guides-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.guide-card { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); border: 2px solid #1a5f4a; transition: transform 0.3s; }
.guide-card:hover { transform: translateY(-4px); }
.guide-image { width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, #1a5f4a 0%, #0f4a39 100%); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; color: rgba(255, 255, 255, 0.1); }
.guide-content { padding: 1.5rem; }
.guide-title { font-size: 1.2rem; font-weight: bold; color: #1a1f2e; margin-bottom: 0.5rem; }
.guide-description { color: #666; font-size: 0.95rem; margin-bottom: 1rem; }
.community-stats { background: #1a1f2e; color: white; padding: 3rem 2rem; }
.stats-container { max-width: 1200px; margin: 0 auto; }
.stats-title { font-size: 1.8rem; margin-bottom: 2rem; text-align: center; font-family: 'Georgia', serif; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.stat-card { text-align: center; padding: 2rem; background: rgba(212, 175, 55, 0.1); border: 1px solid #d4af37; border-radius: 8px; transition: transform 0.3s; }
.stat-card:hover { transform: scale(1.05); }
.stat-number { font-size: 2.5rem; font-weight: bold; color: #d4af37; margin-bottom: 0.5rem; }
.stat-label { font-size: 1rem; color: #d0d0d0; }
.categories { background: white; padding: 3rem 2rem; }
.categories-container { max-width: 1200px; margin: 0 auto; }
.categories-title { font-size: 1.8rem; margin-bottom: 2rem; color: #1a1f2e; font-family: 'Georgia', serif; }
.categories-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.category-card { background: linear-gradient(135deg, #1a5f4a 0%, #0f4a39 100%); color: white; padding: 2rem; border-radius: 8px; text-align: center; cursor: pointer; transition: all 0.3s; text-decoration: none; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 150px; }
.category-card:hover { background: linear-gradient(135deg, #0f4a39 0%, #082d24 100%); border: 2px solid #d4af37; transform: translateY(-4px); }
.category-icon { font-size: 2rem; margin-bottom: 0.75rem; }
.category-name { font-size: 1.1rem; font-weight: bold; }
footer { background: #1a1f2e; color: white; padding: 2rem; text-align: center; border-top: 3px solid #d4af37; }
footer p { margin: 0.5rem 0; }

/* Multi-column site footer (Wall H2.1 v4) — gambling navy + gold. Replaces
   the bare copyright line with brand + topic nav + bottom legal strip. */
.site-footer { background: #1a1f2e; color: #fff; padding: 3rem 2rem 0; text-align: left; border-top: 3px solid #d4af37; }
.site-footer .footer-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr; gap: 3rem; padding-bottom: 2rem; }
.site-footer .footer-col {}
/* Reset the bare `nav { display: flex; ... }` rule (line 4) so the footer
   nav stacks its h3 + ul vertically instead of laying them out horizontally. */
.site-footer .footer-nav-col { display: block; padding: 0; max-width: none; margin: 0; }
.site-footer .footer-heading { font-family: 'Georgia', serif; font-size: 1.15rem; color: #d4af37; margin-bottom: 1rem; font-weight: 700; }
.site-footer .footer-tagline { color: #c0c0c0; line-height: 1.6; font-size: 0.95rem; max-width: 32rem; }
.site-footer .footer-nav { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1.5rem; }
.site-footer .footer-nav li { margin: 0; }
.site-footer .footer-nav a { color: #d0d0d0; text-decoration: none; font-size: 0.95rem; transition: color 0.2s; }
.site-footer .footer-nav a:hover { color: #d4af37; }
.site-footer .footer-bottom { border-top: 1px solid rgba(212, 175, 55, 0.25); padding: 1.25rem 0; max-width: 1200px; margin: 0 auto; text-align: center; }
.site-footer .footer-bottom p { font-size: 0.85rem; color: #888; margin: 0; }
@media (max-width: 1024px) {
    .hero-container { grid-template-columns: 1fr; gap: 2rem; }
    .featured-review-container { grid-template-columns: 1fr; }
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }
    .guides-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .categories-grid { grid-template-columns: repeat(2, 1fr); }
    nav ul { gap: 1rem; }
}
@media (max-width: 768px) {
    .hero { padding: 2rem 1rem; min-height: auto; }
    .hero-content h1 { font-size: 2rem; }
    .hero-content h1 .accent { display: block; }
    .hero-subheading { font-size: 1rem; }
    .hero-buttons { flex-direction: column; }
    .btn { width: 100%; text-align: center; }
    .featured-review { padding: 2rem 1rem; }
    .featured-review-container { gap: 1rem; }
    .featured-content h2 { font-size: 1.5rem; }
    .latest-reviews { padding: 2rem 1rem; }
    .section-title { font-size: 1.5rem; margin-bottom: 1.5rem; }
    .reviews-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .guides { padding: 2rem 1rem; }
    .guides-grid { grid-template-columns: 1fr; }
    .community-stats { padding: 2rem 1rem; }
    .stats-grid { grid-template-columns: 1fr; }
    .categories { padding: 2rem 1rem; }
    .categories-grid { grid-template-columns: 1fr; }
    nav { padding: 1rem; }
    nav ul { gap: 1rem; font-size: 0.9rem; }
    .logo { font-size: 1.2rem; }
}
@media (max-width: 480px) {
    .hero-content h1 { font-size: 1.5rem; }
    .hero-subheading { font-size: 0.9rem; }
    .hero-buttons { gap: 0.5rem; }
    .btn { padding: 0.7rem 1rem; font-size: 0.9rem; }
    .featured-meta { flex-direction: column; gap: 0.5rem; }
    .card-title { font-size: 1rem; }
    .stat-number { font-size: 2rem; }
    .stat-label { font-size: 0.85rem; }
    .category-card { min-height: 120px; padding: 1rem; }
    .category-icon { font-size: 1.5rem; }
    .category-name { font-size: 0.95rem; }
    nav ul { flex-direction: column; gap: 0.5rem; }
}

/* Wall H2.1 (v1.50+): company-homepage sections — gambling archetype.
   Dark navy + gold palette, Georgia serif headlines. Each `.homepage-section`
   is emitted by PE only when its manifest data is non-empty. Sections collapse
   cleanly when absent. Layout primitives are intentionally simple (CSS grid
   with auto-fit columns); per-section tweaks override here. */
.homepage-section { padding: 3.5rem 2rem; }
.homepage-section:nth-of-type(even) { background: #faf9f7; }
.homepage-section-inner { max-width: 1200px; margin: 0 auto; }
.homepage-section-headline { font-size: 2rem; font-family: 'Georgia', serif; color: #1a1f2e; margin-bottom: 1.75rem; line-height: 1.25; text-align: center; }
.homepage-section-headline::after { content: ''; display: block; width: 60px; height: 3px; background: #d4af37; margin: 0.85rem auto 0; }

/* Credibility strip — stats/trust badges, gold value digits.
   Selector specificity matched to `.homepage-section:nth-of-type(even)`
   so the dark-navy bg wins regardless of which alternating slot the
   section lands in. */
.homepage-section.homepage-credibility { background: #1a1f2e; color: white; padding: 3rem 2rem; }
.homepage-section.homepage-credibility .homepage-section-headline { color: white; }
.homepage-section.homepage-credibility .homepage-section-headline::after { background: #d4af37; }
.credibility-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2rem; }
.credibility-stat { text-align: center; padding: 1rem; }
.credibility-stat-value { font-size: 2.5rem; font-family: 'Georgia', serif; color: #d4af37; font-weight: 700; margin-bottom: 0.35rem; line-height: 1; }
.credibility-stat-label { font-size: 1rem; color: #fff; font-weight: 600; margin-bottom: 0.25rem; }
.credibility-stat-detail { font-size: 0.85rem; color: #c0c0c0; line-height: 1.5; }

/* Key takeaways — card grid linking into category pages */
.takeaway-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.takeaway-card { display: block; padding: 1.75rem; background: #fff; border: 1px solid #e8e3d3; border-radius: 6px; text-decoration: none; color: inherit; transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s; }
.takeaway-card:hover { transform: translateY(-2px); border-color: #d4af37; box-shadow: 0 8px 24px rgba(212, 175, 55, 0.15); }
.takeaway-card-title { font-size: 1.2rem; font-family: 'Georgia', serif; color: #1a1f2e; margin-bottom: 0.65rem; line-height: 1.3; }
.takeaway-card-summary { font-size: 0.95rem; color: #555; line-height: 1.6; margin-bottom: 1rem; }
.takeaway-card-link { color: #1a5f4a; font-weight: 600; font-size: 0.9rem; }

/* About — narrative block, single column, generous max-width */
.homepage-about .homepage-about-body { max-width: 720px; margin: 0 auto; font-size: 1.05rem; line-height: 1.75; color: #333; }
.homepage-about .homepage-about-body p { margin-bottom: 1rem; }
.homepage-about .homepage-section-headline { text-align: center; }

/* Offer — service / "what we do" cards */
.offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.offer-card { padding: 2rem; background: #fff; border: 1px solid #e8e3d3; border-radius: 6px; text-align: center; }
.offer-card-icon { font-size: 2.25rem; margin-bottom: 1rem; }
.offer-card-title { font-size: 1.25rem; font-family: 'Georgia', serif; color: #1a1f2e; margin-bottom: 0.65rem; }
.offer-card-summary { font-size: 0.95rem; color: #555; line-height: 1.6; }

/* Testimonials — quote cards with attribution */
.testimonial-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.testimonial-card { padding: 1.75rem; background: #fff; border-left: 4px solid #d4af37; border-radius: 4px; margin: 0; }
.testimonial-quote { font-size: 1rem; line-height: 1.7; color: #333; margin-bottom: 1rem; font-style: italic; }
.testimonial-attrib { font-size: 0.875rem; color: #888; font-weight: 500; }

/* Featured articles — link cards */
.featured-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.featured-article-card { display: block; padding: 1.5rem; background: #fff; border: 1px solid #e8e3d3; border-radius: 6px; text-decoration: none; color: inherit; transition: transform 0.2s, border-color 0.2s; }
.featured-article-card:hover { transform: translateY(-2px); border-color: #1a5f4a; }
.featured-article-title { font-size: 1.15rem; font-family: 'Georgia', serif; color: #1a1f2e; margin-bottom: 0.65rem; line-height: 1.35; }
.featured-article-summary { font-size: 0.9rem; color: #555; line-height: 1.6; }

@media (max-width: 768px) {
    .homepage-section { padding: 2.5rem 1.25rem; }
    .homepage-section-headline { font-size: 1.6rem; }
    .credibility-stat-value { font-size: 2rem; }
    .takeaway-card, .offer-card, .featured-article-card, .testimonial-card { padding: 1.25rem; }
    .site-footer { padding: 2rem 1.25rem 0; }
    .site-footer .footer-container { grid-template-columns: 1fr; gap: 2rem; }
    .site-footer .footer-nav { grid-template-columns: 1fr; }
}

/* Accessibility: visually hidden until keyboard-focused */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.sr-only:focus {
    position: static;
    width: auto;
    height: auto;
    padding: 0.5rem 1rem;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    background: #1e293b;
    color: #fff;
    border-radius: 0.25rem;
    z-index: 50;
}
