/* IJSB Child — entry point. Layout shell + resets globales.
   Los componentes se encolan por separado en functions.php (cache busting individual). */

/* Layout shell */
:root { color-scheme: light; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--ijs-font-body);
	color: var(--ijs-ink-900);
	background: var(--ijs-white);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

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

.ijsb-container {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 32px);
}

.ijsb-section {
	padding-block: clamp(48px, 8vw, 96px);
}

.ijsb-section--narrow {
	padding-block: clamp(32px, 5vw, 64px);
}

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

/* ──────────────────────────────────────────────────────────────
   Defensa contra contaminación CSS del widget Turbookings.
   Su bundle (turbookings-booking-widget.js) inyecta un <style>
   inline con clases genéricas — entre ellas `.page` con
   max-width:1200px y padding — que colisiona con WordPress: la
   clase `page` aparece tanto en <body> (body_class) como en
   <article> (post_class) y encoge todo el sitio en pantallas
   >1200px cuando el widget se monta.
   Ver feedback en código del bundle a Andrés (Salvador Ibiza).
   ────────────────────────────────────────────────────────────── */
body.page,
article.page {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ──────────────────────────────────────────────────────────────
   Fix borde blanco arriba del header.
   El text node "\n" entre </head> y <body> en html crea una
   caja anónima de ~14px (line-height del root font-size). Con
   `display: flex; flex-direction: column` los whitespace nodes
   entre flex items se ignoran y el body queda en top:0 limpio.
   ────────────────────────────────────────────────────────────── */
html {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}


/* Ocultar <p>\t</p> que wpautop deja entre shortcodes (rendering inerte). */
main > p:empty { display: none !important; }
