/* ============================================
   PlayJoy - Nature Theme (Fresh & Natural)
   High Priority Overrides
   ============================================ */

/* Force load this after all other styles */
@import url('nature-theme.css') screen and (min-width: 0px);

:root {
    /* Nature Green Color Palette */
    --primary-dark: #2d5a27;
    --primary: #4a7c3f;
    --primary-light: #8bc34a;
    --primary-lighter: #c5e1a5;
    --primary-lightest: #f1f8e9;
    
    /* Accent Colors */
    --accent-orange: #ff8f00;
    --accent-orange-light: #ffb74d;
    
    /* Background */
    --bg-gradient-start: #f1f8e9;
    --bg-gradient-end: #dcedc8;
    
    /* Text Colors */
    --text-dark: #33691e;
    --text-main: #558b2f;
    --text-light: #7cb342;
    
    /* Shadow */
    --shadow-green: rgba(45, 90, 39, 0.15);
    --shadow-green-light: rgba(139, 195, 74, 0.3);
}

/* ============================================
   BASE STYLES OVERRIDES
   ============================================ */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Nunito', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%) !important;
    min-height: 100vh;
    color: var(--text-main) !important;
    line-height: 1.6;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================
   HEADER / NAVIGATION
   ============================================ */
header.main {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%) !important;
    padding: 15px 0 !important;
    box-shadow: 0 4px 20px var(--shadow-green) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000;
}

header.main .main-section {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 30px !important;
    box-sizing: border-box !important;
}

header.main .logo {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: transform 0.3s ease;
    padding: 5px 0 !important;
}

header.main .logo:hover {
    transform: scale(1.05);
}

header.main .logo svg {
    height: 50px !important;
    width: auto !important;
    margin: 0 !important;
}

/* Hide navigation checkbox */
header.main .menuHolder input#navigationTrigger {
    display: none !important;
}

/* Enhance Play Now button visibility */
.game .play-btn-container .play-btn,
.btn-highlight.play-btn {
    background: #F48343 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    font-size: 18px !important;
    padding: 12px 30px !important;
    box-shadow: 0 4px 15px rgba(244, 131, 67, 0.6) !important;
}

.game .play-btn-container .play-btn:hover,
.btn-highlight.play-btn:hover {
    background: #E54C20 !important;
    transform: scale(1.05) !important;
    box-shadow: 0 6px 20px rgba(229, 76, 32, 0.7) !important;
}

header.main .menuHolder label[for="navigationTrigger"] {
    background: rgba(255,255,255,0.2) !important;
    border-radius: 8px !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    height: 36px !important;
    box-sizing: border-box !important;
}

header.main .menuHolder .openIcon svg {
    width: 24px !important;
    height: 24px !important;
    fill: white !important;
    margin: 0 !important;
}

/* Navigation Dropdown Menu */
header.main .menuHolder nav.main {
    display: none !important;
    position: absolute !important;
    top: 50px !important;
    left: 0 !important;
    z-index: 1000 !important;
    float: none !important;
    margin: 0 !important;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    min-height: auto !important;
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px var(--shadow-green) !important;
    padding: 12px !important;
    border: 2px solid var(--primary-lighter) !important;
    box-sizing: border-box !important;
}

header.main .menuHolder #navigationTrigger:checked ~ nav.main {
    display: block !important;
}

header.main .menuHolder nav.main ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

header.main .menuHolder nav.main ul li {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

header.main .menuHolder nav.main ul li a {
    color: var(--primary-dark) !important;
    padding: 10px 12px !important;
    border: none !important;
    border-bottom: 1px solid var(--primary-lighter) !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    background: transparent !important;
    white-space: nowrap !important;
    text-transform: none !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

header.main .menuHolder nav.main ul li a:hover {
    background: var(--primary-lightest) !important;
    color: var(--primary) !important;
}

header.main .menuHolder nav.main ul li:last-child a {
    border-bottom: none !important;
}

header.main .menuHolder nav.main ul li a img {
    height: 18px !important;
    width: auto !important;
}

/* ============================================
   MAIN CONTENT AREA
   ============================================ */
.content {
    background: transparent !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 30px !important;
    min-height: calc(100vh - 200px) !important;
}

.content .main-section {
    margin: 0 auto !important;
    max-width: 1200px !important;
    width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Section Titles */
.content h1,
.content h2,
.content h3 {
    color: var(--primary-dark) !important;
    margin-bottom: 25px !important;
}

.content h2.h1,
.content h1 {
    font-size: 1.8em !important;
    text-align: center !important;
    margin: 40px 0 30px !important;
    text-transform: none !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}

.content h2.h1::before {
    content: '🌟 ' !important;
}

.content h2.h1 a {
    color: var(--primary-dark) !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: inherit !important;
    text-transform: none !important;
}

.content h2.h1 a:hover {
    color: var(--primary) !important;
}

.content h2.h1 img {
    height: 24px !important;
    width: auto !important;
}

/* ============================================
   GAMES GRID - ul.games
   ============================================ */
ul.games {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 -15px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 25px !important;
}

ul.games li {
    position: relative !important;
    box-sizing: border-box !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Game Card Link */
ul.games li a.game-card-link {
    display: block !important;
    background: white !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 25px var(--shadow-green) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    border: 2px solid transparent !important;
    text-decoration: none !important;
    height: 100% !important;
}

ul.games li a.game-card-link:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow: 0 15px 40px var(--shadow-green-light) !important;
    border-color: var(--primary-light) !important;
}

/* Game Cover / Icon */
ul.games li .icon {
    width: 100% !important;
    padding-bottom: 100% !important;
    position: relative !important;
    background: linear-gradient(135deg, var(--primary-lightest) 0%, var(--primary-lighter) 100%) !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: none !important;
}

ul.games li .icon img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border: none !important;
    box-shadow: none !important;
}

ul.games li .clamp {
    display: none !important;
}

/* Game Info Container */
ul.games li .name-container {
    padding: 18px 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: auto !important;
    height: auto !important;
}

ul.games li .name {
    color: var(--primary-dark) !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* ============================================
   BUTTONS
   ============================================ */
.btn-container {
    margin: 35px 0 !important;
    text-align: center !important;
}

.btn-container .btn-primary,
.btn-primary {
    display: inline-block !important;
    background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%) !important;
    color: white !important;
    padding: 14px 35px !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 1em !important;
    box-shadow: 0 6px 20px var(--shadow-green-light) !important;
    transition: all 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    text-transform: none !important;
}

.btn-container .btn-primary:hover,
.btn-primary:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px var(--shadow-green-light) !important;
    color: white !important;
}

/* ============================================
   FOOTER
   ============================================ */
footer.main {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%) !important;
    color: white !important;
    padding: 40px 30px !important;
    margin-top: 60px !important;
}

footer.main .footer-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* Footer Tags / Categories */
footer.main .footer-content section.tags nav.main {
    background: transparent !important;
    float: none !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

footer.main .footer-content section.tags nav.main ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

footer.main .footer-content section.tags nav.main ul li {
    padding: 8px !important;
    float: none !important;
    width: auto !important;
}

footer.main .footer-content section.tags nav.main ul li a {
    background: rgba(255,255,255,0.15) !important;
    border: none !important;
    padding: 10px 18px !important;
    border-radius: 25px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
}

footer.main .footer-content section.tags nav.main ul li a:hover {
    background: var(--primary-light) !important;
    color: white !important;
}

footer.main .footer-content section.tags nav.main ul li a img {
    height: 18px !important;
    width: auto !important;
}

/* Copyright */
footer.main .copyright {
    text-align: center !important;
    margin: 30px 0 10px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255,255,255,0.2) !important;
}

footer.main .copyright p,
footer.main .copyright .consent-box-links {
    color: rgba(255,255,255,0.9) !important;
    font-size: 0.95em !important;
}

footer.main .copyright a,
footer.main .copyright .consent-box-links a {
    color: var(--primary-lighter) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

footer.main .copyright a:hover,
footer.main .copyright .consent-box-links a:hover {
    color: white !important;
}

/* ============================================
   GAME DETAIL PAGE
   ============================================ */
.game-detail-container {
    background: white !important;
    border-radius: 25px !important;
    padding: 40px !important;
    box-shadow: 0 15px 50px var(--shadow-green) !important;
    margin-top: 20px !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.game-detail-title {
    font-size: 2.5em !important;
    color: var(--primary-dark) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.game-iframe-container {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    background: var(--primary-lightest) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    margin: 30px 0 !important;
    border: 3px solid var(--primary-lighter) !important;
}

.game-iframe-container iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* ============================================
   SEARCH BAR (if any)
   ============================================ */
.search-container {
    max-width: 600px !important;
    margin: 0 auto 40px !important;
    position: relative !important;
}

.search-input {
    width: 100% !important;
    padding: 16px 25px !important;
    font-size: 1.1em !important;
    border: 3px solid var(--primary-lighter) !important;
    border-radius: 50px !important;
    background: white !important;
    color: var(--text-dark) !important;
    transition: all 0.3s ease !important;
    font-family: inherit !important;
}

.search-input:focus {
    outline: none !important;
    border-color: var(--primary-light) !important;
    box-shadow: 0 5px 20px var(--shadow-green-light) !important;
}

/* ============================================
   ADS CONTAINER
   ============================================ */
.ads {
    text-align: center !important;
    padding: 30px !important;
    margin: 30px 0 !important;
    background: rgba(255,255,255,0.5) !important;
    border-radius: 15px !important;
    color: var(--text-light) !important;
}

/* ============================================
   BACK TO TOP BUTTON
   ============================================ */
.backToTop {
    background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%) !important;
    border-radius: 25px 25px 5px 5px !important;
    box-shadow: 0 4px 15px var(--shadow-green-light) !important;
}

.backToTop:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px var(--shadow-green-light) !important;
}

/* ============================================
   LOADING ANIMATION
   ============================================ */
.dgmlwU {
    background: rgba(241, 248, 233, 0.95) !important;
}

.dgmlwU .AFSJx div {
    background: var(--primary-light) !important;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */
@media (max-width: 768px) {
    header.main .main-section {
        padding: 10px 15px !important;
    }
    
    header.main .logo svg {
        height: 45px !important;
    }
    
    .content {
        padding: 25px 15px !important;
    }
    
    ul.games {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
        gap: 15px !important;
    }
    
    .content h2.h1 {
        font-size: 1.4em !important;
    }
    
    footer.main {
        padding: 30px 15px !important;
    }
    
    footer.main .footer-content section.tags nav.main ul li a {
        padding: 8px 14px !important;
        font-size: 0.9em !important;
    }
}

@media (max-width: 480px) {
    ul.games {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .game-detail-container {
        padding: 20px !important;
        border-radius: 15px !important;
    }
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

ul.games li {
    animation: fadeInUp 0.5s ease forwards;
}

ul.games li:nth-child(1) { animation-delay: 0.05s; }
ul.games li:nth-child(2) { animation-delay: 0.1s; }
ul.games li:nth-child(3) { animation-delay: 0.15s; }
ul.games li:nth-child(4) { animation-delay: 0.2s; }
ul.games li:nth-child(5) { animation-delay: 0.25s; }
ul.games li:nth-child(6) { animation-delay: 0.3s; }
ul.games li:nth-child(7) { animation-delay: 0.35s; }
ul.games li:nth-child(8) { animation-delay: 0.4s; }

/* ============================================
   UTILITY CLASSES
   ============================================ */
/* ============================================
   GAME FULLSCREEN STYLES
   ============================================ */
.app-module {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    height: 100vh !important;
    width: 100vw !important;
    z-index: 9999 !important;
    background-color: #127dab !important;
}

.app-module iframe#gameIframe {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* Show close button (setting icon) */
.app-module .setting {
    display: block !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(0,0,0,0.5) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    z-index: 10000 !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}

.app-module .setting:hover {
    background: rgba(229, 76, 32, 0.9) !important;
}

.app-container {
    min-height: 100vh !important;
}

/* Ensure body and html take full height */
html, body {
    height: 100%;
    overflow-x: hidden;
}
.mb-30 { margin-bottom: 30px !important; }
