/* ===== TATTOO PUNK — Custom CSS ===== */

/* Skip Link */
.skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    background: #FFE500;
    color: #000;
    padding: 8px 16px;
    z-index: 9999;
    font-family: 'Space Mono', monospace;
    text-transform: uppercase;
    font-weight: bold;
}
.skip-link:focus {
    top: 0;
}

/* Pagination */
.nav-links {
    display: flex;
    gap: 0;
    justify-content: center;
    font-family: 'Space Mono', monospace;
    text-transform: uppercase;
}
.nav-links a,
.nav-links span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 48px;
    border: 3px solid #000;
    margin-left: -3px;
    padding: 0 12px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    transition: none;
}
.nav-links a:hover {
    background: #FFE500;
    color: #000;
}
.nav-links .current {
    background: #000;
    color: #fff;
}

/* Comment Form */
.comment-form label {
    font-family: 'Space Mono', monospace;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    border: 3px solid #000;
    padding: 12px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 1rem;
    background: #fff;
    outline: none;
}
.comment-form input:focus,
.comment-form textarea:focus {
    border-color: #FFE500;
    box-shadow: 4px 4px 0 #000;
}
.comment-form .submit {
    background: #000;
    color: #fff;
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: 1.25rem;
    padding: 12px 32px;
    border: 3px solid #000;
    cursor: pointer;
}
.comment-form .submit:hover {
    background: #FFE500;
    color: #000;
}

/* Comment List */
.comment-list {
    list-style: none;
    padding: 0;
}
.comment-list .comment {
    border: 3px solid #000;
    padding: 24px;
    margin-bottom: 16px;
}
.comment-list .comment .comment-author {
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    text-transform: uppercase;
}
.comment-list .comment .comment-metadata {
    font-family: 'Space Mono', monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.6;
}

/* Widget Styles */
.widget {
    margin-bottom: 24px;
}
.widget-title {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: 1.5rem;
    border-bottom: 3px solid #000;
    padding-bottom: 8px;
    margin-bottom: 16px;
}
.widget ul {
    list-style: none;
    padding: 0;
}
.widget ul li {
    border-bottom: 1px solid #ddd;
    padding: 8px 0;
}
.widget ul li a {
    font-family: 'Space Mono', monospace;
    text-transform: uppercase;
    font-size: 0.85rem;
    color: #000;
    text-decoration: none;
}
.widget ul li a:hover {
    color: #FFE500;
    background: #000;
    padding: 2px 4px;
}

/* TOC */
.toc-container {
    border: 3px solid #000;
    padding: 24px;
}
.toc-container h3 {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: 1.25rem;
    border-bottom: 3px solid #000;
    padding-bottom: 8px;
    margin-bottom: 16px;
}
.toc-container ul {
    list-style: none;
    padding: 0;
}
.toc-container ul li {
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}
.toc-container ul li a {
    font-family: 'Space Mono', monospace;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    color: #000;
    text-decoration: none;
}
.toc-container ul li a:hover,
.toc-container ul li a.active {
    color: #FFE500;
    background: #000;
    padding: 2px 6px;
}

/* Sticky Sidebar */
.sticky-sidebar {
    position: sticky;
    top: 100px;
}

/* Card Hover */
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 8px 8px 0 #000;
}

/* Prose / Entry Content */
.prose h2,
.entry-content h2 {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: 2.5rem;
    border-left: 12px solid #000;
    padding-left: 16px;
    margin: 2rem 0 1rem;
    line-height: 1;
}
.prose h3,
.entry-content h3 {
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5rem;
    border-left: 4px solid #FFE500;
    padding-left: 12px;
    margin: 1.5rem 0 1rem;
}
.prose p,
.entry-content p {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 1.125rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.prose blockquote,
.entry-content blockquote {
    border-left: 8px solid #FFE500;
    padding: 16px 24px;
    margin: 2rem 0;
    font-style: italic;
    font-size: 1.25rem;
    font-family: 'IBM Plex Mono', monospace;
}
.prose img,
.entry-content img {
    border: 3px solid #000;
    max-width: 100%;
    height: auto;
}
.prose a,
.entry-content a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.prose a:hover,
.entry-content a:hover {
    color: #FFE500;
    background: #000;
    padding: 0 4px;
}
.prose ul,
.entry-content ul {
    list-style: square;
    padding-left: 24px;
    margin-bottom: 1.5rem;
}
.prose ol,
.entry-content ol {
    list-style: decimal;
    padding-left: 24px;
    margin-bottom: 1.5rem;
}
.prose li,
.entry-content li {
    margin-bottom: 0.5rem;
    font-family: 'IBM Plex Mono', monospace;
}
.prose pre,
.entry-content pre {
    background: #000;
    color: #FFE500;
    padding: 24px;
    overflow-x: auto;
    border: 3px solid #FFE500;
    font-family: 'IBM Plex Mono', monospace;
    margin: 1.5rem 0;
}
.prose code,
.entry-content code {
    font-family: 'IBM Plex Mono', monospace;
    background: #f0f0f0;
    padding: 2px 6px;
    border: 1px solid #000;
}

/* WP Alignment Classes */
.alignleft {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}
.alignright {
    float: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}
.alignwide {
    margin-left: -2rem;
    margin-right: -2rem;
    max-width: calc(100% + 4rem);
}
.alignfull {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    max-width: 100vw;
    width: 100vw;
}

/* Line Clamp */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    animation: marquee 30s linear infinite;
}

/* Selection */
::selection {
    background-color: #FFE500;
    color: #000;
}

/* Cursor — handled by header.php inline SVG cursors */

/* Scrollbar hide */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Ad Network Styles */
ins.adsbygoogle { display: block !important; }
.tp-in-content-ad,
.tp-after-post-ad,
.tp-sidebar-ad {
    margin: 1.5rem 0;
    text-align: center;
    clear: both;
}
.tp-in-content-ad iframe,
.tp-after-post-ad iframe,
.tp-sidebar-ad iframe {
    max-width: 100%;
}

/* Focus Ring */
*:focus-visible {
    outline: 3px solid #FFE500;
    outline-offset: 2px;
}
