/* GT Base — reset suave + defaults globales.
 *
 * Aplica al frontend sin pisar agresivamente Flatsome. Los botones de Woo,
 * los inputs de checkout y los componentes de Flatsome NO se tocan acá:
 * eso vive en los archivos contextuales o en componentes específicos.
 */

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

/* ----- Body: canvas + texto base ----- */
body {
	background-color: var(--gt-surface-canvas);
	color: var(--gt-text-primary);
}

/* ----- Selección de texto ----- */
::selection {
	background-color: var(--gt-accent-soft);
	color: var(--gt-text-primary);
}

/* ----- Focus accesible global -----
 * :focus-visible solo aparece con teclado, no con mouse.
 * Outline visible sobre canvas oscuro, con offset para no comerse el borde.
 */
:focus-visible {
	outline: 2px solid var(--gt-accent-ring);
	outline-offset: 2px;
	border-radius: var(--gt-radius-sm);
}

/* Forzamos quitar el outline default solo cuando :focus-visible no aplica
 * y dejamos a Flatsome / Woo manejar sus propios estilos de focus. */
:focus:not(:focus-visible) {
	outline: none;
}

/* ----- Media fluida ----- */
img,
video,
svg {
	max-width: 100%;
	height: auto;
}

/* ----- Links base -----
 * No pisamos `.button`, `.nav-link` ni clases de Flatsome.
 * Solo enlaces "desnudos" dentro de contenido.
 */
a {
	color: inherit;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--gt-accent-hover);
}

/* ----- Botones base nativos (no .button de Flatsome) -----
 * Solo heredamos family y cursor. Cualquier diseño concreto va en
 * componentes específicos.
 */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	font-family: inherit;
	cursor: pointer;
}

button:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled {
	cursor: not-allowed;
	opacity: var(--gt-opacity-disabled);
}

/* ----- Helpers de accesibilidad ----- */
.gt-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
