/**
 * Dekeratina.com — base.css
 * Identidad visual v1: editorial, cálida, natural y limpia.
 */

:root {
	/* Marca */
	--dk-sage-900: #2f493c;
	--dk-sage-800: #3d5a4b;
	--dk-sage-100: #e8efe9;
	--dk-clay-600: #b76155;
	--dk-clay-100: #f4e6e2;
	--dk-ivory: #f8f5ef;
	--dk-white: #ffffff;
	--dk-charcoal: #242724;
	--dk-muted: #667068;
	--dk-border: #e4e1da;

	/* Semánticos */
	--dk-primary: var(--dk-sage-900);
	--dk-primary-hover: #24382f;
	--dk-accent: var(--dk-clay-600);
	--dk-bg: var(--dk-ivory);
	--dk-surface: var(--dk-white);
	--dk-text: var(--dk-charcoal);
	--dk-text-muted: var(--dk-muted);

	/* Layout */
	--dk-content-width: 1200px;
	--dk-reading-width: 760px;
	--dk-gutter: 32px;

	/* Forma */
	--dk-radius-sm: 8px;
	--dk-radius-md: 14px;
	--dk-radius-lg: 22px;
	--dk-radius-pill: 999px;
	--dk-shadow-sm: 0 8px 24px rgba(36, 39, 36, 0.06);
	--dk-shadow-md: 0 16px 40px rgba(36, 39, 36, 0.09);

	/* Tipografía: sin peticiones externas para priorizar rendimiento */
	--dk-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--dk-font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--dk-bg);
	color: var(--dk-text);
	font-family: var(--dk-font-body);
	font-size: 17px;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--dk-text);
	font-family: var(--dk-font-display);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.018em;
}

h1 {
	font-size: clamp(2.45rem, 5vw, 4.25rem);
}

h2 {
	font-size: clamp(2rem, 3.4vw, 3rem);
}

h3 {
	font-size: clamp(1.45rem, 2vw, 2rem);
}

p {
	margin-bottom: 1.35em;
}

a {
	color: var(--dk-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

a:hover,
a:focus {
	color: var(--dk-primary-hover);
}

::selection {
	background: var(--dk-sage-100);
	color: var(--dk-text);
}

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

/* Contenedores propios */
.dk-container {
	width: min(calc(100% - (var(--dk-gutter) * 2)), var(--dk-content-width));
	margin-inline: auto;
}

.dk-reading-width {
	width: min(100%, var(--dk-reading-width));
}

.dk-section {
	padding-block: clamp(56px, 7vw, 96px);
}

.dk-section--white {
	background: var(--dk-surface);
}

.dk-section--sage {
	background: var(--dk-sage-100);
}

/* Botones */
.dk-button,
a.dk-button,
button.dk-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid var(--dk-primary);
	border-radius: var(--dk-radius-pill);
	background: var(--dk-primary);
	color: var(--dk-white);
	font-family: var(--dk-font-body);
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.dk-button:hover,
.dk-button:focus-visible {
	background: var(--dk-primary-hover);
	border-color: var(--dk-primary-hover);
	color: var(--dk-white);
	transform: translateY(-1px);
}

.dk-button--secondary,
a.dk-button--secondary {
	background: transparent;
	color: var(--dk-primary);
}

.dk-button--secondary:hover,
.dk-button--secondary:focus-visible {
	background: var(--dk-sage-100);
	color: var(--dk-primary-hover);
}

/* Cards base */
.dk-card {
	background: var(--dk-surface);
	border: 1px solid var(--dk-border);
	border-radius: var(--dk-radius-lg);
	box-shadow: var(--dk-shadow-sm);
	overflow: hidden;
}

.dk-card__body {
	padding: clamp(20px, 3vw, 30px);
}

.dk-eyebrow {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--dk-accent);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.dk-muted {
	color: var(--dk-text-muted);
}

/* Respuesta rápida para artículos */
.dk-quick-answer {
	margin-block: 28px;
	padding: 22px 24px;
	border: 1px solid #d8e2da;
	border-left: 4px solid var(--dk-primary);
	border-radius: var(--dk-radius-md);
	background: var(--dk-sage-100);
}

.dk-quick-answer > :last-child {
	margin-bottom: 0;
}

/* Integración visual básica con Astra */
.ast-separate-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
	background-color: var(--dk-bg);
}

.site-content {
	color: var(--dk-text);
}

.ast-single-post .entry-content a,
.page .entry-content a {
	color: var(--dk-primary);
}

/* Accesibilidad */
:focus-visible {
	outline: 3px solid rgba(183, 97, 85, 0.35);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	:root {
		--dk-gutter: 18px;
	}

	body {
		font-size: 16.5px;
	}

	.dk-section {
		padding-block: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
