/* ────────────────────────────────────────────────────────────
   01-base.css
   Minimal reset, body defaults, and global element styles.
   @font-face lives in fonts.css. Background variants live in
   02-style-variations.css.

   Load order: after 00-tokens.css, before any component CSS.
   ──────────────────────────────────────────────────────────── */

/* ── Minimal reset ──────────────────────────────────────────── */

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

body {
	margin: 0;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ── Body ───────────────────────────────────────────────────── */

body {
	font-family: var(--font-body);
	font-size: var(--text-body-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-loose);
	color: var(--color-text-body);
	background-color: var(--color-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* ── Headings ───────────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	color: var(--color-text-heading);
	margin-top: 0;
	margin-bottom: var(--spacing-md);
}

h1 { font-size: var(--text-display-2xl); }
h2 { font-size: var(--text-display-lg); }
h3 { font-size: var(--text-heading-lg);}
h4 { font-size: var(--text-heading-md);}
h5 { font-size: var(--text-heading-sm);}
h6 { font-size: var(--text-heading-sm);}

/* ── Paragraph ──────────────────────────────────────────────── */

p {
	font-size: var(--text-body-base);
	line-height: var(--line-height-loose);
	color: var(--color-text-body);
	margin-top: 0;
	margin-bottom: var(--spacing-md);
}

/* ── Links ──────────────────────────────────────────────────── */

a {
	color: var(--color-blue-primary);
	text-decoration: underline;
}

a:hover {
	color: var(--color-blue-dark);
	text-decoration: none;
}

/* ── Lists ──────────────────────────────────────────────────── */

ul,
ol {
	margin-top: 0;
	margin-bottom: var(--spacing-md);
	margin: 0 0 var(--spacing-md) var(--spacing-md);
}

li {
	margin-bottom: var(--spacing-xs);
	line-height: var(--line-height-loose);
}

/* ── Blockquote ─────────────────────────────────────────────── */

blockquote {
	border-left: 3px solid var(--color-blue-primary);
	padding-left: var(--spacing-md);
	margin: 0 0 var(--spacing-md) 0;
	font-style: italic;
	color: var(--color-text-body);
}

/* ── Horizontal rule ────────────────────────────────────────── */

hr {
	border: 0;
	border-top: 1px solid var(--color-gray-stroke);
	margin: var(--spacing-md) 0;
}

/* ── Code & pre ─────────────────────────────────────────────── */
/* No --font-mono token exists yet — using system monospace stack.
   Add --font-mono to tokens.css if a branded mono font is chosen. */

code {
	font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
	font-size: var(--text-body-sm);
	background-color: var(--color-gray-primary);
	padding: 2px var(--spacing-xs);
	border-radius: var(--radius-sm);
}

pre {
	font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
	font-size: var(--text-body-sm);
	background-color: var(--color-gray-primary);
	padding: var(--spacing-md);
	border-radius: var(--radius-md);
	overflow-x: auto;
	margin-top: 0;
	margin-bottom: var(--spacing-md);
}

pre code {
	background: none;
	padding: 0;
	border-radius: 0;
}

/* ── Tables (core/table block) ──────────────────────────────── */

.wp-block-table {
	margin-bottom: var(--spacing-md);
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-body);
}

.wp-block-table thead tr {
	background-color: var(--color-blue-primary);
}

.wp-block-table thead th {
	color: var(--color-white);
	font-weight: var(--font-weight-bold);
	font-size: var(--text-body-base);
	padding: var(--spacing-sm) var(--spacing-md);
	text-align: left;
}

.wp-block-table tbody tr:nth-child(odd) {
	background-color: var(--color-white);
}

.wp-block-table tbody tr:nth-child(even) {
	background-color: var(--color-gray-soft);
}

.wp-block-table tbody td {
	padding: var(--spacing-sm) var(--spacing-md);
	font-size: var(--text-body-base);
	color: var(--color-text-body);
	border-bottom: 1px solid var(--color-gray-stroke);
	text-align: left;
}

/* ── Gallery (Core block) ─────────────────────────── */
.wp-block-gallery {
	margin-bottom: var(--spacing-xl);
}

/* ── Responsive: content area padding ────────────── */

@media (max-width: 768px) {
	.separate-containers .inside-article,
	.separate-containers .comments-area,
	.separate-containers .page-header,
	.separate-containers .paging-navigation,
	.one-container .site-content,
	.inside-page-header {
		padding: 10px 30px !important;
	}
}