/*
Theme Name: Console Dark
Theme URI: https://github.com/tahapaksu/console-dark
Author: Taha Paksu
Author URI: https://tahapaksu.com
Description: A terminal/console-inspired WordPress theme with black background, monospace typography, and minimal ASCII-style UI. Inspired by the Jekyll Console Dark theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: console-dark
Tags: black, dark, monospace, terminal, console, one-column, custom-menu, featured-images, threaded-comments, translation-ready
Requires at least: 5.0
Tested up to: 6.7
Requires PHP: 7.4
*/

/* === Reset & Base === */

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

::selection {
    background: #DBDBDB;
    color: #000;
}

::-moz-selection {
    background: #DBDBDB;
    color: #000;
}

html {
    font-size: 12.5px;
    -webkit-text-size-adjust: 100%;
}

body {
    background-color: #000;
    color: #DBDBDB;
    font-family: "Source Code Pro", monospace;
    font-size: 12.5px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === Layout === */

.site-container {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    padding: 40px 0;
}

/* === Links === */

a {
    color: #DBDBDB;
    text-decoration: underline;
}

a:hover,
a:focus {
    background: #DBDBDB;
    color: #000;
    text-decoration: none;
}

/* === Typography === */

h1, h2, h3, h4, h5, h6 {
    font-size: 12.5px;
    font-weight: bold;
    margin: 1.5em 0 0.5em;
    line-height: 1.6;
}

p {
    margin: 0 0 1em;
}

blockquote {
    border-left: dashed 1px rgba(219, 219, 219, 1);
    padding-left: 1em;
    margin: 1em 0;
    color: #DBDBDB;
}

hr {
    border: none;
    border-top: dashed 1px rgba(219, 219, 219, 1);
    margin: 2em 0;
}

ul, ol {
    margin: 0 0 1em;
    padding-left: 0;
    list-style: none;
}

ul li::before {
    content: "- ";
}

ol {
    counter-reset: ol-counter;
}

ol li {
    counter-increment: ol-counter;
}

ol li::before {
    content: counter(ol-counter) ". ";
}

/* Nested lists */
ul ul,
ol ol,
ul ol,
ol ul {
    margin-bottom: 0;
    padding-left: 1.5em;
}

/* === Header === */

.site-header {
    margin-bottom: 2em;
}

.site-title {
    font-size: 12.5px;
    font-weight: bold;
    margin: 0 0 0.5em;
}

.site-title a {
    text-decoration: none;
}

.site-title a:hover {
    text-decoration: underline;
}

.site-description {
    color: #999;
    margin: 0 0 1em;
}

/* === Navigation === */

.site-nav {
    border-top: dashed 1px rgba(219, 219, 219, 1);
    border-bottom: dashed 1px rgba(219, 219, 219, 1);
    padding: 0.5em 0;
    text-align: right;
}

.site-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav li {
    display: inline;
    margin-left: 0.5em;
}

.site-nav li::before {
    content: none;
}

.site-nav a {
    text-decoration: none;
}

.site-nav a::before {
    content: "[";
}

.site-nav a::after {
    content: "]";
}

.site-nav a:hover {
    background: #DBDBDB;
    color: #000;
}

/* === Content === */

.site-content {
    margin: 2em 0;
}

/* === Post Listing === */

.post-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-list li::before {
    content: none;
}

.post-list-item {
    margin-bottom: 0.25em;
}

.post-list-date {
    color: #999;
}

.post-list-link {
    text-decoration: none;
}

.post-list-link:hover {
    background: #DBDBDB;
    color: #000;
}

/* === Single Post / Page === */

.entry-header {
    margin-bottom: 1.5em;
}

.entry-title {
    font-size: 12.5px;
    font-weight: bold;
}

.entry-meta {
    color: #999;
    margin-top: 0.25em;
}

.entry-content {
    margin-bottom: 2em;
}

.entry-content a {
    text-decoration: underline;
}

.entry-footer {
    border-top: dashed 1px rgba(219, 219, 219, 1);
    padding-top: 1em;
    margin-top: 2em;
    color: #999;
}

.entry-footer a {
    color: #DBDBDB;
}

/* === Images === */

img {
    max-width: 100%;
    height: auto;
}

.entry-content img,
.wp-block-image img,
.post-thumbnail img {
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.08);
    margin: 1em 0;
    display: block;
}

.post-thumbnail {
    margin-bottom: 1.5em;
}

figure {
    margin: 1em 0;
}

figcaption,
.wp-element-caption {
    color: #999;
    font-size: 12px;
    margin-top: 0.5em;
}

/* === Gallery === */

.wp-block-gallery,
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.75em;
    margin: 1em 0;
}

.wp-block-gallery img,
.gallery img {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.08);
}

/* === Code Blocks === */

code,
kbd,
samp,
pre {
    font-family: "Source Code Pro", monospace;
    font-size: 12.5px;
}

code {
    background: #111;
    padding: 0.15em 0.4em;
    border-radius: 3px;
}

pre {
    background: #111;
    padding: 1em;
    overflow-x: auto;
    margin: 1em 0;
    border-radius: 4px;
    border: dashed 1px rgba(219, 219, 219, 0.2);
}

pre code {
    background: none;
    padding: 0;
    border-radius: 0;
}

/* === Tables === */

table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
}

th, td {
    border: dashed 1px rgba(219, 219, 219, 0.5);
    padding: 0.4em 0.8em;
    text-align: left;
}

th {
    font-weight: bold;
}

/* === Forms & Search === */

input,
textarea,
select,
button {
    font-family: "Source Code Pro", monospace;
    font-size: 12.5px;
    background: #000;
    color: #DBDBDB;
    border: dashed 1px rgba(219, 219, 219, 1);
    padding: 0.4em 0.6em;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #DBDBDB;
}

button,
input[type="submit"] {
    cursor: pointer;
}

button:hover,
input[type="submit"]:hover {
    background: #DBDBDB;
    color: #000;
}

.search-form {
    display: flex;
    align-items: stretch;
}

.search-form label {
    flex: 1;
}

.search-field {
    width: 100%;
}

.search-submit {
    margin-left: 0.5em;
}

.search-prompt {
    color: #999;
    margin-bottom: 0.25em;
}

/* === Sidebar / Widgets === */

.widget-area {
    border-top: dashed 1px rgba(219, 219, 219, 1);
    padding-top: 1.5em;
    margin-top: 2em;
}

.widget {
    margin-bottom: 2em;
}

.widget-title {
    font-size: 12.5px;
    font-weight: bold;
    margin-bottom: 0.5em;
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget li::before {
    content: "- ";
}

/* === Comments === */

.comments-area {
    border-top: dashed 1px rgba(219, 219, 219, 1);
    padding-top: 1.5em;
    margin-top: 2em;
}

.comments-title {
    font-size: 12.5px;
    font-weight: bold;
    margin-bottom: 1em;
}

.comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.comment-list li::before {
    content: none;
}

.comment {
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: dashed 1px rgba(219, 219, 219, 0.3);
}

.comment .children {
    margin-left: 1.5em;
    padding-left: 1em;
    border-left: dashed 1px rgba(219, 219, 219, 0.3);
    list-style: none;
}

.comment .children li::before {
    content: none;
}

.comment-meta {
    margin-bottom: 0.5em;
    color: #999;
}

.comment-meta a {
    color: #DBDBDB;
}

.comment-author .fn {
    font-weight: bold;
    color: #DBDBDB;
}

.comment-content p {
    margin-bottom: 0.5em;
}

.reply a {
    font-size: 12px;
    text-decoration: none;
}

.reply a::before {
    content: "[";
}

.reply a::after {
    content: "]";
}

.comment-respond {
    margin-top: 1.5em;
}

.comment-reply-title {
    font-size: 12.5px;
    font-weight: bold;
    margin-bottom: 0.5em;
}

.comment-form label {
    display: block;
    margin-bottom: 0.25em;
    color: #999;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    margin-bottom: 0.75em;
}

.comment-form textarea {
    min-height: 120px;
    resize: vertical;
}

/* === Pagination === */

.pagination,
.post-navigation {
    margin: 2em 0;
    border-top: dashed 1px rgba(219, 219, 219, 1);
    padding-top: 1em;
}

.nav-links {
    display: flex;
    justify-content: space-between;
}

.nav-links a {
    text-decoration: none;
}

.nav-links a::before {
    content: "[";
}

.nav-links a::after {
    content: "]";
}

.page-numbers {
    margin: 0 0.25em;
}

.page-numbers.current {
    font-weight: bold;
    background: #DBDBDB;
    color: #000;
    padding: 0 0.3em;
}

/* === Footer === */

.site-footer {
    border-top: dashed 1px rgba(219, 219, 219, 1);
    padding-top: 1em;
    margin-top: 2em;
    color: #999;
    font-size: 12px;
}

.site-footer a {
    color: #DBDBDB;
}

/* === 404 === */

.error-404 .search-form {
    margin-top: 1em;
}

/* === Archive Header === */

.archive-header {
    margin-bottom: 2em;
}

.archive-title {
    font-size: 12.5px;
    font-weight: bold;
}

.archive-description {
    color: #999;
    margin-top: 0.5em;
}

/* === Screen Reader Text === */

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #111;
    clip: auto !important;
    color: #DBDBDB;
    display: block;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* === Alignments === */

.alignleft {
    float: left;
    margin-right: 1em;
    margin-bottom: 0.5em;
}

.alignright {
    float: right;
    margin-left: 1em;
    margin-bottom: 0.5em;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* === WordPress Specific === */

.wp-caption {
    max-width: 100%;
}

.wp-caption-text {
    color: #999;
    font-size: 12px;
    margin-top: 0.5em;
}

.sticky .entry-title::before {
    content: "* ";
}

.bypostauthor .comment-author .fn::after {
    content: " [author]";
    color: #999;
    font-weight: normal;
}

/* === Mobile === */

@media (max-width: 500px) {
    html {
        font-size: 12px;
    }

    body,
    h1, h2, h3, h4, h5, h6,
    code, kbd, samp, pre,
    input, textarea, select, button,
    .site-title,
    .widget-title,
    .comments-title,
    .comment-reply-title,
    .entry-title,
    .archive-title {
        font-size: 12px;
    }

    .site-container {
        width: 95%;
        padding: 20px 0;
    }

    .site-nav {
        text-align: left;
    }

    .nav-links {
        flex-direction: column;
        gap: 0.5em;
    }
}
