.entry-title {text-align:center;}

/* ==========================================================================
   FUENTES Y TIPOGRAFÍA BASE
   ========================================================================== */
body {
    font-family: var(--font-text-primary);
    font-weight: var(--weight-text-primary);
}

/* H1 Título Principal */
h1, .site-title {
    font-family: var(--font-h1);
    font-weight: var(--weight-h1);
}

/* Encabezados Secundarios (H2, H3, H4, H5, H6) */
h2, h3, h4, h5, h6 {
    font-family: var(--font-headings);
    font-weight: var(--weight-headings);
}

/* Texto Secundario (Meta, captions, subtítulos) */
.entry-meta, .caption, .subtitle, small, .text-secondary {
    font-family: var(--font-text-secondary);
    font-weight: var(--weight-text-secondary);
}

/* ==========================================================================
   RESET GENERAL
   ========================================================================== */
*,
::before,
::after {
	box-sizing: inherit;
}

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: var(--bg);
	color: var(--text);
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
	overflow-x: hidden;
}

button,
input:focus,
input[type='button'],
input[type='reset'],
input[type='submit'],
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
	border: 0;
	padding: 0.7em;
	font-size: 1rem;
	font-family: inherit;
}

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

button,
input,
select,
textarea {
	font-size: 1rem;
	font-family: inherit;
	line-height: 1.5;
	width: 100%;
	padding: 0.7em;
	border: none;
	box-sizing: border-box;
	background: #f3f3f3;
}

a {
	color: var(--link);
	text-decoration: none;
	font-weight: bold;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

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

p { margin: 0 0 20px; padding: 0; }
ol, ul { margin: 0; padding: 0; }
li { list-style-type: none; }

article ol, article ul { padding-left: 20px; margin-bottom: 24px;}
article li { padding-left: 10px; list-style:initial }

hr {
	border: none;
	border-collapse: collapse;
	border-top: 1px solid var(--border);
	clear: both;
	margin: 30px 0;
}

b, strong { font-weight: 800; }
blockquote, cite, em, i { font-style: italic; }
mark { background: #ddd; color: #333; }
blockquote { margin: 30px; }

/* Encabezados */
h1, h2, h3, h4, h5, h6 {
	line-height: 1.2;
	margin: 0 0 20px;
}

h1 { font-size: 45px; }
h2 { font-size: 37px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

.entry-content h3, .entry-content h4 { font-weight: 800; }
.entry-content h4 { margin-top: 40px; }

/* Multimedia */
embed, iframe, img, object, video, .wp-caption { max-width: 100%; }
img { height: auto; vertical-align: top; }
figure { margin: 0; }

/* Contenedores Genesis */
.site-inner { width: 100%; margin: 0 auto; }
.site-container { max-width: 100%; box-sizing: border-box; }

.archive .content,
.error404 article .entry-content,
.single article .entry-content,
.page article .entry-content {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 1em;
	width: 100%;
	box-sizing: border-box;
}

/* Contact Form 7 Reset */
.wpcf7 form.invalid .wpcf7-response-output { background: #ffb900; }
.wpcf7 form.sent .wpcf7-response-output { background: #46b450; }