/*!
 * base.css — cimientos del tema Blend Odontología.
 *
 * Hasta la versión 3.5.2 estos valores venían del reset.css de Hello Elementor.
 * Ahora el tema es independiente y este archivo es la única base del sitio:
 * solo reglas estructurales (caja, medios, formularios) y de accesibilidad.
 * Los estilos visuales viven en chrome.css, content.css y front.css.
 *
 * Si necesitas cambiar el tamaño o el margen base de un título, se cambia aquí
 * (una sola vez) y no en cada plantilla.
 */

*,
*::before,
*::after { box-sizing: border-box; }

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background-color: #fff;
	color: #333;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Títulos: escala base. Cada plantilla la sobreescribe con sus clases. */
h1, h2, h3, h4, h5, h6 {
	margin-block: 0.5rem 1rem;
	color: inherit;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p { margin-block: 0 0.9rem; }

a { color: inherit; text-decoration: none; }

ul, ol, li, dl, dd, dt { margin-block: 0; }

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

[hidden],
template { display: none; }

/* Superindices y subindices: no deben abrir el interlineado del parrafo. */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub { bottom: -0.25em; }
sup { top: -0.5em; }

/* Paginacion de archivos y busquedas (la imprime the_posts_pagination()). */
.pagination {
	display: flex;
	justify-content: space-between;
	margin: 20px auto;
}

/* Formularios: heredan la tipografía del sitio, sin pintarlos de marca. */
button,
input,
optgroup,
select,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
}
button,
input { overflow: visible; }
button,
select { text-transform: none; }

/* Botones: neutros por defecto. El borde es transparente en vez de `0` para
   que el ancho total sea el mismo que daba el reset anterior. */
[type="button"],
[type="reset"],
[type="submit"],
button {
	-webkit-appearance: button;
	appearance: button;
	display: inline-block;
	width: auto;
	padding: 0.5rem 1rem;
	border: 1px solid transparent;
	border-radius: 3px;
	background-color: transparent;
	color: inherit;
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
}
[type="button"]:disabled,
[type="submit"]:disabled,
button:disabled { cursor: default; }
textarea {
	overflow: auto;
	resize: vertical;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
select { display: block; }
label {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

/* Accesibilidad: texto solo para lectores de pantalla (skip link incluido). */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	z-index: 100000;
	display: block;
	top: 5px;
	left: 5px;
	width: auto;
	height: auto;
	padding: 12px 24px;
	clip: auto !important;
	clip-path: none;
	background-color: #eee;
	color: #333;
	font-size: 1rem;
	line-height: normal;
	text-decoration: none;
}
