/*
Theme Name: Palomino
Theme URI: https://www.seancarney.ca
Author: Sean Carney
Author URI: https://www.seancarney.ca
Description: A neobrutalist WordPress block theme featuring bold borders, striking shadows, and eye-catching design. Built for the Full Site Editor with comprehensive block styling and post format support.
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: palomino
Tags: blog, one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, accessibility-ready
*/

/*
 * Neobrutalist styles are primarily defined in theme.json for FSE compatibility.
 * This file contains WordPress-required theme header and supplementary styles.
 */

/* Reset and Base Styles */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
}

/* Accessibility */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #000;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Skip Link */
.skip-link {
	left: -9999em;
	top: 2.5em;
	z-index: 999999999;
	text-decoration: underline;
}

.skip-link:focus {
	display: block;
	left: 6px;
	top: 7px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	line-height: normal;
	padding: 15px 23px 14px;
	z-index: 100000;
	right: auto;
}

/* Template-Specific Layout Classes */
.palomino-main-content {
	padding: 3rem 1.5rem;
}

.palomino-post-card,
.palomino-content-card {
	background-color: #ffffff;
	border: 2px solid #000000;
	border-radius: 10px;
	box-shadow: 4px 4px 0 0 #000000;
	padding: 1.5rem;
	margin-bottom: 2rem;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.palomino-post-card:hover,
.palomino-content-card:hover {
	box-shadow: 2px 2px 0 0 #000000;
	transform: translate(2px, 2px);
}

.palomino-archive-header {
	background-color: var(--wp--preset--color--highlight);
	border: 2px solid #000000;
	border-radius: 10px;
	box-shadow: 4px 4px 0 0 #000000;
	padding: 1.5rem;
	margin-bottom: 3rem;
}

.palomino-header-section {
	background-color: #ffffff;
	border-bottom: 4px solid #000000;
	padding: 1.5rem;
}

.palomino-footer-section {
	background-color: #ffffff;
	border-top: 4px solid #000000;
	padding: 3rem 1.5rem;
}

.palomino-post-meta {
	margin: 1rem 0;
}

.palomino-404-content {
	background-color: #ffffff;
	border: 4px solid #000000;
	border-radius: 10px;
	box-shadow: 6px 6px 0 0 #000000;
	padding: 4rem 3rem;
}

.palomino-comment-card {
	background-color: #ffffff;
	border: 2px solid #000000;
	border-radius: 10px;
	padding: 1rem 1.5rem;
	margin-bottom: 1rem;
}

/* Neobrutalist Enhancement Styles */
.wp-block-post {
	background-color: #ffffff;
	border: 2px solid #000000;
	border-radius: 10px;
	box-shadow: 4px 4px 0 0 #000000;
	padding: 1.5rem;
	margin-bottom: 2rem;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.wp-block-post:hover {
	box-shadow: 2px 2px 0 0 #000000;
	transform: translate(2px, 2px);
}

/* Post Format Specific Styles */
.format-quote .entry-title,
.format-image .entry-title,
.format-video .entry-title,
.format-gallery .entry-title,
.format-aside .entry-title,
.format-chat .entry-title,
.format-status .entry-title {
	/* Titles hidden in feed view via functions.php conditional logic */
}

.format-quote .wp-block-post,
.format-image .wp-block-post,
.format-video .wp-block-post,
.format-gallery .wp-block-post {
	border-width: 4px;
	border-color: var(--wp--preset--color--highlight);
}

.format-aside .wp-block-post {
	background-color: var(--wp--preset--color--background);
	border-style: dashed;
}

.format-chat .wp-block-post {
	background: repeating-linear-gradient(
		180deg,
		#ffffff,
		#ffffff 20px,
		#f8f8f8 20px,
		#f8f8f8 40px
	);
}

.format-status .wp-block-post {
	border-width: 3px;
	padding: 1rem;
	font-size: 0.9rem;
}

/* Block Style Variations */
.is-style-neo-card {
	background-color: #ffffff;
	border: 2px solid #000000;
	border-radius: 10px;
	box-shadow: 4px 4px 0 0 #000000;
	padding: 1.5rem;
}

.is-style-neo-highlight {
	background-color: var(--wp--preset--color--highlight);
	border: 2px solid #000000;
	border-radius: 10px;
	box-shadow: 4px 4px 0 0 #000000;
	padding: 1.5rem;
	color: #000000;
}

.is-style-neo-flat {
	background-color: #ffffff;
	border: 2px solid #000000;
	border-radius: 0px;
	box-shadow: none;
	padding: 1.5rem;
}

/* Border Radius Variations */
.has-border-radius-none {
	border-radius: 0px !important;
}

.has-border-radius-small {
	border-radius: 5px !important;
}

.has-border-radius-medium {
	border-radius: 10px !important;
}

.has-border-radius-large {
	border-radius: 15px !important;
}

.has-border-radius-xlarge {
	border-radius: 20px !important;
}

/* Shadow Variations */
.has-shadow-default {
	box-shadow: 4px 4px 0 0 #000000 !important;
}

.has-shadow-small {
	box-shadow: 2px 2px 0 0 #000000 !important;
}

.has-shadow-none {
	box-shadow: none !important;
}

.has-shadow-negative {
	box-shadow: -4px -4px 0 0 #000000 !important;
}

.has-shadow-left {
	box-shadow: -4px 4px 0 0 #000000 !important;
}

.has-shadow-top {
	box-shadow: 4px -4px 0 0 #000000 !important;
}

/* Spacing Utility Classes */
.palomino-spacing-top-small {
	margin-top: 1rem;
}

.palomino-spacing-top-medium {
	margin-top: 1.5rem;
}

.palomino-spacing-top-large {
	margin-top: 3rem;
}

.palomino-spacing-bottom-small {
	margin-bottom: 1rem;
}

.palomino-spacing-bottom-medium {
	margin-bottom: 1.5rem;
}

.palomino-spacing-bottom-large {
	margin-bottom: 3rem;
}

.palomino-gap-small {
	gap: 0.5rem;
}

.palomino-gap-medium {
	gap: 1rem;
}

.palomino-gap-large {
	gap: 1.5rem;
}

/* Sidebar and Widget Contexts - Avoid nested borders */
.wp-block-group.is-style-neo-card .wp-block-group,
.sidebar .wp-block-group .wp-block-group {
	border: none;
	box-shadow: none;
	padding: 0;
}

/* Ensure proper contrast for accessibility */
.has-highlight-background-color {
	color: #000000;
}

.has-background-background-color {
	color: #000000;
}

/* Focus Styles for Accessibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: 2px solid #000000;
	outline-offset: 2px;
}

/* Typography Utility Classes */
.palomino-text-bold {
	font-weight: 700;
}

.palomino-text-center {
	text-align: center;
}

.palomino-heading-404 {
	font-size: 5rem;
	font-weight: 700;
	text-align: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.palomino-main-content {
		padding: 1.5rem 1rem;
	}

	.palomino-post-card,
	.palomino-content-card {
		padding: 1rem;
		margin-bottom: 1.5rem;
	}

	.palomino-archive-header {
		padding: 1rem;
		margin-bottom: 1.5rem;
	}

	.palomino-404-content {
		padding: 2rem 1.5rem;
	}

	.palomino-heading-404 {
		font-size: 3rem;
	}

	.is-style-neo-card,
	.is-style-neo-highlight {
		padding: 1rem;
	}
}
