/*
Theme Name: Vox Libra
Theme URI: https://voxlibra.com/
Author: Vox Libra
Description: Thème de blocs sur mesure pour le site public de Vox Libra.
Version: 0.2.4
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: vox-libra
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--vox-paper: #fbfaf8;
	--vox-ink: #111111;
	--vox-muted: #625e65;
	--vox-border: #e6dfea;
	--vox-surface: #f8f5fa;
	--vox-deep: #3f2a49;
	--vox-violet: #76518a;
	--vox-green: #7bdcb5;
	--vox-orange: #ff521b;
	--vox-orange-text: #b7370e;
}

html {
	scroll-behavior: auto;
}

body {
	text-wrap: pretty;
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--vox-orange);
	outline-offset: 4px;
}

.vox-site-header {
	border-bottom: 1px solid var(--vox-border);
}

.vox-wordmark {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.vox-kicker {
	color: var(--vox-orange-text);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.vox-editorial-title {
	font-style: italic;
}

.vox-section-rule {
	border-top: 1px solid var(--vox-border);
}

.vox-media-galet,
.is-style-galet-doux {
	border-radius: 58% 42% 54% 46% / 44% 57% 43% 56%;
	overflow: hidden;
}

.vox-media-galet {
	background-color: var(--vox-violet);
	box-shadow: 16px 16px 0 var(--vox-green);
}

.vox-media-galet--alt {
	background-color: var(--vox-deep);
	border-radius: 45% 55% 48% 52% / 55% 42% 58% 45%;
	box-shadow: 16px 16px 0 var(--vox-orange);
}

.vox-page-opening {
	border-bottom: 1px solid var(--vox-border);
}

.vox-pullquote {
	border-left: 3px solid var(--vox-orange);
	color: var(--vox-deep);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	font-style: italic;
	line-height: 1.35;
	margin-top: 2rem;
	padding-left: 1.5rem;
}

.vox-action-band {
	background: var(--vox-deep);
	color: var(--vox-paper);
}

.vox-action-band :where(h2, p:not(.vox-kicker)) {
	color: var(--vox-paper);
}

.vox-action-band .vox-kicker {
	color: var(--vox-green);
}

.is-style-galet-doux img {
	border-radius: inherit;
	display: block;
	width: 100%;
}

.is-style-galet-orange {
	border-radius: 55% 45% 51% 49% / 47% 58% 42% 53%;
	box-shadow: 12px 12px 0 var(--vox-orange);
	overflow: hidden;
}

.is-style-galet-orange img {
	border-radius: inherit;
	display: block;
	width: 100%;
}

.vox-editorial-card {
	background: var(--vox-paper);
	border: 1px solid var(--vox-border);
	border-radius: 18px;
	height: 100%;
}

.vox-editorial-card.is-featured {
	background: var(--vox-surface);
	border-top: 4px solid var(--vox-green);
}

.vox-gateway-card {
	background: var(--vox-surface);
	border: 1px solid var(--vox-border);
	border-radius: 20px;
	height: 100%;
}

.vox-gateway-card.is-green {
	background: color-mix(in srgb, var(--vox-green) 28%, var(--vox-paper));
}

.vox-dark-band {
	background: var(--vox-violet);
	border-bottom: 4px solid var(--vox-green);
	border-top: 4px solid var(--vox-green);
	color: var(--vox-paper);
}

.vox-dark-band :where(h1, h2, h3, h4, h5, h6, a) {
	color: var(--vox-paper);
}

.vox-dark-band .vox-kicker {
	color: var(--vox-paper);
}

.vox-pro-bridge {
	border-bottom: 2px solid var(--vox-green);
	border-top: 2px solid var(--vox-green);
}

.vox-pro-link {
	border: 1px solid var(--vox-border);
	padding: 0.55rem 0.8rem;
	text-decoration: none;
}

.wp-block-button__link {
	transition: none;
}

@media (max-width: 781px) {
	.vox-media-galet {
		box-shadow: 10px 10px 0 var(--vox-green);
	}

	.vox-media-galet--alt {
		box-shadow: 10px 10px 0 var(--vox-orange);
	}

	.is-style-galet-orange {
		box-shadow: 8px 8px 0 var(--vox-orange);
	}
}

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