/* Casino Venezia venetian carnival theme */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;
    line-height:1.65;
    color:#2a0a0f;
    background:#faf6ec;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:#8b0000;text-decoration:none;transition:color .2s}
a:hover{color:#d4af37}

/* Header */
.site-header{
    background:linear-gradient(180deg,#1a0812 0%,#3d0817 100%);
    color:#f4d976;
    padding:14px 0;
    box-shadow:0 4px 20px rgba(0,0,0,.35);
    position:sticky;top:0;z-index:1000;
    border-bottom:2px solid #d4af37;
}
.header-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-logo img{max-height:60px;width:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;flex-wrap:wrap}
.site-nav a{color:#f4d976;font-weight:500;letter-spacing:.3px;font-size:15px}
.site-nav a:hover{color:#ffffff}
.cta-header{
    background:linear-gradient(135deg,#d4af37 0%,#b8941f 100%);
    color:#1a0812!important;
    padding:11px 24px;border-radius:6px;font-weight:700;
    box-shadow:0 4px 14px rgba(212,175,55,.4);
    text-transform:uppercase;font-size:14px;letter-spacing:.5px;
}
.cta-header:hover{background:linear-gradient(135deg,#f4d976 0%,#d4af37 100%);transform:translateY(-1px);color:#1a0812!important}

/* Hero */
.hero{
    background:linear-gradient(135deg,#1a0812 0%,#5c0011 60%,#8b0000 100%);
    color:#faf6ec;padding:70px 20px 90px;text-align:center;
    position:relative;overflow:hidden;
}
.hero::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 20% 30%,rgba(212,175,55,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(212,175,55,.1) 0%,transparent 50%);
    pointer-events:none;
}
.hero-inner{max-width:1000px;margin:0 auto;position:relative;z-index:2}
.hero h1{font-size:clamp(28px,4.5vw,44px);margin:0 0 18px;color:#f4d976;font-weight:800;letter-spacing:.5px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hero .tagline{font-size:clamp(18px,2.5vw,24px);color:#faf6ec;margin:0 0 30px;opacity:.95}
.hero-banner{margin:30px auto;max-width:420px;border:3px solid #d4af37;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.5);overflow:hidden}
.cta-hero{
    display:inline-block;
    background:linear-gradient(135deg,#d4af37 0%,#b8941f 100%);
    color:#1a0812!important;font-weight:800;padding:18px 44px;
    border-radius:8px;font-size:18px;text-transform:uppercase;letter-spacing:.8px;
    box-shadow:0 6px 24px rgba(212,175,55,.5);
    margin-top:20px;
}
.cta-hero:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(212,175,55,.65)}

/* Main content */
main{max-width:1100px;margin:0 auto;padding:50px 20px}
h2{
    font-size:clamp(24px,3vw,32px);color:#5c0011;margin:50px 0 20px;
    padding-bottom:12px;border-bottom:2px solid #d4af37;font-weight:700;
}
h3{font-size:clamp(20px,2.4vw,24px);color:#8b0000;margin:32px 0 14px;font-weight:700}
p{margin:0 0 16px}

/* Passport table */
.passport{
    background:#ffffff;border:1px solid #e6dfc9;border-radius:10px;overflow:hidden;
    margin:24px 0 40px;box-shadow:0 4px 18px rgba(0,0,0,.06);
}
.passport table{width:100%;border-collapse:collapse}
.passport th,.passport td{padding:14px 18px;text-align:left;border-bottom:1px solid #ede4c9}
.passport th{background:linear-gradient(135deg,#5c0011,#8b0000);color:#f4d976;font-weight:600;width:38%}
.passport tr:last-child td,.passport tr:last-child th{border-bottom:none}

/* Content blocks */
.content-image{margin:30px 0;border-radius:10px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.15);border:2px solid #d4af37}

/* Reviews section */
.reviews{
    background:linear-gradient(135deg,#faf1d9 0%,#f5e6b8 100%);
    padding:50px 30px;border-radius:14px;margin:60px 0;
    border:1px solid #e6cf85;
}
.reviews h2{color:#5c0011;text-align:center;border:none;margin-bottom:36px}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.review-card{
    background:#ffffff;padding:22px;border-radius:10px;
    box-shadow:0 6px 20px rgba(92,0,17,.1);
    transition:transform .25s,box-shadow .25s;
    border-top:3px solid #d4af37;
}
.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(92,0,17,.18)}
.review-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.avatar{
    width:52px;height:52px;border-radius:50%;
    background:linear-gradient(135deg,#8b0000,#5c0011);
    color:#f4d976;font-weight:700;font-size:20px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.reviewer-info{flex:1}
.reviewer-name{font-weight:700;color:#5c0011;font-size:15px}
.reviewer-meta{font-size:13px;color:#7a5a2a}
.stars{color:#d4af37;font-size:16px;letter-spacing:2px;margin:6px 0}
.review-text{font-size:14px;line-height:1.6;color:#3a1a1e;margin:0;font-style:italic}

/* FAQ */
.faq{margin:40px 0}
.faq-item{
    background:#ffffff;border:1px solid #e6dfc9;border-radius:8px;
    margin-bottom:14px;overflow:hidden;
    box-shadow:0 3px 12px rgba(0,0,0,.05);
}
.faq-item summary{
    padding:18px 22px;cursor:pointer;font-weight:600;color:#5c0011;
    background:linear-gradient(180deg,#fdf9ec,#f5ecc9);
    list-style:none;position:relative;padding-right:50px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
    content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
    color:#d4af37;font-size:24px;font-weight:700;transition:transform .2s;
}
.faq-item[open] summary::after{content:"–"}
.faq-answer{padding:18px 22px;color:#3a1a1e;border-top:1px solid #e6dfc9}

/* CTA blocks */
.cta-block{text-align:center;margin:40px 0;padding:36px 20px;background:linear-gradient(135deg,#1a0812,#5c0011);border-radius:12px}
.cta-block .cta-hero{margin-top:0}

/* Payment methods table */
.methods-table{overflow-x:auto;margin:20px 0 30px}
.methods-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.06)}
.methods-table th,.methods-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #ede4c9}
.methods-table th{background:#5c0011;color:#f4d976;font-weight:600}

/* Footer */
.site-footer{
    background:linear-gradient(180deg,#1a0812,#0d0409);
    color:#c9b487;padding:50px 20px 24px;margin-top:60px;
    border-top:3px solid #d4af37;
}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.footer-col h4{color:#f4d976;font-size:16px;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:8px}
.footer-col a{color:#c9b487;font-size:14px}
.footer-col a:hover{color:#f4d976}
.footer-col p{color:#a89372;font-size:14px;line-height:1.6;margin:0 0 10px}
.footer-bottom{
    max-width:1200px;margin:36px auto 0;padding-top:24px;
    border-top:1px solid rgba(212,175,55,.2);text-align:center;
    color:#a89372;font-size:13px;
}
.age-badge{
    display:inline-block;background:#8b0000;color:#f4d976;
    padding:6px 12px;border-radius:50%;font-weight:700;margin-right:10px;
}

/* Responsive */
@media (max-width:768px){
    .header-inner{flex-direction:column;gap:14px}
    .site-nav ul{gap:18px;justify-content:center}
    .hero{padding:50px 20px 60px}
    main{padding:30px 16px}
    .passport th{width:45%}
    .reviews{padding:36px 18px}
}

/* Utility */
.text-center{text-align:center}
.strong{font-weight:700;color:#5c0011}
