/* Permet de rajouter du css custom. on peut editer ce fichier. il serra dans le bo et le front */

/* Textes : couper les mots trop longs (URL, chaîne sans espace) pour ne pas sortir du conteneur */
[data-gjs-type="kwk-texte"], [data-gjs-type="kwk-button"] {
	word-break: break-word;
}

a.btn{
	text-decoration: none;
}

/* Styles pour le bloc background-full-width (fond pleine largeur / breakout) */
*:has(>.background-full-width),
*:has(>[data-kwk-type="kwk-background"]) {
	position: relative;
	z-index: 1;
	overflow: visible;
}

*:has(>.background-full-width) .background-full-width,
*:has(>[data-kwk-type="kwk-background"]) [data-kwk-type="kwk-background"],
.background-full-width {
	top: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	height: 100%;
	min-height: 1px;
	width: calc(100vw - 15px) !important;
	max-width: calc(100vw - 15px) !important;
	display: block;
	z-index: -1;
	pointer-events: none;
}

/* Option conteneur : fond pleine largeur via ::before (piloté par le panneau) */
[data-kwk-fond-pleine-largeur="1"] {
	position: relative;
	z-index: 1;
	overflow: visible;
	background-color: transparent !important;
	background-image: none !important;
}

[data-kwk-fond-pleine-largeur="1"]::before {
	content: "";
	pointer-events: none;
	box-sizing: border-box;
	top: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	height: 100%;
	min-height: 5rem;
	width: calc(100vw - 15px) !important;
	max-width: calc(100vw - 15px) !important;
	display: block;
	z-index: -1;
	background-color: var(--kwk-fond-bg-color, transparent);
	background-image: var(--kwk-fond-bg-image, none);
	background-size: var(--kwk-fond-bg-size, cover);
	background-repeat: var(--kwk-fond-bg-repeat, no-repeat);
	background-position: var(--kwk-fond-bg-position, center);
	opacity: var(--kwk-fond-bg-opacity, 1);
}

/* Opacité du fond seule (panneau div) : calque ::before aux dimensions du bloc */
:where([data-kwk-fond-calque="1"]) {
	position: relative;
}

[data-kwk-fond-calque="1"] {
	isolation: isolate;
	background-color: transparent !important;
	background-image: none !important;
}

[data-kwk-fond-calque="1"]::before {
	content: "";
	pointer-events: none;
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background-color: var(--kwk-fond-bg-color, transparent);
	background-image: var(--kwk-fond-bg-image, none);
	background-size: var(--kwk-fond-bg-size, cover);
	background-repeat: var(--kwk-fond-bg-repeat, no-repeat);
	background-position: var(--kwk-fond-bg-position, center);
	opacity: var(--kwk-fond-bg-opacity, 1);
}

body:not(.gjs-dashed) .container-duplicator:has(.duplicator-controls) {
    display: none !important;
}

/* Div intérieure des colonnes (D159), créée automatiquement : repère de positionnement
   pour ses enfants (`position: absolute`, badges, calques…). Ici plutôt que dans le CSS
   de base émis avec chaque contenu : s'applique aussi aux contenus déjà enregistrés,
   sans migration. Une position réglée dans l'éditeur (`#id > .kwk-col-inner`) l'emporte. */
.kwk-col-inner {
	position: relative;
}

/* Graisses RTE (`kce-fw-*`) — menu WYSIWYG, BO + front */
.kce-fw-100 { font-weight: 100 !important; }
.kce-fw-200 { font-weight: 200 !important; }
.kce-fw-300 { font-weight: 300 !important; }
.kce-fw-400 { font-weight: 400 !important; }
.kce-fw-500 { font-weight: 500 !important; }
.kce-fw-600 { font-weight: 600 !important; }
.kce-fw-700 { font-weight: 700 !important; }
.kce-fw-800 { font-weight: 800 !important; }
.kce-fw-900 { font-weight: 900 !important; }

/* Bouton : largeur ajustée au contenu (option « Largeur » du panneau bouton ; w-100 = Bootstrap) */
.w-fit-content {
	width: fit-content !important;
}

/* Icône image d'un bouton : taille propre via l'attribut width, alignée avec le libellé. */
.kwk-button-icon {
	display: inline-block;
	max-width: none;
	height: auto;
	margin-right: .5em;
	object-fit: contain;
	vertical-align: -.15em;
}
