
/* =========================================
   1. CSS Reset & Variables
   ========================================= */
:root {
    /* Color Palette - Dark Premium Casino Theme */
    --bg-body: #0f172a;
    --bg-surface: #1e293b;
    --bg-surface-hover: #334155;
    --primary: #f59e0b; /* Gold */
    --primary-gradient: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    --secondary: #3b82f6; /* Blue */
    --secondary-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    --accent: #ec4899; /* Pink neon */
    
    /* Text Colors */
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --text-dark: #0f172a;

    /* Spacing & Sizes */
    --container-width: 1200px;
    --radius-sm: 0.5rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --gap-md: 1.5rem;
    --gap-lg: 2rem;
    
    /* Effects */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
    --shadow-neon: 0 0 15px rgba(245, 158, 11, 0.3);
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: var(--bg-body);
    color: var(--text-main);
    line-height: 1.6;
    overflow-x: hidden;
}

/* =========================================
   2. Typography
   ========================================= */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-main);
    margin-bottom: 1rem;
    line-height: 1.2;
    font-weight: 700;
}

h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
}

h2 {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    border-left: 4px solid var(--primary);
    padding-left: 1rem;
    margin-top: 2rem;
}

p {
    margin-bottom: 1.5rem;
    color: var(--text-muted);
    font-size: 1rem;
}

a {
    text-decoration: none;
    color: var(--primary);
    transition: var(--transition);
}

a:hover {
    color: var(--secondary);
    text-shadow: 0 0 8px rgba(59, 130, 246, 0.5);
}

ul, ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

li {
    margin-bottom: 0.5rem;
    color: var(--text-muted);
}

li::marker {
    color: var(--primary);
}

/* =========================================
   3. Layout & Container
   ========================================= */
.container {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 1rem;
}

/* Image styling */
img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    display: block;
}

/* =========================================
   4. Header & Navigation
   ========================================= */
/* Normalize header structure since HTML has two headers */
header {
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--shadow-md);
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo styling placeholder */
.men1 a {
    display: block;
    width: 150px;
    height: 40px;
    background: url('path/to/logo.png') no-repeat center/contain;
    background-color: rgba(255, 255, 255, 0.05); /* Placeholder if no image */
    border-radius: var(--radius-sm);
}

/* Mobile header specific adjustments */
.menn {
    display: flex;
    gap: 1rem;
    align-items: center;
}

/* Button style links in header */
.menn .href {
    display: block;
}

.men3, .men4 {
    padding: 0.5rem 1.2rem;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: var(--transition);
    cursor: pointer;
    text-align: center;
}

.men3 {
    background: transparent;
    border: 1px solid var(--secondary);
    color: var(--secondary);
}

.men3:hover {
    background: var(--secondary);
    color: #fff;
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.4);
}

.men4 {
    background: var(--primary-gradient);
    color: #fff;
    border: none;
    box-shadow: var(--shadow-neon);
}

.men4:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(245, 158, 11, 0.6);
}

/* =========================================
   5. Hero Section (Slider Placeholder)
   ========================================= */
.main {
    padding-top: 2rem;
    min-height: 80vh;
}

.joyl-slide {
    position: relative;
    width: 100%;
    margin-bottom: 3rem;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: linear-gradient(to right, #243b55, #141e30);
    min-height: 300px; /* Placeholder height */
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Banners inside slide */
.joyl-slide .href {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* =========================================
   6. Content Area
   ========================================= */
/* Targeting the specific flex structure in HTML without classes */
.main > .container > div[style*="display:flex"] {
    display: flex !important;
    flex-wrap: wrap;
    gap: var(--gap-lg);
    margin-top: 2rem;
}

/* Main Content Column */
.joy-left {
    background-color: var(--bg-surface);
    padding: 2rem;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(255, 255, 255, 0.05);
    flex: 1 1 65%; /* Flex grow, shrink, basis */
    min-width: 300px;
}

/* Sidebar Column */
.main-right {
    flex: 1 1 30%;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Sidebar Banners */
.main-right .href {
    display: block;
    background-color: var(--bg-surface-hover);
    height: 300px;
    border-radius: var(--radius-md);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.05) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0.05) 75%, transparent 75%, transparent);
    background-size: 20px 20px;
    position: relative;
    overflow: hidden;
}

.main-right .href::after {
    content: 'AD / BANNER';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--text-muted);
    font-size: 0.8rem;
    letter-spacing: 2px;
}

/* =========================================
   7. Buttons (CTA)
   ========================================= */
.btn-box {
    margin: 2rem 0;
    text-align: center;
}

.btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    background: var(--primary-gradient);
    color: white !important;
    border-radius: 50px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 1.1rem;
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: 0.5s;
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(245, 158, 11, 0.6);
}

.btn:hover::before {
    left: 100%;
}

.btn:active {
    transform: translateY(1px);
}

/* =========================================
   8. Footer
   ========================================= */
footer {
    background-color: #020617;
    margin-top: 4rem;
    padding: 3rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
}

.footer-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.menu-fo {
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.8;
}

/* =========================================
   9. Back to Top Button
   ========================================= */
#scroller {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    background: var(--secondary);
    color: white;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-lg);
    z-index: 999;
    transition: var(--transition);
    border: 2px solid rgba(255,255,255,0.1);
}

#scroller:hover {
    background: var(--accent);
    transform: scale(1.1);
}

.b-top-but {
    font-size: 0; /* Hide text, maybe replace with icon via pseudo-element */
}

#scroller::after {
    content: '↑';
    font-size: 1.5rem;
    line-height: 1;
}

/* =========================================
   10. Form Elements (Generic)
   ========================================= */
input[type="text"], 
input[type="email"], 
input[type="password"], 
textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: var(--radius-sm);
    color: var(--text-main);
    font-family: inherit;
    transition: var(--transition);
    margin-bottom: 1rem;
}

input:focus, textarea:focus {
    outline: none;
    border-color: var(--secondary);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

/* =========================================
   11. Animations
   ========================================= */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.joy-left, .main-right {
    animation: fadeIn 0.6s ease-out forwards;
}

/* =========================================
   12. Responsive Design (Media Queries)
   ========================================= */
@media (max-width: 992px) {
    /* Tablet adjustments */
    .joy-left {
        flex: 1 1 100%;
    }
    
    .main-right {
        display: none; /* Often sidebars are hidden on smaller screens or moved to bottom */
    }
    
    /* If we want to show it at the bottom instead: */
    /* .main-right { flex: 1 1 100%; order: 2; } */
}

@media (max-width: 768px) {
    /* Mobile adjustments */
    
    /* Header stacking */
    header .container {
        flex-direction: column;
        gap: 1rem;
    }

    .menn {
        width: 100%;
        justify-content: space-between;
    }

    .men3, .men4 {
        flex: 1;
        padding: 0.6rem 0.5rem;
        font-size: 0.8rem;
    }
    
    /* Force main layout to column and reverse inline flex styles */
    .main > .container > div[style*="display:flex"] {
        flex-direction: column !important;
    }
    
    .joy-left {
        padding: 1.5rem 1rem;
    }
    
    h1 {
        font-size: 1.75rem;
    }
    
    .btn {
        width: 100%;
        padding: 1rem;
    }
    
    /* Hide the second/duplicate header if necessary, 
       but based on HTML, 'header.mob' usually serves mobile. 
       We styled generic 'header', assume only one is visible via JS or Logic, 
       or we style both. The provided CSS makes both look good. 
    */
    header:not(.mob) {
        display: none; /* Common pattern: hide desktop header on mobile */
    }
    header.mob {
        display: block; /* Ensure mobile header is shown */
    }
}

@media (min-width: 769px) {
    header.mob {
        display: none; /* Hide mobile header on desktop */
    }
    header:not(.mob) {
        display: block;
    }
}
