/**
 * Pico's Default Theme (Enhanced Gold Dark)
 *
 * Modified for better color vibrancy, eye comfort and contrast balance
 *
 * Pico CMS 2.1
 * License: MIT
 */

/* RESET */

* {
    box-sizing: border-box;
    border: 0 none;
    margin: 0;
    padding: 0;
}

.hidden { display: none !important; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* TRANSITIONS */

.slide {
    overflow-y: hidden !important;
    transition: height .5s ease-in !important;
}

/* ================================
   THEME VARIABLES (IMPROVED)
   ================================ */

:root {
    /* Backgrounds */
    --bg: #111214;
    --bg-elev: #17191c;
    --bg-soft: #1f2226;

    /* Text */
    --text: #e6e7ea;
    --muted: #b6bcc6;

    /* Accent (Gold, vivid but soft) */
    --accent: #f2d45c;
    --accent-strong: #ffe38a;
    --accent-deep: #caa43b;
    --accent-ink: #1b1606;

    /* Borders */
    --border: #2c3036;
    --border-strong: #3a4048;

    /* Glow & shadows (eye-friendly) */
    --shadow: rgba(242, 212, 92, 0.28);
    --glow-soft: rgba(242, 212, 92, 0.14);
    --glow-strong: rgba(255, 227, 138, 0.35);
}

/* ================================
   BASIC LAYOUT
   ================================ */

html, body { height: 100%; }

body {
    display: flex;
    flex-direction: column;
    font-family: 'Droid Sans', 'Helvetica', 'Arial', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
    background:
            radial-gradient(1200px 600px at 20% -10%, #1f2126 0%, var(--bg) 60%)
            fixed;
}

#main { flex: 1 0 auto; padding: 5em 0 4em; }
#header, #footer { flex: 0 0 auto; }

.container {
    max-width: 48em;
    padding: 0 0.5em;
    margin: 0 auto;
}

.widescreen .container { max-width: 72em; }

#main .container { overflow-x: auto; }

/* ================================
   HEADER
   ================================ */

#header { background: var(--bg-soft); }

#title, #logo {
    float: left;
    padding: 3em 3em 3em 0;
}

#title * { margin: 0; color: var(--text); }

#title p { font-style: italic; color: var(--muted); }

#title h1::first-letter {
    color: var(--accent);
    text-shadow: 0 0 12px var(--glow-strong);
}

#logo { height: 10.8em; }
#logo img { height: 100%; min-width: 4.8em; }

#nav {
    padding: 3em 0;
    text-align: right;
}

#nav ul { list-style: none; }

#nav ul li {
    display: inline-block;
    margin-left: 1em;
    font-weight: bold;
}

#nav a,
#nav-toggle { color: var(--accent); }

#nav a:hover,
#nav .active a {
    color: var(--accent-strong);
    text-shadow: 0 0 10px var(--glow-soft);
}

#nav-toggle { display: none; }

#header > .container::after {
    content: '';
    display: block;
    clear: both;
}

/* ================================
   FOOTER
   ================================ */

#footer {
    background: var(--bg-soft);
    color: var(--muted);
}

#footer a { color: var(--accent); }
#footer a:hover { color: var(--accent-strong); }

#footer p { padding: 3em 0; }

#footer .social {
    float: right;
    padding: 1.5em 0 1.5em 1em;
    font-size: 2rem;
}

/* ================================
   TYPOGRAPHY
   ================================ */

p, li, td, th {
    text-align: justify;
    overflow-wrap: break-word;
}

a {
    color: var(--accent);
    text-decoration: none;
    background-image: linear-gradient(transparent 70%, var(--glow-soft) 70%);
    background-size: 100% 0.22em;
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: color .2s ease, background-size .2s ease, text-shadow .2s ease;
}

a:hover {
    color: var(--accent-strong);
    background-size: 100% 0.42em;
    text-shadow: 0 0 12px var(--glow-strong);
}

h1 { font-size: 2rem; }
h2 { font-size: 1.7rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.1rem; }

hr {
    border: 0.15em solid var(--border);
    border-radius: 0.3em;
}

/* ================================
   TABLES
   ================================ */

table { border-spacing: 0; }

td, th {
    padding: 0.4em 1em;
    border: 1px solid var(--border-strong);
}

th {
    background: var(--bg-elev);
    color: var(--text);
}

/* ================================
   CODE
   ================================ */

code, pre {
    background: var(--bg-elev);
    border: 1px solid var(--border-strong);
    border-radius: 0.3em;
}

code {
    padding: 0.1em 0.3em;
    font-size: 0.85rem;
}

pre code {
    display: block;
    padding: 1em 0;
    background: none;
}

/* ================================
   FORMS & BUTTONS
   ================================ */

input, textarea, select, button {
    background: var(--bg-elev);
    border: 1px solid var(--border-strong);
    color: var(--text);
    padding: 0.5em 1em;
    border-radius: 0.3em;
}

input:focus, textarea:focus, select:focus, button:focus {
    border-color: var(--accent);
    box-shadow: 0 0 10px var(--glow-strong);
}

button,
input[type="submit"] {
    color: var(--accent-strong);
    border-color: var(--accent-deep);
    background: linear-gradient(180deg, var(--bg-soft), var(--bg-elev));
}

button:hover,
input[type="submit"]:hover {
    border-color: var(--accent);
    box-shadow: 0 0 18px var(--glow-strong);
}

/* ================================
   MOBILE
   ================================ */

@media (max-width: 767px) {
    #main { padding: 2em 0 1em; }
    #nav ul li { display: block; text-align: center; }
}
