/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Georgia', 'Times New Roman', serif;
    line-height: 1.6;
    background: #0a0a0a;
    overflow-x: hidden;
    color: #f5f5f5;
    min-height: 100vh;
}

/* Luxury Background */
.luxuryBackdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
            linear-gradient(135deg, rgba(139, 69, 19, 0.15) 0%, rgba(184, 134, 11, 0.25) 100%),
            linear-gradient(45deg, rgba(220, 20, 60, 0.1) 0%, rgba(0, 0, 0, 0.8) 50%),
            url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="casino" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="%23ffd700" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23casino)"/></svg>');
    background-size: cover, cover, 50px 50px;
    z-index: -1;
}

/* Central Container */
.centralFrame {
    max-width: 1240px;
    margin: 47px auto;
    padding: 0 23px;
    backdrop-filter: blur(12px);
    border-radius: 32px;
}

/* Navigation Styles */
.primaryNav {
    padding: 19px 0;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    margin-bottom: 41px;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    background: rgba(10, 10, 10, 0.6);
}

.brandArea {
    text-align: center;
}

.brandLogo {
    filter: brightness(0) invert(1);
    height: 52px;
    width: auto;
}

/* Hero Section */
.heroZone {
    padding: 67px 0 83px;
    text-align: center;
}

.heroContent {
    max-width: 890px;
    margin: 0 auto;
}

.mainHeading {
    font-size: clamp(1.3rem, 2.2vw, 2.1rem);
    font-weight: 400;
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #d4af37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 17px;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.dateStamp {
    font-size: 0.6rem;
    color: #b8860b;
    font-weight: 500;
    margin-bottom: 31px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.heroDescription {
    font-size: 0.85rem;
    line-height: 1.7;
    color: #e8e8e8;
    margin-bottom: 53px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

/* Trust Indicators */
.trustIndicators {
    display: flex;
    justify-content: center;
    gap: 29px;
    flex-wrap: wrap;
}

.trustBadge {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 21px;
    background: rgba(212, 175, 55, 0.1);
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.trustBadge:hover {
    background: rgba(212, 175, 55, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.2);
}

.trustIcon {
    width: 22px;
    height: 22px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
    flex-shrink: 0;
}

.trustBadge span {
    font-size: 0.75rem;
    font-weight: 600;
    color: #f0f0f0;
    white-space: nowrap;
}

/* Responsive Design */
@media (max-width: 890px) {
    .centralFrame {
        margin: 23px auto;
        padding: 0 17px;
    }

    .primaryNav {
        padding: 14px 0;
        margin-bottom: 29px;
    }

    .brandLogo {
        height: 43px;
    }

    .heroZone {
        padding: 47px 0 59px;
    }

    .mainHeading {
        margin-bottom: 13px;
    }

    .dateStamp {
        font-size: 1.05rem;
        margin-bottom: 23px;
    }

    .heroDescription {
        font-size: 1.05rem;
        margin-bottom: 41px;
    }

    .trustIndicators {
        gap: 17px;
    }

    .trustBadge {
        padding: 11px 17px;
    }

    .trustIcon {
        width: 19px;
        height: 19px;
    }

    .trustBadge span {
        font-size: 0.87rem;
    }
}

@media (max-width: 640px) {
    .centralFrame {
        margin: 13px auto;
        padding: 0 11px;
    }

    .trustIndicators {
        flex-direction: column;
        align-items: center;
        gap: 13px;
    }

    .trustBadge {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}

/* Обновленный CSS для фона */
.luxuryBackdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
            linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.65)),
            url('../promenade/casino-bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}

/* Hero секция меньшей высоты */
.heroZone {
    padding: 45px 0 55px;
    text-align: center;
}

/* Responsive для hero */
@media (max-width: 890px) {
    .heroZone {
        padding: 35px 0 45px;
    }
}

.trustIcon {
    width: 22px;
    height: 22px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
    flex-shrink: 0;
}

.heroZone {
    padding: 30px 0 40px;
    text-align: center;
}

@media (max-width: 890px) {
    .heroZone {
        padding: 25px 0 35px;
    }
}

/* Casino Ranking Section - Professional Design */
.casinoRanking {
    margin-top: 50px;
    padding-bottom: 70px;
}

.rankingHeader {
    text-align: center;
    margin-bottom: 40px;
}

.sectionTitle {
    font-size: 2.4rem;
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #d4af37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 12px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.sectionSubtitle {
    font-size: 1.15rem;
    color: #c0c0c0;
    margin: 0;
    font-weight: 400;
}

.casinoGrid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Professional Casino Card */
.casinoCard {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(22, 22, 22, 0.95));
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 16px;
    padding: 0;
    display: grid;
    grid-template-columns: 80px 200px 1fr auto auto;
    align-items: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    min-height: 100px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.casinoCard:hover {
    border-color: rgba(212, 175, 55, 0.6);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(212, 175, 55, 0.2);
}

.casinoCard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #ffd700 0%, #d4af37 100%);
}

/* Rank Section */
.rankSection {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    height: 100px;
    background: rgba(212, 175, 55, 0.08);
    border-right: 1px solid rgba(212, 175, 55, 0.15);
}

.rankNumber {
    font-size: 2.8rem;
    font-weight: 800;
    color: #ffd700;
    line-height: 1;
    text-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

/* Logo Section */
.logoSection {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    height: 100px;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.casinoLogo {
    max-width: 160px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: brightness(1.1);
}

/* Info Section */
.casinoInfo {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-height: 100px;
}

.casinoName {
    font-size: 1.4rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px 0;
    letter-spacing: -0.01em;
}

.casinoBonus {
    font-size: 1rem;
    color: #d4af37;
    margin: 0 0 8px 0;
    font-weight: 500;
    line-height: 1.3;
}

.casinoFeatures {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.featureBadge {
    background: rgba(212, 175, 55, 0.15);
    color: #ffd700;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid rgba(212, 175, 55, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Rating Section */
.ratingSection {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    min-width: 100px;
    height: 100px;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.ratingStars {
    display: flex;
    gap: 3px;
    margin-bottom: 6px;
}

.star {
    width: 14px;
    height: 14px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
}

.ratingScore {
    font-size: 1.3rem;
    font-weight: 700;
    color: #ffd700;
    text-shadow: 0 1px 3px rgba(255, 215, 0, 0.3);
}

/* Button Section */
.buttonSection {
    padding: 20px 24px;
    display: flex;
    align-items: center;
    height: 100px;
}

.playButton {
    background: linear-gradient(135deg, #d4af37 0%, #ffd700 50%, #ffed4e 100%);
    color: #000000;
    border: none;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25);
    min-width: 140px;
}

.playButton:hover {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #fff5a3 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
}

/* Top Badge */
.topBadge {
    position: absolute;
    top: -1px;
    right: 24px;
    background: linear-gradient(135deg, #dc143c 0%, #ff6b6b 100%);
    color: white;
    padding: 6px 16px;
    border-radius: 0 0 12px 12px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(220, 20, 60, 0.3);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .casinoCard {
        grid-template-columns: 70px 180px 1fr auto;
        gap: 0;
    }

    .ratingSection {
        min-width: 80px;
    }

    .buttonSection {
        padding: 20px;
    }
}

@media (max-width: 768px) {
    .casinoCard {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        text-align: center;
        min-height: auto;
    }

    .rankSection,
    .logoSection,
    .ratingSection,
    .buttonSection {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        height: auto;
        padding: 16px;
    }

    .buttonSection {
        border-bottom: none;
    }

    .casinoInfo {
        padding: 20px;
        text-align: center;
    }

    .casinoFeatures {
        justify-content: center;
    }

    .sectionTitle {
        font-size: 2rem;
    }

    .topBadge {
        top: 8px;
        right: 16px;
        border-radius: 8px;
    }
}

@media (max-width: 480px) {
    .casinoRanking {
        margin-top: 30px;
        padding-bottom: 50px;
    }

    .casinoCard {
        margin: 0 -8px;
        border-radius: 12px;
    }

    .playButton {
        padding: 12px 24px;
        font-size: 0.9rem;
        min-width: 120px;
    }

    .casinoLogo {
        max-width: 120px;
        max-height: 45px;
    }
}

/* Professional Strict Styling for Additional Sections */

/* Why Us Section - Strict Luxury Design */
.whyUsSection {
    margin-top: 50px;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
}

.sectionContainer {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

.sectionHeading {
    text-align: center;
    font-size: 2.4rem;
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #d4af37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 35px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.advantagesGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 35px;
}

.advantageCard {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(22, 22, 22, 0.95));
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 16px;
    padding: 35px 30px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    min-height: 240px;
}

.advantageCard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #ffd700 0%, #d4af37 100%);
}

.advantageCard:hover {
    border-color: rgba(212, 175, 55, 0.6);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(212, 175, 55, 0.2);
}

.advantageIcon {
    width: 55px;
    height: 55px;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.iconImage {
    width: 28px;
    height: 28px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
}

.advantageTitle {
    font-size: 1.3rem;
    color: #ffffff;
    margin-bottom: 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.advantageText {
    color: #b0b0b0;
    line-height: 1.65;
    font-size: 0.92rem;
    font-weight: 400;
}

/* Security Section - Professional Layout */
.securitySection {
    margin-top: 50px;
    padding: 0;
}

.securityContent {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-top: 35px;
}

.securityMain {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.securityBlock {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(22, 22, 22, 0.95));
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 16px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.securityBlock::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #ffd700 0%, #d4af37 100%);
}

.securityBlock:hover {
    border-color: rgba(212, 175, 55, 0.6);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.15);
}

.blockTitle {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.25rem;
    color: #ffd700;
    margin-bottom: 18px;
    font-weight: 700;
}

.titleIcon {
    width: 22px;
    height: 22px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
}

.blockText {
    color: #b0b0b0;
    line-height: 1.65;
    font-size: 0.92rem;
    font-weight: 400;
}

/* Responsible Gaming */
.responsibleGaming {
    border-radius: 16px;
    padding: 30px;
    position: relative;
    overflow: hidden;\
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.responsibleGaming::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
}

.responsibleGaming:hover {
    transform: translateY(-2px);
}

.responsibleTitle {
    font-size: 1.25rem;
    margin-bottom: 22px;
    font-weight: 700;
}

.responsibleContent {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.responsibleItem {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #d0d0d0;
    font-size: 0.9rem;
    line-height: 1.5;
}

.responsibleIcon {
    width: 18px;
    height: 18px;
    filter: brightness(0) saturate(100%) invert(66%) sepia(85%) saturate(6158%) hue-rotate(340deg) brightness(103%) contrast(101%);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Bonuses Section - Grid Layout */
.bonusesSection {
    margin-top: 50px;
    padding: 0;
    background: none;
    border-radius: 0;
}

.bonusGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 35px;
}

.bonusCard {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(22, 22, 22, 0.95));
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.bonusCard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #ffd700 0%, #d4af37 100%);
}

.bonusCard:hover {
    border-color: rgba(212, 175, 55, 0.6);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(212, 175, 55, 0.2);
}

.bonusHeader {
    background: rgba(212, 175, 55, 0.08);
    border-bottom: 1px solid rgba(212, 175, 55, 0.15);
    padding: 25px 30px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.bonusIcon {
    width: 28px;
    height: 28px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
}

.bonusType {
    font-size: 1.2rem;
    color: #ffd700;
    margin: 0;
    font-weight: 700;
}

.bonusContent {
    padding: 30px;
}

.bonusDescription {
    color: #b0b0b0;
    margin-bottom: 20px;
    line-height: 1.6;
    font-size: 0.92rem;
}

.bonusDetails {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.bonusDetails:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.bonusLabel {
    color: #888;
    font-size: 0.85rem;
    font-weight: 500;
}

.bonusValue {
    color: #ffd700;
    font-weight: 700;
    font-size: 0.9rem;
}

.bonusTips {
    margin-top: 35px;
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(22, 22, 22, 0.95));
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 16px;
    padding: 35px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.bonusTips::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #ffd700 0%, #d4af37 100%);
}

.tipsTitle {
    color: #ffd700;
    font-size: 1.4rem;
    margin-bottom: 28px;
    text-align: center;
    font-weight: 700;
}

.tipsList {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.tipItem {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    color: #b0b0b0;
    font-size: 0.92rem;
    line-height: 1.5;
}

.tipIcon {
    width: 18px;
    height: 18px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .advantagesGrid,
    .bonusGrid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .securityContent {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .sectionHeading {
        font-size: 2rem;
    }

    .advantageCard,
    .securityBlock,
    .bonusCard,
    .bonusTips {
        padding: 25px;
    }

    .bonusHeader {
        padding: 20px 25px;
    }

    .bonusContent {
        padding: 25px;
    }
}

/* Footer Styling */
.siteFooter {
    margin-top: 60px;
    padding: 50px 0 0 0;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    background: rgba(10, 10, 10, 0.6);
}

.footerContainer {
    max-width: 100%;
    margin: 0 15%;
}

/* Main Footer Content */
.footerMain {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footerColumn {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.footerBrand {
    margin-bottom: 20px;
}

.footerLogo {
    height: 75px;
    filter: brightness(0) invert(1);
    width: auto;
    margin-bottom: 15px;
}

.footerDescription {
    color: #b0b0b0;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

.footerSubtitle {
    color: #ffd700;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 15px;
    border-bottom: 2px solid rgba(212, 175, 55, 0.3);
    padding-bottom: 8px;
}

/* Contact Info */
.contactInfo {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contactItem {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #c0c0c0;
    font-size: 0.9rem;
}

.contactIcon {
    width: 16px;
    height: 16px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
    flex-shrink: 0;
}

/* Footer Links */
.footerLinks {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footerLink {
    color: #b0b0b0;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
    padding: 4px 0;
}

.footerLink:hover {
    color: #ffd700;
}

/* Age Restriction */
.ageRestriction {
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(220, 20, 60, 0.1);
    border: 1px solid rgba(220, 20, 60, 0.3);
    border-radius: 10px;
    padding: 15px;
}

.ageIcon {
    background: linear-gradient(135deg, #dc143c, #ff6b6b);
    color: white;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1rem;
    flex-shrink: 0;
}

.ageText strong {
    color: #ff6b6b;
    font-size: 0.95rem;
    display: block;
    margin-bottom: 4px;
}

.ageText p {
    color: #c0c0c0;
    font-size: 0.85rem;
    margin: 0;
    line-height: 1.3;
}

/* Helpline Info */
.helplineInfo {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(212, 175, 55, 0.1);
    border-radius: 8px;
    padding: 12px;
}

.helpIcon {
    width: 20px;
    height: 20px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
}

.helplineInfo strong {
    color: #ffd700;
    font-size: 0.9rem;
    display: block;
}

.helplineInfo p {
    color: #c0c0c0;
    font-size: 0.85rem;
    margin: 0;
}

/* Regulators Section */
.regulatorsSection {
    padding: 30px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.regulatorsTitle {
    color: #ffd700;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 25px;
    text-align: center;
}

.regulatorsList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.regulatorLink {
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(25, 25, 25, 0.8);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 10px;
    padding: 20px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.regulatorLink:hover {
    border-color: rgba(212, 175, 55, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.1);
}

.regulatorLogo {
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 8px;
    padding: 5px;
}

.regulatorInfo strong {
    color: #ffffff;
    font-size: 0.95rem;
    display: block;
    margin-bottom: 4px;
}

.regulatorInfo span {
    color: #b0b0b0;
    font-size: 0.8rem;
}

/* Disclaimer Section */
.disclaimerSection {
    padding: 30px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.disclaimerBox {
    display: flex;
    gap: 20px;
    background: linear-gradient(145deg, rgba(40, 20, 20, 0.6), rgba(30, 15, 15, 0.4));
    border: 1px solid rgba(220, 20, 60, 0.3);
    border-radius: 12px;
    padding: 25px;
}

.disclaimerIcon {
    flex-shrink: 0;
}

.warningIcon {
    width: 32px;
    height: 32px;
    filter: brightness(0) saturate(100%) invert(66%) sepia(85%) saturate(6158%) hue-rotate(340deg) brightness(103%) contrast(101%);
}

.disclaimerTitle {
    color: #ff6b6b;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.disclaimerText {
    color: #d0d0d0;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

/* Copyright Section */
.copyrightSection {
    padding: 20px 0;
    text-align: center;
}

.copyrightText p {
    color: #888;
    font-size: 0.8rem;
    margin: 5px 0;
    line-height: 1.4;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .footerMain {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .regulatorsList {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

@media (max-width: 768px) {
    .siteFooter {
        margin-top: 40px;
        padding: 30px 0 0 0;
    }

    .footerMain {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .regulatorLink {
        padding: 15px;
    }

    .regulatorLogo {
        width: 40px;
        height: 40px;
    }

    .disclaimerBox {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }

    .ageRestriction {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .footerContainer {
        padding: 0 10px;
    }

    .disclaimerBox {
        padding: 15px;
    }

    .regulatorLink {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

.aware {width: 100%}


/* Legal Pages Styling */
.legalPageContainer {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 30px;
}

.legalPageTitle {
    font-size: 2.5rem;
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #d4af37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 10px;
    font-weight: 700;
    text-align: center;
    letter-spacing: -0.02em;
}

.lastUpdated {
    text-align: center;
    color: #b8860b;
    font-size: 1rem;
    margin-bottom: 40px;
    font-style: italic;
}

.legalContent {
    background: rgba(25, 25, 25, 0.9);
    border-radius: 16px;
    padding: 40px;
    border: 1px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.legalSection {
    margin-bottom: 35px;
}

.legalSection:last-child {
    margin-bottom: 0;
}

.legalSection .sectionTitle {
    font-size: 1.4rem;
    color: #ffd700;
    margin-bottom: 15px;
    font-weight: 700;
    border-left: 4px solid #d4af37;
    padding-left: 15px;
}

.legalText {
    color: #c0c0c0;
    line-height: 1.7;
    font-size: 0.95rem;
    text-align: justify;
    margin: 0;
}

/* Responsive Design for Legal Pages */
@media (max-width: 768px) {
    .legalPageContainer {
        padding: 25px 20px;
    }

    .legalPageTitle {
        font-size: 2rem;
    }

    .legalContent {
        padding: 25px;
    }

    .legalSection .sectionTitle {
        font-size: 1.2rem;
    }
}

/* Daily Popup Styling */
.dailyPopupOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.dailyPopupOverlay.show {
    opacity: 1;
    visibility: visible;
}

.dailyPopupContent {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(20, 20, 20, 0.95));
    border: 2px solid rgba(212, 175, 55, 0.4);
    border-radius: 20px;
    padding: 0;
    max-width: 450px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 60px rgba(212, 175, 55, 0.3);
    transform: scale(0.8) translateY(50px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.dailyPopupOverlay.show .dailyPopupContent {
    transform: scale(1) translateY(0);
}

.popupCloseBtn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(220, 20, 60, 0.8);
    border: none;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10001;
}

.popupCloseBtn:hover {
    background: rgba(220, 20, 60, 1);
    transform: scale(1.1);
}

.closeIcon {
    width: 18px;
    height: 18px;
    filter: brightness(0) saturate(100%) invert(100%);
}

/* Popup Header */
.popupHeader {
    background: linear-gradient(135deg, #d4af37 0%, #ffd700 50%, #ffed4e 100%);
    padding: 25px;
    text-align: center;
    position: relative;
}

.popupBadge {
    background: rgba(220, 20, 60, 0.9);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
    margin-bottom: 10px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.popupTitle {
    color: #000;
    font-size: 1.5rem;
    font-weight: 800;
    margin: 10px 0 5px 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.popupDate {
    color: rgba(0, 0, 0, 0.7);
    font-size: 0.9rem;
    margin: 0;
    font-weight: 500;
}

/* Popup Casino Content */
.popupCasino {
    padding: 30px;
    text-align: center;
}

.popupCasinoLogo {
    max-width: 150px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin-bottom: 20px;
    filter: brightness(1.1);
}

.popupCasinoName {
    font-size: 1.8rem;
    color: #ffd700;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

.popupCasinoBonus {
    font-size: 1.1rem;
    color: #ffffff;
    margin-bottom: 20px;
    line-height: 1.4;
    font-weight: 500;
}

.popupRating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 25px;
}

.popupStars {
    display: flex;
    gap: 3px;
}

.popupStar {
    width: 16px;
    height: 16px;
    filter: brightness(0) saturate(100%) invert(85%) sepia(93%) saturate(1949%) hue-rotate(2deg) brightness(106%) contrast(100%);
}

.popupScore {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffd700;
}

/* Popup Actions */
.popupActions {
    padding: 0 30px 25px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.popupButton {
    padding: 14px 25px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    text-align: center;
    display: inline-block;
}

.popupButton.primary {
    background: linear-gradient(135deg, #d4af37 0%, #ffd700 50%, #ffed4e 100%);
    color: #000;
    border: none;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.popupButton.primary:hover {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #fff5a3 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
}

.popupButton.secondary {
    background: transparent;
    color: #b0b0b0;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.popupButton.secondary:hover {
    color: #ffd700;
    border-color: rgba(212, 175, 55, 0.5);
    background: rgba(212, 175, 55, 0.1);
}

.popupDisclaimer {
    padding: 0 30px 20px;
    font-size: 0.75rem;
    color: #888;
    text-align: center;
    line-height: 1.4;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 480px) {
    .dailyPopupContent {
        max-width: 95%;
        margin: 20px;
    }

    .popupHeader {
        padding: 20px;
    }

    .popupTitle {
        font-size: 1.3rem;
    }

    .popupCasino {
        padding: 25px 20px;
    }

    .popupCasinoName {
        font-size: 1.5rem;
    }

    .popupActions {
        padding: 0 20px 20px;
    }

    .popupButton {
        padding: 12px 20px;
        font-size: 0.9rem;
    }
}

/* Disclaimer Notice Section */
.disclaimerNotice {
    margin-top: 50px;
    padding: 25px 0;
    background: rgba(40, 20, 20, 0.6);
    border: 1px solid rgba(220, 20, 60, 0.3);
    border-radius: 12px;
    position: relative;
}

.disclaimerNotice::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #dc143c 0%, #ff6b6b 100%);
    border-radius: 12px 0 0 12px;
}

.disclaimerContent {
    padding: 0 30px;
}

.disclaimerHeader {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(220, 20, 60, 0.2);
}

.ageRestrictionBadge {
    background: linear-gradient(135deg, #dc143c, #ff6b6b);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-weight: 800;
    font-size: 0.9rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.disclaimerSeparator {
    color: #ff6b6b;
    font-weight: 600;
    font-size: 1.1rem;
}

.disclaimerLabel {
    color: #ff9999;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.disclaimerText {
    text-align: center;
}

.disclaimerText p {
    color: #d0d0d0;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
    text-align: justify;
    max-width: 100%;
}

/* Responsive Design */
@media (max-width: 768px) {
    .disclaimerNotice {
        margin-top: 30px;
        padding: 20px 0;
    }

    .disclaimerContent {
        padding: 0 20px;
    }

    .disclaimerHeader {
        flex-direction: column;
        gap: 5px;
        text-align: center;
    }

    .disclaimerSeparator {
        display: none;
    }

    .disclaimerLabel {
        font-size: 0.8rem;
    }

    .disclaimerText p {
        font-size: 0.85rem;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .disclaimerContent {
        padding: 0 15px;
    }

    .ageRestrictionBadge {
        padding: 5px 10px;
        font-size: 0.8rem;
    }
}