/*
A submission for Shane Howell's CSS ZENgineer Project
	My Design is titled: Advance Grid
	My Name is: Jordan Davenport
	My solution is heavily referencing "A Robot Name Jimmy"
		– Design by @guitrasher
  		– Development by @jimmyking
 		– http://meltmedia.com"
*/
/*	This CSS file accompanies my CSS ZENgineer Project */


/*	/////  CSS CITATIONS */
/* 	This CSS file is released under the Creative Commons License - 
		- http://creativecommons.org/licenses/by-nc-sa/4.0/  /* 
/* 	License Allows: adaptations and commercial use, but requires share-and-share alike and attribution to me  /*

/* 


/* 	/////  FONT CITATIONS */
/*	All Google Fonts and Adobe Fonts are released under licenses which do not require them to be cited  */
/*  Other fonts need a license and citations  */

:root {
    --gap: 20px;
    --bg: #f4f4f9;
}
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 20px;
    background-color: var(--bg);
    color: #963838;
}

/* page container */
.container {
    max-width: 1200px;
    margin: 0 auto;

}

/* 12-column row system */
.row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--gap);
    margin-bottom: var(--gap);
}

/* column helpers */
.col-1  { grid-column: span 1;  }
.col-2  { grid-column: span 2;  }
.col-3  { grid-column: span 3;  }
.col-4  { grid-column: span 4;  }
.col-6  { grid-column: span 6;  }
.col-8  { grid-column: span 8;  }
.col-9  { grid-column: span 9;  }
.col-12 { grid-column: span 12; }

/* responsive: stack columns under 860px */
@media (max-width: 860px) {
    .row { grid-template-columns: repeat(1, 1fr); }
}

/* panels / cards */
.panel, .card {
    background-color: #963838;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    transition: transform 0.25s ease;
}
.card:hover { transform: translateY(-4px); }
.card h3 { margin: 10px 0; }

/* Explanation block inside cards */
.card-explain {
    margin-top: 12px;
    width: 100%;
    background: #f4e3c3;
    color: #2b3b4a;
    padding: 10px;
    border-radius: 8px;
    font-size: 0.92rem;
    line-height: 1.4;
    border: 1px solid rgba(43,59,74,0.06);
}
.card-explain strong { display:block; margin-bottom:6px; }

/* header & nav styles */
header.site-header {
    background: #d32f2f;
    color: #fff;
    padding: 24px;
    border-radius: 10px;
}
nav.site-nav {
    background: #333;
    padding: 16px;
    border-radius: 10px;
}

.footer {
    text-align: center;
    margin-top: 20px;
    font-size: 0.9em;
    color: #666;
}

/* FAQ styles */
.faq {
    margin-top: 0;
    display: grid;
    gap: 12px;
}
.faq-item {
    background: #f4e3c3;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    overflow: hidden;
}
.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #ff4d4d;
    border: 0;
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
}
.faq-question:focus {
    outline: 3px solid rgba(21,156,228,0.25);
}
.chev { transition: transform 200ms ease; }
.faq-question[aria-expanded="true"] .chev { transform: rotate(90deg); }

.faq-answer {
    padding: 0 16px 16px 16px;
    color: #333;
    line-height: 1.5;
    max-height: 0;
    overflow: hidden;
    transition: max-height 260ms ease;
}
.faq-answer.open { max-height: 400px; }

@media (max-width: 420px) {
    .faq-question { padding: 12px; }
    .faq-answer { padding: 0 12px 12px 12px; }
}

/* Additional dark theme styles */
body {
    background-color: #1c1c1c;
    color: #e0e0e0;
}
    
.black {
    background-color: #2e2e2e;
    color: #e0e0e0;
}
.card, .panel {
    background-color: #2e2e2e;
    color: #e0e0e0;
    border: 1px solid #ff4d4d;
}
button, .button {
    background-color: #ff4d4d;
    color: #ffffff;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
}
a {
    color: #ff4d4d;}






    /* this is for trench */
    body.trench {
            margin: 0;
            font-family: Arial, sans-serif;
            background-color: #041627; /* dark background */
            color: #ff4d4d;
        }
        header.trench {
            background-color: #ff4d4d; /* yellow-gold */
            color: #000;
            padding: 1rem;
            text-align: center;
        }
        nav.trench {
            background-color: #2e2e2e;
            padding: 0.5rem;
            text-align: center;
        }
        nav a.trench {
            color: #d4af37;
            margin: 0 1rem;
            text-decoration: none;
            font-weight: bold;
        }
        .container.trench {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 1rem;
            padding: 2rem;
        }
        .col-12.trench {
            grid-column: span 12;
        }
        .about-section {
            background-color: #0b1d2e;
            padding: 2rem;
            border-radius: 8px;
            box-shadow: 0 0 10px #000;
        }
        footer.trench {
            background-color: #0b1d2e;
            color: #ff4d4d;
            text-align: center;
            padding: 1rem;
            margin-top: 2rem;
        }

        
         




/* this is for clancy */
         :root {
            --deep-black: #041627;
            --muted-red: #ff4d4d;
            --earthy-brown: #0b1d2e;
            --warm-gray: #f4e3c3;
            --accent-yellow: #f4e3c3;
        }

        body.clancy {
            margin: 0;
            font-family: Arial, sans-serif;
            background-color: var(--deep-black);
            color: var(--warm-gray);
        } 

        header.clancy {
            background-color: var(--muted-red);
            color: white;
            padding: 1rem;
            text-align: center;
        }

        nav.clancy {
            background-color: var(--earthy-brown);
            display: flex;
            justify-content: center;
            gap: 2rem;
            padding: 1rem;
        }

        nav a.clancy {
            color: var(--accent-yellow);
            text-decoration: none;
            font-weight: bold;
        }

        .container.clancy {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 1rem;
            padding: 2rem;
        }

        .component-card {
            grid-column: span 4;
            background-color: var(--earthy-brown);
            padding: 1rem;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column;
            align-items: center;
            color: var(--warm-gray);
        }

        .component-card h3 {
            color: var(--accent-yellow);
        }

        .component-card button {
            background-color: var(--muted-red);
            color: white;
            border: none;
            padding: 0.5rem 1rem;
            margin-top: 1rem;
            cursor: pointer;
            border-radius: 4px;
        }

        @media (max-width: 768px) {
            .component-card {
                grid-column: span 12;
            }
        }

/* this is for contact */
        body.future {
            margin: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(145deg, #0b1d2e, #1a1a1a);
            color: #e0e0e0;
        }
        header.future {
            background: #0b1d2e;
            backdrop-filter: blur(10px);
            border-bottom: 1px solid #333;
            padding: 1rem 2rem;
            text-align: center;
            color: #f4e3c3;
            font-size: 1.5rem;
            letter-spacing: 1px;
        }
        .container.future {
            max-width: 800px;
            margin: 2rem auto;
            padding: 2rem;
            background: #0b1d2e;
            border-radius: 12px;
            backdrop-filter: blur(20px);
            box-shadow: 0 0 20px #ff4d4d;
        }
        h2.future {
            color: #ff4d4d;
            text-align: center;
            margin-bottom: 1rem;
        }
        form {
            display: grid;
            gap: 1rem;
        }
        input, textarea {
            padding: 0.75rem;
            border: none;
            border-radius: 8px;
            background: rgba(212, 53, 53, 0.1);
            color: #ff4d4d;
            font-size: 1rem;
        }
        input::placeholder, textarea::placeholder {
            color: #ff4d4d;
        }
        button.future {
            padding: 0.75rem;
            border: none;
            border-radius: 8px;
            background: #ff4d4d;
            color: #000;
            font-weight: bold;
            cursor: pointer;
            transition: background 0.3s ease;
        }
        button:hover {
            background: #f4e3c3;
            color: #0b1d2e
        }
        footer.future {
            text-align: center;
            padding: 1rem;
            font-size: 0.9rem;
            color: #666;
        }






        /* this is for retro */
        body.retro {
        margin: 0;
        padding: 0;
        font-family: 'Orbitron', sans-serif;
        background-color: #0b1d2e;
        color: #f4e3c3;

        /* allow page to grow and scroll */
        min-height: 100vh;
        display: block;            /* don't use flex on the body */
        background-image: radial-gradient(circle at top left, #ff4d4d 0%, #ff4d4d 25%, #0b1d2e 70%);
        background-repeat: no-repeat;
        background-attachment: fixed; /* keeps gradient in place while content scrolls */
        overflow: auto;            /* ensure scrollbar appears when needed */
    }

    /* Adjust layout so "Explore the Future" is centered and the download button sits below it */
    body.retro {
        /* ...existing code... */
        /* ensure content sits below the fixed navbar */
        padding-top: 80px;
    }

    /* Center container vertically and horizontally, stack heading above button */
    .container.retro {
        min-height: calc(100vh - 80px); /* full viewport minus navbar space */
        display: flex;
        flex-direction: column;
        justify-content: center; /* vertical center */
        align-items: center;     /* horizontal center */
        text-align: center;
        gap: 24px;
        padding: 40px 20px;
        box-sizing: border-box;
    }

    .container.retro {
        text-align: center;
    }

    h1.retro {
        font-size: 3rem;
        margin-bottom: 20px;
        text-transform: uppercase;
        color: #ff4d4d;
        text-shadow: 2px 2px #000;
    }

    .download-btn {
        display: inline-block;
        padding: 20px 40px;
        font-size: 1.5rem;
        font-weight: bold;
        color: #0b1d2e;
        background-color: #f4e3c3;
        border: 4px solid #ff4d4d;
        border-radius: 8px;
        text-transform: uppercase;
        text-decoration: none;
        box-shadow: 0 0 20px #ff4d4d;
        transition: all 0.3s ease;
        animation: pulse 1.5s infinite;
    }
.download-btn2 {
         padding: 0.75rem;
            border: none;
            border-radius: 8px;
        color: #0b1d2e;
        background-color: #f4e3c3;
        border: 4px solid #ff4d4d;
        border-radius: 8px;
        text-transform: uppercase;
        text-decoration: none;
        box-shadow: 0 0 20px #ff4d4d;
        transition: all 0.3s ease;
    }


    
    .download-btn:hover {
        background-color: #ff4d4d;
        color: #f4e3c3;
        box-shadow: 0 0 40px #ff4d4d;
    }

    @keyframes pulse {
        0% {
            box-shadow: 0 0 20px #ff4d4d;
        }
        50% {
            box-shadow: 0 0 40px #ff4d4d, 0 0 80px #ff4d4d;
        }
        100% {
            box-shadow: 0 0 20px #ff4d4d;
        }
    }

    @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@700&display=swap');

.navbar {
    position: absolute;
    top: 0;
    width: 100%;
    background-color: #0b1d2e;
    border-bottom: 2px solid #ff4d4d;
    font-family: 'Orbitron', sans-serif;
    z-index: 1000;
}
.navbar ul {
    list-style-type: none;
    margin: 0;
    padding: 10px 0;
    display: flex;
    justify-content: center;
    gap: 40px;
}
.navbar ul li a {
    color: #f4e3c3;
    text-decoration: none;
    font-size: 1.2rem;
    text-transform: uppercase;
    transition: color 0.3s ease;
}
.navbar ul li a:hover {
    color: #ff4d4d;
}

/* Scoped dark-theme overrides so they don't force grey on all pages */
body.retro .card,
body.retro .panel {
    background-color: #0b1d2e;
    color: #e0e0e0;
    border: 1px solid #ff4d4d;
}