/*
 * Jhimju Theme Main Stylesheet
 * Palette: "Petróleo Luminoso"
 * Style: Apple-inspired (Clean, Minimalist, San Francisco typography, Glassmorphism)
 */

:root {
	/* Palette "Petróleo Luminoso" */
	--color-petroleo: #0E606B;    /* Protagonista */
	--color-arena: #F7F5F0;       /* Fondo Cálido */
	--color-coral: #FF7F50;       /* Imán de Clics */
	--color-agua: #B2D2D2;        /* Soporte */
	--color-carbon: #2D3A3A;      /* Lectura */

	/* Structural & UI Variables */
	--bg-glass: rgba(247, 245, 240, 0.85); /* Translúcido de Arena */
	--border-radius-sm: 8px;
	--border-radius-md: 16px;
	--border-radius-lg: 24px;
	
	/* Typography */
	--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--spacing-base: 1.5rem;
}

/* Reset & Basics */
* {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--color-arena);
	color: var(--color-carbon);
	font-family: var(--font-system);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: var(--color-petroleo);
	text-decoration: none;
	transition: color 0.3s ease;
}

a:hover {
	color: var(--color-coral);
}

h1, h2, h3, h4, h5, h6 {
	color: var(--color-petroleo);
	font-weight: 700;
	margin-top: 2rem;
	margin-bottom: 1rem;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

/* Header & Navigation (Glassmorphism) */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--bg-glass);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	padding: 1rem 0;
	transition: all 0.3s ease;
}

.header-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
}

.site-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.site-title a {
	color: var(--color-petroleo);
}

.site-description {
	margin: 0;
	font-size: 0.85rem;
	color: var(--color-carbon);
	opacity: 0.7;
}

/* Navigation */
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 2rem;
}

.main-navigation li a {
	font-weight: 500;
	color: var(--color-carbon);
	font-size: 1rem;
}

.main-navigation li a:hover {
	color: var(--color-coral);
}

.menu-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-petroleo);
}

/* Layouts */
.site-main {
	padding: 4rem 2rem;
	min-height: 70vh;
}

.content-container {
	max-width: 800px; /* Centered content for readability */
	margin: 0 auto;
}

.content-container-full {
	max-width: 100%; /* Full width */
	padding: 0 2rem;
}

/* Article Styles */
.entry-header {
	margin-bottom: 3rem;
	text-align: center;
}

.entry-title {
	font-size: 2.5rem;
	margin-top: 0;
}

.entry-meta {
	font-size: 0.9rem;
	color: var(--color-carbon);
	opacity: 0.6;
}

.post-thumbnail {
	margin: 2rem 0;
	border-radius: var(--border-radius-md);
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.jhimju-featured-image {
	display: block;
	width: 100%;
	height: auto;
}

/* Content Typography */
.entry-content p {
	margin-bottom: 1.5rem;
}

.entry-content ul, .entry-content ol {
	margin-bottom: 1.5rem;
	padding-left: 1.5rem;
}

.entry-content blockquote {
	border-left: 4px solid var(--color-petroleo);
	margin: 2rem 0;
	padding: 1rem 2rem;
	background-color: var(--color-agua);
	border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
	color: var(--color-carbon);
	font-style: italic;
}

/* Buttons (Coral Suave) */
.btn-read-more,
.wp-block-button__link,
input[type="submit"],
button {
	display: inline-block;
	background-color: var(--color-coral);
	color: #fff;
	padding: 0.75rem 1.5rem;
	border-radius: var(--border-radius-lg);
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 14px rgba(255, 127, 80, 0.4);
}

.btn-read-more:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 127, 80, 0.6);
}

/* Support Sections (Verde Agua Claro) */
.support-section,
.testimonial {
	background-color: var(--color-agua);
	padding: 3rem;
	border-radius: var(--border-radius-md);
	margin: 3rem 0;
}

/* Footer */
.site-footer {
	background-color: var(--color-petroleo);
	color: #fff;
	padding: 4rem 2rem;
	text-align: center;
}

.site-footer a {
	color: var(--color-agua);
}

.site-footer a:hover {
	color: var(--color-coral);
}

.footer-container {
	max-width: 1200px;
	margin: 0 auto;
}

.footer-menu {
	list-style: none;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

/* Gutenberg alignments */
.alignwide {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

@media (min-width: 1024px) {
	.alignwide {
		margin-left: -10vw;
		margin-right: -10vw;
		max-width: 1000px;
		width: auto;
	}
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
	.menu-toggle {
		display: block;
	}
	
	.main-navigation ul {
		display: none; /* In a real scenario, JS would toggle a class */
		flex-direction: column;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: var(--bg-glass);
		backdrop-filter: blur(12px);
		padding: 2rem;
		border-top: 1px solid rgba(0,0,0,0.05);
	}
	
	.main-navigation.toggled ul {
		display: flex;
	}
	
	.entry-title {
		font-size: 2rem;
	}
}
