/* Full quiz page styles (replace existing styles/quiz.css)
   - Uses named grid areas to guarantee correct placement:
     "sidebar adtop rightads"
     "sidebar main  rightads"
   - Keeps mobile sidebar, hamburger, overlay, ad placeholders, streak inline, nav buttons.
*/

:root {
    --sidebar-width: 280px !important;
    --right-ad-width: 320px !important;
    --btn-bg: #00c2a8 !important;
    /* accent */
    --btn-color: #021b18 !important;
    --btn-border: rgba(255, 255, 255, 0.04) !important;
    --radius: 12px !important;
    --muted: #98a6b2 !important;
    --white: #ffffff !important;
    --accent-2: #ff8a4b !important;
}

/* Reset box sizing inherited from main.css */
* {
    box-sizing: border-box !important;
}

/* Grid layout with named areas:
   row 1: sidebar | ad-top  | right-ads
   row 2: sidebar | main    | right-ads
*/
.quiz-container {
    display: grid !important;
    grid-template-columns: var(--sidebar-width) 1fr var(--right-ad-width) !important;
    grid-template-rows: auto 1fr !important;
    grid-template-areas:
        "sidebar adtop rightads"
        "sidebar main   rightads" !important;
    gap: 20px !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 20px 40px !important;
    align-items: start !important;
}

/* Assign areas to elements (HTML must use these classes/ids as before) */
.sidebar {
    grid-area: sidebar !important;
}

.ad-top-wrapper {
    grid-area: adtop !important;
}

.main-content {
    grid-area: main !important;
}

.right-ads {
    grid-area: rightads !important;
}

/* ---------- Sidebar ---------- */
.sidebar {
    background: #000 !important;
    color: var(--white) !important;
    padding: 18px !important;
    position: sticky !important;
    top: 88px !important;
    height: calc(100vh - 100px) !important;
    overflow: auto !important;
    border-radius: var(--radius) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
    transform: translateX(0) !important;
    transition: transform 260ms ease, box-shadow 220ms ease !important;
    z-index: 1600 !important;
}

/* Mobile: sidebar hidden by default off-screen */
@media (max-width:820px) {
    .sidebar {
        transform: translateX(-110%) !important;
        position: fixed !important;
        left: 12px !important;
        top: 90px !important;
        width: calc(100% - 24px) !important;
        height: calc(100vh - 110px) !important;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6) !important;
        border-radius: 10px !important;
        padding: 18px !important;
    }

    .sidebar.open {
        transform: translateX(0) !important;
    }
}

/* Sidebar close button (visible when open) */
.sidebar-close {
    display: none !important;
    border: none !important;
    background: transparent !important;
    color: var(--muted) !important;
    font-size: 22px !important;
    cursor: pointer !important;
    position: absolute !important;
    right: 12px !important;
    top: 10px !important;
}

.sidebar.open .sidebar-close {
    display: block !important;
}

/* Sidebar content */
.sidebar h3 {
    margin: 0 0 12px 0 !important;
    color: #00c2a8 !important;
    font-family: "Poppins", sans-serif !important;
}

.quiz-list-item {
    padding: 10px !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    cursor: pointer !important;
    color: var(--muted) !important;
}

.quiz-list-item.active {
    background: rgba(0, 194, 168, 0.07) !important;
    color: var(--white) !important;
    font-weight: 700 !important;
}

/* ---------- Ad top wrapper (OUTSIDE main-content) ---------- */
.ad-top-wrapper {
    display: flex !important;
    justify-content: center !important;
    padding: 18px 6px 0 6px !important;
    align-items: center !important;
    width: 100% !important;
}

.ad-top {
    width: 100% !important;
    max-width: 900px !important;
    min-height: 140px !important;
    background: linear-gradient(90deg, rgba(2, 6, 23, 0.95), rgba(6, 12, 20, 0.9)) !important;
    border: 2px dashed rgba(255, 255, 255, 0.06) !important;
    color: var(--muted) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius) !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.45) !important;
    text-align: center !important;
    padding: 12px !important;
}

/* ---------- Main content (center column) ---------- */
.main-content {
    padding: 26px 6px !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    /* allow flex/grid children to shrink properly */
}

/* Page top area: hamburger + inline-streak */
.page-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

/* Hamburger shown on mobile */
.hamburger {
    display: none !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.04) !important;
    color: var(--white) !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    cursor: pointer !important;
}

@media (max-width:820px) {
    .hamburger {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* ---------- Question card ---------- */
.question-container {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01)) !important;
    padding: 28px !important;
    border-radius: var(--radius) !important;
    width: auto !important;
    margin: 0 auto !important;
    box-shadow: 0 10px 30px rgba(2, 6, 23, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
}

/* Header layout: title + inline streak (inside main-content) */
.question-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 6px !important;
}

.question-header h2 {
    margin: 0 !important;
    font-size: 1.25rem !important;
    font-family: "Poppins", sans-serif !important;
    color: var(--white) !important;
}

/* Streak inline */
.streak-inline {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 140px !important;
    justify-content: flex-end !important;
}

.streak-inline img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    transition: transform 260ms ease !important;
}

.streak-inline .streak-inline-text {
    text-align: right !important;
}

.streak-number {
    font-weight: 800 !important;
    font-size: 1.25rem !important;
    color: var(--accent-2) !important;
}

/* question number under header */
.question-number {
    color: var(--muted) !important;
    margin-bottom: 12px !important;
    font-weight: 600 !important;
}

/* ---------- Options ---------- */
#options {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 4px !important;
}

.option {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01)) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: transform .12s ease, background .12s ease, box-shadow .12s ease !important;
}

.option:hover {
    transform: translateX(6px) !important;
}

.option.selected {
    background: linear-gradient(90deg, #00c2a8, var(--accent-2)) !important;
    color: #042428 !important;
    font-weight: 700 !important;
    border-color: rgba(255, 255, 255, 0.04) !important;
}

/* ---------- Navigation buttons ---------- */
.navigation {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 18px !important;
}

.nav-btn {
    background: var(--btn-bg) !important;
    color: var(--btn-color) !important;
    border: 1px solid var(--btn-border) !important;
    padding: 10px 16px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2) !important;
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease !important;
}

.nav-btn:hover {
    transform: translateY(-3px) !important;
    opacity: .98 !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28) !important;
}

.nav-btn:active {
    transform: translateY(-1px) !important;
}

.nav-btn.secondary {
    background: transparent !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
}

.nav-btn.secondary:hover {
    background: rgba(255, 255, 255, 0.02) !important;
    transform: translateY(-2px) !important;
}

/* ---------- Right ad column ---------- */
.right-ads {
    position: sticky !important;
    top: 88px !important;
    height: calc(100vh - 100px) !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.ad-box {
    border-radius: 10px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.01)) !important;
    border: 1px dashed rgba(255, 255, 255, 0.045) !important;
    min-height: 500px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--muted) !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 12px !important;
}

/* ---------- Result page specifics ---------- */
.score-highlight {
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    color: var(--accent) !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01)) !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
}

/* Hide floating streak on question pages (we only use inline streak there) */
.streak-display {
    display: none !important;
}

/* ---------- Overlay for mobile sidebar (created by JS) ---------- */
#sidebarOverlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(2, 6, 23, 0.55) !important;
    z-index: 1500 !important;
    opacity: 0 !important;
    transition: opacity 200ms ease !important;
}

#sidebarOverlay.visible {
    opacity: 1 !important;
}


#questionText {
    font-size: 20px !important;
    margin-bottom: 30px !important;
    font-weight: 1000 !important;
}

/* ---------- Responsive adjustments ---------- */
@media (max-width:1100px) {
    .quiz-container {
        grid-template-columns: var(--sidebar-width) 1fr !important;
        grid-template-areas: "sidebar adtop" "sidebar main" !important;
    }

    .right-ads {
        display: none !important;
    }
}

@media (max-width:820px) {
    .quiz-container {
        grid-template-columns: 1fr !important;
        grid-template-areas: "adtop" "main" !important;
        height: 100% !important;
    }

    .sidebar {
        transform: translateX(-110%) !important;
    }

    /* hidden by default */
    .sidebar.open {
        transform: translateX(0) !important;
    }

    .sidebar-close {
        display: block !important;
    }

    .right-ads {
        display: none !important;
    }

    .ad-top {
        min-height: 100px !important;
    }

    .page-top {
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
    }

    .streak-inline {
        order: 2 !important;
    }

    .question-container {
        padding: 18px !important;
    }

    .streak-number {
        font-size: 1.05rem !important;
    }

    .score-highlight {
        font-size: 1.8rem !important;
        padding: 5px 8px !important;
    }
}

/* Extra small screens */
@media (max-width:720px) {
    .streak-inline img {
        width: 56px !important;
        height: 56px !important;
    }

    .streak-number {
        font-size: 1rem !important;
    }

    .question-header h2 {
        font-size: 1.05rem !important;
    }

    .ad-top {
        min-height: 90px !important;
    }
}


.google-ads-3 {
    display: none;
    margin: 20px;
}

@media(max-width: 768px) {
    .google-ads-2 {
        display: none !important;
    }


    .google-ads-3{
        display: flex;
    }
}

/* Accessibility: focus outlines */
.nav-btn:focus,
.option:focus,
.card:focus {
    outline: 2px solid rgba(0, 194, 168, 0.18) !important;
    outline-offset: 4px !important;
}

.result-container h2 {
    color: #fff !important;
}

.result-container p {
    color: #fff !important;
}

/* Print adjustments */
@media print {

    .sidebar,
    .right-ads,
    .ad-top,
    .hamburger,
    #sidebarOverlay {
        display: none !important;
    }

    .main-content {
        margin: 0 !important;
        padding: 0 !important;
    }

    .question-container {
        box-shadow: none !important;
        border: none !important;
    }
}