/**
 * Résurgence Agency — Utility CSS Classes
 *
 * Classes utilitaires pour l'intégration Bricks Builder
 * Convention : .oneday-u-*
 *
 * @package ResurgenceAgency
 * @agent FRONT-01
 */

/* ═══════════════════════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════════════════════ */

.oneday-u-font-heading { font-family: var(--oneday-font-heading); }
.oneday-u-font-body    { font-family: var(--oneday-font-body); }
.oneday-u-font-accent  { font-family: var(--oneday-font-accent); }

.oneday-u-text-display { font-size: var(--oneday-text-display); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.oneday-u-text-h1      { font-size: var(--oneday-text-h1); font-weight: 700; line-height: 1.15; letter-spacing: -0.015em; }
.oneday-u-text-h2      { font-size: var(--oneday-text-h2); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
.oneday-u-text-h3      { font-size: var(--oneday-text-h3); font-weight: 600; line-height: 1.3; }
.oneday-u-text-h4      { font-size: var(--oneday-text-h4); font-weight: 600; line-height: 1.3; }
.oneday-u-text-body    { font-size: var(--oneday-text-body); line-height: 1.65; }
.oneday-u-text-body-lg { font-size: var(--oneday-text-body-lg); line-height: 1.6; }
.oneday-u-text-small   { font-size: var(--oneday-text-small); line-height: 1.4; }
.oneday-u-text-xs      { font-size: var(--oneday-text-xs); line-height: 1.4; }
.oneday-u-text-quote   { font-size: var(--oneday-text-quote); font-style: italic; line-height: 1.5; }

.oneday-u-weight-400 { font-weight: 400; }
.oneday-u-weight-500 { font-weight: 500; }
.oneday-u-weight-600 { font-weight: 600; }
.oneday-u-weight-700 { font-weight: 700; }
.oneday-u-weight-800 { font-weight: 800; }

.oneday-u-italic      { font-style: italic; }
.oneday-u-uppercase    { text-transform: uppercase; letter-spacing: 0.05em; }
.oneday-u-text-center  { text-align: center; }
.oneday-u-text-left    { text-align: left; }
.oneday-u-text-right   { text-align: right; }

.oneday-u-max-width-prose { max-width: 70ch; }
.oneday-u-max-width-sm    { max-width: var(--oneday-container-sm); }
.oneday-u-max-width-md    { max-width: var(--oneday-container-md); }
.oneday-u-max-width-lg    { max-width: var(--oneday-container-lg); }

/* ═══════════════════════════════════════════════════════════
   COLORS
   ═══════════════════════════════════════════════════════════ */

.oneday-u-color-primary        { color: var(--oneday-primary); }
.oneday-u-color-accent         { color: var(--oneday-accent); }
.oneday-u-color-text           { color: var(--oneday-text); }
.oneday-u-color-text-secondary { color: var(--oneday-text-secondary); }
.oneday-u-color-text-muted     { color: var(--oneday-text-muted); }
.oneday-u-color-white          { color: var(--oneday-white); }
.oneday-u-color-green          { color: var(--oneday-green); }
.oneday-u-color-error          { color: var(--oneday-error); }

.oneday-u-bg-primary    { background-color: var(--oneday-primary); }
.oneday-u-bg-primary-dk { background-color: var(--oneday-primary-dark); }
.oneday-u-bg-accent     { background-color: var(--oneday-accent); }
.oneday-u-bg-bg         { background-color: var(--oneday-bg); }
.oneday-u-bg-alt        { background-color: var(--oneday-bg-alt); }
.oneday-u-bg-white      { background-color: var(--oneday-white); }

/* ═══════════════════════════════════════════════════════════
   SPACING
   ═══════════════════════════════════════════════════════════ */

.oneday-u-mt-0  { margin-top: 0; }
.oneday-u-mt-4  { margin-top: var(--oneday-space-4); }
.oneday-u-mt-6  { margin-top: var(--oneday-space-6); }
.oneday-u-mt-8  { margin-top: var(--oneday-space-8); }
.oneday-u-mt-12 { margin-top: var(--oneday-space-12); }
.oneday-u-mt-16 { margin-top: var(--oneday-space-16); }

.oneday-u-mb-0  { margin-bottom: 0; }
.oneday-u-mb-2  { margin-bottom: var(--oneday-space-2); }
.oneday-u-mb-4  { margin-bottom: var(--oneday-space-4); }
.oneday-u-mb-6  { margin-bottom: var(--oneday-space-6); }
.oneday-u-mb-8  { margin-bottom: var(--oneday-space-8); }
.oneday-u-mb-12 { margin-bottom: var(--oneday-space-12); }

.oneday-u-mx-auto { margin-left: auto; margin-right: auto; }

.oneday-u-pt-0  { padding-top: 0; }
.oneday-u-pt-8  { padding-top: var(--oneday-space-8); }
.oneday-u-pt-16 { padding-top: var(--oneday-space-16); }
.oneday-u-pt-20 { padding-top: var(--oneday-space-20); }
.oneday-u-pt-24 { padding-top: var(--oneday-space-24); }

.oneday-u-pb-0  { padding-bottom: 0; }
.oneday-u-pb-8  { padding-bottom: var(--oneday-space-8); }
.oneday-u-pb-16 { padding-bottom: var(--oneday-space-16); }
.oneday-u-pb-20 { padding-bottom: var(--oneday-space-20); }

/* ═══════════════════════════════════════════════════════════
   LAYOUT
   ═══════════════════════════════════════════════════════════ */

.oneday-u-flex        { display: flex; }
.oneday-u-flex-center { display: flex; align-items: center; justify-content: center; }
.oneday-u-flex-col    { display: flex; flex-direction: column; }
.oneday-u-flex-wrap   { flex-wrap: wrap; }
.oneday-u-items-center { align-items: center; }
.oneday-u-justify-between { justify-content: space-between; }

.oneday-u-gap-2  { gap: var(--oneday-space-2); }
.oneday-u-gap-3  { gap: var(--oneday-space-3); }
.oneday-u-gap-4  { gap: var(--oneday-space-4); }
.oneday-u-gap-6  { gap: var(--oneday-space-6); }
.oneday-u-gap-8  { gap: var(--oneday-space-8); }

.oneday-u-grid       { display: grid; }
.oneday-u-grid-2     { display: grid; grid-template-columns: repeat(2, 1fr); }
.oneday-u-grid-3     { display: grid; grid-template-columns: repeat(3, 1fr); }
.oneday-u-grid-4     { display: grid; grid-template-columns: repeat(4, 1fr); }

.oneday-u-w-full     { width: 100%; }

/* ═══════════════════════════════════════════════════════════
   VISIBILITY
   ═══════════════════════════════════════════════════════════ */

.oneday-u-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 1024px) {
	.oneday-u-hide-tablet { display: none !important; }
}

@media (max-width: 639px) {
	.oneday-u-hide-mobile { display: none !important; }
}

@media (min-width: 640px) {
	.oneday-u-show-mobile-only { display: none !important; }
}

@media (min-width: 1025px) {
	.oneday-u-show-tablet-only { display: none !important; }
}
