/* ==========================================================================
   HEADSHOT STORE — reset total de estilos del navegador.
   Todo elemento nativo (botones, formularios, listas, tablas, details…)
   parte de cero para que el diseño se vea idéntico en Chrome, Safari,
   Firefox, Edge, iOS y Android.
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0 solid currentColor;
	min-width: 0;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	tab-size: 4;
	line-height: 1.6;
	scroll-behavior: smooth;
	color-scheme: dark;
}

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

body {
	min-height: 100vh;
	min-height: 100dvh;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	overflow-wrap: break-word;
}

p, li, dd, blockquote, figcaption { overflow-wrap: break-word; }

ul, ol, menu { list-style: none; }

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

b, strong { font-weight: 700; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
abbr[title] { text-decoration: underline dotted; cursor: help; }
code, kbd, samp, pre { font-family: monospace; font-size: 0.92em; }
hr { height: 0; color: inherit; border-top-width: 1px; }

img, picture, video, canvas, svg, iframe, embed, object {
	display: block;
	max-width: 100%;
}
img, video { height: auto; }
img { border-style: none; font-style: italic; vertical-align: middle; }
svg { flex-shrink: 0; }

table {
	border-collapse: collapse;
	border-spacing: 0;
	text-indent: 0;
	border-color: inherit;
	width: 100%;
}
th { text-align: inherit; font-weight: inherit; }

/* Formularios: sin apariencia nativa en ningún navegador. */
button, input, optgroup, select, textarea {
	font: inherit;
	font-feature-settings: inherit;
	font-variation-settings: inherit;
	letter-spacing: inherit;
	color: inherit;
	background: transparent;
	border-radius: 0;
	line-height: inherit;
	outline: none;
}

button, select { text-transform: none; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
[role="button"] {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	background-image: none;
	text-align: inherit;
	user-select: none;
	touch-action: manipulation;
}

button:disabled, [disabled] { cursor: not-allowed; }

input,
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	box-shadow: none;
}

input[type="checkbox"],
input[type="radio"] { width: auto; }

textarea { resize: vertical; }

::placeholder { opacity: 1; color: inherit; }

input[type="search"] { -webkit-appearance: none; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; display: none; }

input[type="number"] { -moz-appearance: textfield; }
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
::-webkit-date-and-time-value { text-align: inherit; min-height: 1.6em; }

select::-ms-expand { display: none; }

fieldset { min-width: 0; }
legend { display: table; max-width: 100%; white-space: normal; }

progress { vertical-align: baseline; }

summary { display: list-item; cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::marker { content: ""; }

dialog { color: inherit; background: transparent; }

[hidden]:where(:not([hidden="until-found"])) { display: none !important; }

:focus { outline: none; }

/* El autocompletado de Chrome no pinta los campos de amarillo/azul. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
	-webkit-text-fill-color: #e2dfd8;
	-webkit-box-shadow: 0 0 0 1000px #252626 inset;
	box-shadow: 0 0 0 1000px #252626 inset;
	caret-color: #e2dfd8;
	transition: background-color 9999s ease-out 0s;
}

/* iOS: evita el zoom automático al enfocar campos (mínimo 16px). */
@supports (-webkit-touch-callout: none) {
	input, select, textarea { font-size: max(16px, 1em); }
}
