/* Mon Builder — styles de base, chargés sur chaque page construite avec le builder. */

:root {
	/* Kit global provisoire. Il deviendra modifiable dans l'admin en phase 2. */
	--mb-primary: #1d4ed8;
	--mb-secondary: #0f172a;
	--mb-text: #334155;
	--mb-accent: #f59e0b;
	--mb-light: #f1f5f9;
	--mb-white: #ffffff;
}

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

.mb-page {
	width: 100%;
}

/* Les thèmes limitent souvent la largeur du contenu : une page builder prend toute la place disponible. */
.mb-active .entry-content > .mb-page,
.mb-active .wp-block-post-content > .mb-page {
	max-width: none;
}

.mb-node {
	min-width: 0;
}

/* Message visible seulement dans l'éditeur (widget à compléter). */
.mb-editor-notice {
	padding: 16px; border: 1px dashed #94a3b8; border-radius: 6px; background: #f8fafc;
	color: #475569; font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-align: center;
}

/* Icônes SVG */
.mb-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em;
	flex-shrink: 0;
}

/* Visionneuse d'images (galerie, carrousel) */
.mb-lightbox-open { overflow: hidden; }
.mb-lightbox {
	position: fixed; inset: 0; z-index: 999999; background: rgba(0, 0, 0, 0.92);
	display: flex; align-items: center; justify-content: center; padding: 48px 64px;
}
.mb-lightbox__figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.mb-lightbox__figure img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; display: block; }
.mb-lightbox__figure figcaption { color: #e2e8f0; text-align: center; font-size: 15px; }
.mb-lightbox button {
	position: absolute; border: 0; background: rgba(255, 255, 255, 0.1); color: #fff; cursor: pointer;
	width: 48px; height: 48px; border-radius: 50%; font-size: 30px; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.mb-lightbox button:hover, .mb-lightbox button:focus-visible { background: rgba(255, 255, 255, 0.25); outline: none; }
.mb-lightbox__close { top: 12px; right: 12px; }
.mb-lightbox__prev { left: 12px; top: 50%; margin-top: -24px; }
.mb-lightbox__next { right: 12px; top: 50%; margin-top: -24px; }
.mb-lightbox__count { position: absolute; top: 24px; left: 24px; color: #cbd5e1; font-size: 14px; }
@media (max-width: 767px) {
	.mb-lightbox { padding: 56px 8px; }
	.mb-lightbox__prev, .mb-lightbox__next { top: auto; bottom: 12px; margin: 0; }
}

/* Texte réservé aux lecteurs d'écran (libellés masqués, etc.). */
.mb-sr-only {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
