/* =========================
   VARIABLES
========================= */
:root{
	--dd-primary: #0d6efd;
	--dd-primary-soft: rgba(13,110,253,.08);
	--dd-primary-mid: rgba(13,110,253,.16);
	--dd-success: #198754;
	--dd-border-soft: rgba(13,110,253,.22);
	--dd-shadow-xs: 0 4px 10px rgba(15,23,42,.05);
	--dd-shadow-sm: 0 8px 18px rgba(15,23,42,.08);
	--dd-shadow-md: 0 14px 30px rgba(15,23,42,.12);
	--dd-shadow-lg: 0 24px 48px rgba(15,23,42,.18);
	--dd-radius-sm: 10px;
	--dd-radius-md: 12px;
	--dd-radius-lg: 16px;
	--dd-radius-xl: 18px;
}

/* =========================
   BLOCS CONTENU
========================= */
.bo_bloc .bloc_contenu{
	position:relative;
	border:1px dashed rgba(160,170,185,.42);
	border-radius:14px;
	background:#fff;
	min-height:80px !important;
	transition:
		border-color .18s ease,
		box-shadow .22s ease,
		transform .18s ease,
		background-color .18s ease,
		opacity .18s ease,
		filter .18s ease;
}

.bo_bloc .bloc_contenu:hover{
	background:linear-gradient(180deg, #fff, #f8fafc);
	border-color:rgba(13,110,253,.22);
	box-shadow:
		0 10px 24px rgba(15,23,42,.06),
		inset 0 0 0 1px rgba(13,110,253,.08);
	transform:translateY(-1px);
}

/* =========================
   BARRE OUTILS BLOC
========================= */
.bo_bloc .bloc_outil{
	display:flex;
	align-items:center;
	gap:8px;
	border-radius:10px;
	opacity:0 !important;
}

.bo_bloc .bloc_contenu .bloc_outil{
	width:0;
	overflow:hidden;
	opacity:.12;
	padding-top:6px;
	padding-right:4px;
	padding-bottom:10px;
	position:absolute !important;
	z-index:60;
	transition:width .22s ease-in-out, opacity .18s ease;
}

.bo_bloc .bloc_contenu:hover .bloc_outil{
	width:380px;
	opacity:1 !important;
	
}


.bloc_outil .tooltip{ opacity:1 !important; }
.tooltip{ opacity:.85 !important; }

.btn_masque{ display:none !important; }

/* =========================
   TOOLBOX MODERNE
========================= */
.bloc-toolbox{
	background: linear-gradient(180deg, #eef4ff 0%, #e7eefc 100%) !important;
	border: 1px solid #cfdcf7 !important;
	border-left: 4px solid #4e73df !important;
	border-radius: 12px;
	padding: 6px 8px;
	box-shadow: 0 1px 4px rgba(78,115,223,.08);
}

.row-toolbox{
	background: linear-gradient(180deg, #f7f7f7 0%, #d0d1d0 100%) !important;
	border: 1px solid #c7cac8 !important;
	border-left: 4px solid #959996 !important;
	border-radius: 12px;
	padding: 6px 8px;
	box-shadow: 0 1px 4px rgba(78,115,223,.08);
}


.toolbox-modern{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:8px;
	width:max-content;
	padding:6px;
	border-radius:14px;
	background:rgba(255,255,255,.92);
	border:1px solid rgba(148,163,184,.22);
	box-shadow:0 10px 30px rgba(15,23,42,.10);
	backdrop-filter:blur(10px);
}

.toolbox-group{
	display:flex;
	align-items:center;
	gap:6px;
	padding:4px;
	border-radius:10px;
	background:rgba(248,250,252,.95);
	border:1px solid rgba(226,232,240,.9);
}

.toolbox-btn{
	min-width:34px;
	min-height:34px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:0 !important;
	border-radius:10px;
	color:#fff !important;
	font-weight:700;
	box-shadow:none !important;
	transition:transform .15s ease, opacity .15s ease, box-shadow .15s ease, filter .15s ease;
}

.toolbox-btn:hover{
	transform:translateY(-1px);
	box-shadow:0 8px 16px rgba(15,23,42,.12) !important;
	filter:saturate(1.05);
}

.toolbox-btn svg,
.toolbox-btn i{
	width:16px;
	height:16px;
}

.btn-copy{ background:#2563eb !important; }
.btn-paste{ background:#0ea5e9 !important; }
.btn-add{ background:#16a34a !important; }
.btn-edit{ background:#f59e0b !important; }
.btn-delete{ background:#dc2626 !important; }
.btn-delete-soft{ background:#ef4444 !important; }
.btn-style{ background:#64748b !important; }
.btn-add-col{ background:#10b981 !important; }
.btn-style-row{ background:#64748b !important; }
.btn-visibilite{ background:#0d6efd !important; }
.btn-drag{
	background:#059669 !important;
	cursor:grab;
}

.btn-drag:active{
	cursor:grabbing;
	transform:scale(.98);
}


/* =========================
   TOOLBAR LIGNE
   ========================= */
   .row-toolbox{
	background: linear-gradient(180deg, #eef4ff 0%, #e7eefc 100%);
	border: 1px solid #cfdcf7;
	border-left: 4px solid #4e73df;
	border-radius: 12px;
	padding: 6px 8px;
	box-shadow: 0 1px 4px rgba(78,115,223,.08);
}

.row-toolbox .toolbox-group{
	gap: 6px;
}

.row-toolbox .toolbox-btn{
	background: #f8fbff;
	border: 1px solid #cfdcf7;
	color: #3558b8;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	transition: all .18s ease;
}

.row-toolbox .toolbox-btn:hover{
	background: #4e73df;
	color: #fff;
	border-color: #4e73df;
	transform: translateY(-1px);
}

.row-toolbox .btn-drag{
	background: #4e73df;
	color: #fff;
	border-color: #4e73df;
}


/* =========================
   TOOLBAR BLOC / COLONNE
   ========================= */
.bloc-toolbox{
	background: #ffffff;
	border: 1px solid #e3e6f0;
	border-radius: 12px;
	padding: 6px 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,.06);
}

.bloc-toolbox .toolbox-group{
	gap: 6px;
}

.bloc-toolbox .toolbox-btn{
	background: #fff;
	border: 1px solid #d9deea;
	color: #5a5f73;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	transition: all .18s ease;
}

.bloc-toolbox .toolbox-btn:hover{
	background: #f3f6fb;
	border-color: #bfc8da;
	color: #2f3a56;
	transform: translateY(-1px);
}

/* actions bloc plus explicites */
.bloc-toolbox .btn-add{
	background: #198754;
	border-color: #198754;
	color: #fff;
}
.bloc-toolbox .btn-add:hover{
	background: #157347;
	border-color: #157347;
	color: #fff;
}

.bloc-toolbox .btn-edit{
	background: #0d6efd;
	border-color: #0d6efd;
	color: #fff;
}
.bloc-toolbox .btn-edit:hover{
	background: #0b5ed7;
	border-color: #0b5ed7;
	color: #fff;
}

.bloc-toolbox .btn-style{
	background: #fff3cd;
	border-color: #ffe69c;
	color: #8a6d3b;
}
.bloc-toolbox .btn-style:hover{
	background: #ffe69c;
	border-color: #ffda6a;
	color: #6c541e;
}

.bloc-toolbox .btn-delete,
.bloc-toolbox .btn-delete-soft{
	background: #fff5f5;
	border-color: #f1c0c7;
	color: #b02a37;
}
.bloc-toolbox .btn-delete:hover,
.bloc-toolbox .btn-delete-soft:hover{
	background: #dc3545;
	border-color: #dc3545;
	color: #fff;
}

.bloc-toolbox .btn-drag{
	background: #f8f9fa;
	color: #495057;
	border-color: #ced4da;
}
.bloc-toolbox .btn-drag:hover{
	background: #6c757d;
	color: #fff;
	border-color: #6c757d;
}



/* =========================
   MODALES
========================= */
.modal{ --bs-modal-width:1200px !important; }

.modal-dialog{
	max-width:1200px !important;
	min-width:1200px !important;
	min-height:100% !important;
}

.img_desc_caroussel{
	width:-webkit-fill-available;
	width:-moz-available;
}

/* =========================
   SIDEBAR
========================= */
#accordionSidebar .sidebar-brand-text,
#accordionSidebar .nav-item,
.sidebar-brand,
#accordionSidebar .sidebar-heading{
	display:none !important;
}

#accordionSidebar .nav-item.active{ display:block !important; }
#accordionSidebar .nav-item a{ width:auto !important; }
#accordionSidebar .nav-item span{ display:none !important; }
#accordionSidebar{ width:3rem !important; }

#menu_config .collapse-item{
	background-color:transparent !important;
	text-align:left;
	margin-bottom:5px;
	color:#fff !important;
}

#bloc_param_gene div.column1div > label{ width:80% !important; }

/* =========================
   MODE PREVIEW
========================= */
#contenu_page .bloc_contenu,
#contenu_page .bloc_contenu:hover{
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	transform:none !important;
}

#contenu_page .bloc_outil{
	display:none !important;
	position:absolute !important;
}

/* =========================
   STRUCTURE LIGNE / ÉDITEUR
========================= */
.page-row-wrapper{
	position:relative;
	overflow:visible;
	margin-bottom:14px;
	border-radius:var(--dd-radius-lg);
	transition:
		background-color .2s ease,
		box-shadow .2s ease,
		transform .18s ease,
		opacity .18s ease,
		filter .18s ease;
	min-height:72px;
	padding-top:8px;
}

.page-row-wrapper:hover{
	background:linear-gradient(180deg, rgba(13,110,253,.025), rgba(13,110,253,.015));
	box-shadow:inset 0 0 0 1px rgba(13,110,253,.05);
}

.ligne_drag_drop{
	position:relative;
	min-height:72px;
	border-radius:16px;
	transition:
		background-color .18s ease,
		box-shadow .18s ease,
		border-color .18s ease;
}

.page-row-wrapper:hover .ligne_drag_drop{
	background:rgba(13,110,253,.02);
	box-shadow:inset 0 0 0 1px rgba(13,110,253,.08);
}

.ligne_drag_drop:empty{
	min-height:72px;
}

.col_drag_drop{
	position:relative;
	border-radius:14px;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		background-color .18s ease,
		filter .18s ease,
		opacity .18s ease;
}

.col_drag_drop:hover{
	box-shadow:0 10px 22px rgba(15,23,42,.08);
	filter:saturate(1.02);
}

/* =========================
   TOOLBAR LIGNE
========================= */
.row-toolbar{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	min-height:40px;
	position:absolute;
	top:-10px;
	right:8px;
	z-index:1000;
	pointer-events:none;
}

.row-toolbox{
	margin-left:auto;
	opacity:0;
	visibility:hidden;
	transform:translateY(-4px);
	transition:
		opacity .18s ease,
		visibility .18s ease,
		transform .18s ease;
	pointer-events:none;
}

.page-row-wrapper:hover .row-toolbox,
.page-row-wrapper.is-dragging-row .row-toolbox{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
	pointer-events:auto;
}

/* le bouton drag de ligne intégré à la toolbar */
.row-toolbox .drag-row-icon{
	position:static !important;
	display:inline-flex !important;
	top:auto !important;
	right:auto !important;
	padding:0 !important;
	min-width:34px;
	min-height:34px;
	border-radius:10px !important;
	background:linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
	color:#fff !important;
	box-shadow:none !important;
	border:0 !important;
	cursor:grab;
	user-select:none;
	touch-action:none;
	transition:
		transform .15s ease,
		box-shadow .15s ease,
		filter .15s ease;
}

.row-toolbox .drag-row-icon:hover{
	transform:translateY(-1px) scale(1.06);
	box-shadow:
		0 12px 24px rgba(25,135,84,.30),
		inset 0 1px 0 rgba(255,255,255,.20);
	filter:saturate(1.08);
}

.row-toolbox .drag-row-icon:active{
	cursor:grabbing;
	transform:scale(.98);
}

.row-toolbox .drag-row-icon img{
	width:16px;
	height:16px;
	filter:brightness(0) invert(1);
}

.page-row-wrapper:hover .drag-row-icon,
.page-row-wrapper.is-dragging-row .drag-row-icon{
	display:inline-flex !important;
}

/* =========================
   HANDLES COLONNES
========================= */
.drag-col-icon,
.drag-icon-bloc{
	cursor:grab;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:32px;
	min-height:32px;
	padding:4px;
	border-radius:10px;
	background:linear-gradient(135deg, #198754 0%, #20c997 100%);
	color:#fff !important;
	border:1px solid rgba(255,255,255,.22);
	box-shadow:
		0 6px 16px rgba(25,135,84,.24),
		inset 0 1px 0 rgba(255,255,255,.18);
	transition:
		transform .15s ease,
		box-shadow .15s ease,
		filter .15s ease;
}

.drag-col-icon:hover,
.drag-icon-bloc:hover{
	transform:translateY(-1px) scale(1.06);
	box-shadow:
		0 12px 24px rgba(25,135,84,.30),
		inset 0 1px 0 rgba(255,255,255,.20);
	filter:saturate(1.08);
}

.drag-col-icon:active,
.drag-icon-bloc:active{
	cursor:grabbing;
	transform:scale(.98);
}

/* =========================
   DRAG & DROP - BASE
========================= */
body.sortable-active-zone .bloc_contenu,
body.sortable-active-zone .page-row-wrapper{
	transition:opacity .18s ease, transform .18s ease, filter .18s ease;
}

body.sortable-active-zone .bloc_contenu:not(.sortable-origin-hidden),
body.sortable-active-zone .page-row-wrapper:not(.sortable-origin-hidden){
	filter:saturate(.96);
}

body.sortable-active-zone{
	cursor:grabbing !important;
}

body.sortable-active-zone *{
	cursor:grabbing !important;
}

/* =========================
   CLONES / FALLBACKS
========================= */
.sortable-clone-hidden{
	display:none !important;
	opacity:0 !important;
	visibility:hidden !important;
	pointer-events:none !important;
}
.row-fallback-clone{
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	z-index: 999999 !important;
	pointer-events: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;

	border-radius:16px !important;
	background:rgba(255,255,255,.96) !important;
	box-shadow:
		0 24px 48px rgba(15,23,42,.18),
		0 8px 20px rgba(15,23,42,.10),
		0 0 0 1px rgba(13,110,253,.08) !important;
	display:block !important;
	opacity:1 !important;
}
.sortable-drag:not(.sortable-fallback){
	opacity:.15 !important;
}

.sortable-fallback,
.col-fallback-clone{
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	z-index: 999999 !important;
	pointer-events: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;

	display: block !important;
	opacity: 0.95 !important;

	background: #fff !important;
	border-radius: 14px !important;
	box-shadow:
		0 20px 40px rgba(15,23,42,.16),
		0 8px 18px rgba(15,23,42,.10),
		0 0 0 1px rgba(13,110,253,.12) !important;
		
}

/* clone visible qui suit la souris */
.row-fallback-clone{
	border-radius:16px !important;
	background:rgba(255,255,255,.96) !important;
	box-shadow:
		0 24px 48px rgba(15,23,42,.18),
		0 8px 20px rgba(15,23,42,.10),
		0 0 0 1px rgba(13,110,253,.08) !important;
    display:none !important;
    opacity:0 !important;
}

.col-fallback-clone{
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	z-index: 999999 !important;
	pointer-events: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;

    display:none !important;
    opacity:0 !important;

	border-radius: 14px !important;
	background: rgba(255,255,255,.98) !important;
	box-shadow:
		0 20px 40px rgba(15,23,42,.16),
		0 8px 18px rgba(15,23,42,.10),
		0 0 0 1px rgba(13,110,253,.08) !important;
}

.col_drag_drop.sortable-ghost,
.col_drag_drop.drag-ghost{
	opacity: 1 !important;
	visibility: visible !important;
	min-height: 120px !important;
	background: rgba(13,110,253,.08) !important;
	border: 2px dashed #0d6efd !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

.page-row-wrapper.sortable-ghost,
.page-row-wrapper.drag-ghost-row{
	opacity: 1 !important;
	visibility: visible !important;
	min-height: 84px !important;
	background: rgba(13,110,253,.06) !important;
	border: 2px dashed #0d6efd !important;
	border-radius: 16px !important;
}

/* =========================
   GHOSTS / PLACEHOLDERS
========================= */
.sortable-ghost,
.drag-ghost,
.drag-ghost-row{
	opacity:1 !important;
	transform:none !important;
	box-shadow:none !important;
}

.drag-ghost{
	position:relative;
	min-height:120px;
	border:2px dashed rgba(13,110,253,.24) !important;
	border-radius:14px !important;
	background:rgba(13,110,253,.05) !important;
}

.drag-ghost-row{
	position:relative;
	min-height:84px;
	border:2px dashed rgba(13,110,253,.26) !important;
	border-radius:16px !important;
	background:rgba(13,110,253,.06) !important;
}
.col_drag_drop.sortable-ghost,
.col_drag_drop.drag-ghost{
	opacity: 1 !important;
	visibility: visible !important;
	min-height: 120px !important;
	background: rgba(13,110,253,.08) !important;
	border: 2px dashed #0d6efd !important;
}


.drag-chosen,
.drag-chosen-row{
	z-index:30 !important;
}

.drag-dragging,
.drag-dragging-row{
	z-index:9999 !important;
	pointer-events:none !important;
}

.page-row-wrapper.is-dragging-row{
	z-index:9999 !important;
}

/* =========================
   CIBLES DRAG & DROP
========================= */
.ligne_drag_drop.drag-target-active,
.ligne_drag_drop.row-hover-highlight{
	background:linear-gradient(
		180deg,
		rgba(13,110,253,.07),
		rgba(13,110,253,.025)
	);
	box-shadow:
		inset 0 0 0 1px rgba(13,110,253,.14),
		0 10px 24px rgba(15,23,42,.06);
	border-radius:16px;
}

.ligne_drag_drop.row-hover-highlight::after{
	content:"";
	position:absolute;
	inset:6px;
	border-radius:12px;
	border:2px dashed rgba(13,110,253,.30);
	pointer-events:none;
}

.col_drag_drop.drop-target-col{
	box-shadow:
		0 12px 26px rgba(15,23,42,.08),
		inset 0 0 0 1px rgba(13,110,253,.12);
	border-radius:14px;
}

.page-row-wrapper.drop-target-row .ligne_drag_drop{
	background:linear-gradient(
		180deg,
		rgba(13,110,253,.08),
		rgba(13,110,253,.03)
	) !important;
	box-shadow:
		inset 0 0 0 2px rgba(13,110,253,.18),
		0 12px 28px rgba(15,23,42,.08);
	border-radius:16px;
	position:relative;
}

.page-row-wrapper.drop-target-row .ligne_drag_drop::after{
	content:"";
	position:absolute;
	inset:6px;
	border:2px dashed rgba(13,110,253,.38);
	border-radius:12px;
	pointer-events:none;
}

/* =========================
   DIVERS
========================= */
.sortable-clone-hidden{
	display:none !important;
}

#previewWrapper .bloc_outil{
	display:none !important;
}

#previewWrapper #previewBloc{
	border:0 !important;
}

/* Ligne vide : bordure rouge pointillée */
.page-accueil-sortable .row.row-empty {
  border: 2px dashed #dc3545;
  border-radius: 10px;
  min-height: 90px;
  background-color: rgba(220, 53, 69, 0.04);
  transition: all .2s ease;
}

/* Hover plus visible */
.page-accueil-sortable .row.row-empty:hover {
  border-color: #bb2d3b;
  background-color: rgba(220, 53, 69, 0.08);
}

.row-empty-label{
  text-align:center;
  font-size:13px;
  color:#dc3545;
  padding-top:30px;
  pointer-events:none;
  user-select:none;
}

#previewBloc{
  min-width: 100% !important;
}

.bloc-align-container{
  width: 100%;
  display: flex;
  align-items: flex-start;
}

#previewBloc .bloc{
	width: 100% !important;
}




/* =========================================================
   HERO MODULE
   CSS isolé / protégé contre les styles du front office
   ========================================================= */

/* ---------- Racine module ---------- */
.hero-module{
	position: relative !important;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
  }
  
  .hero-module,
  .hero-module *{
	box-sizing: border-box !important;
  }
  
  /* ---------- Conteneur principal ---------- */
  .hero-module .hero-card{
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	width: 100% !important;
	overflow: hidden !important;
  
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
  
	border-style: solid !important;
	border-width: 0 !important;
	border-color: transparent !important;
	border-radius: 1rem !important;
  
	text-decoration: none !important;
  }
  
  /* ---------- Overlay ---------- */
  .hero-module .hero-overlay{
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
  }
  
  /* ---------- Contenu ---------- */
  .hero-module .hero-content{
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	width: 100% !important;
	padding: 2rem !important;
  }
  
  /* Alignements du contenu */
  .hero-module .hero-content.is-left{
	align-items: flex-start !important;
	text-align: left !important;
  }
  
  .hero-module .hero-content.is-center{
	align-items: center !important;
	text-align: center !important;
  }
  
  .hero-module .hero-content.is-right{
	align-items: flex-end !important;
	text-align: right !important;
  }
  
  /* ---------- Titre / texte ---------- */
  .hero-module .hero-title{
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	line-height: 1.15 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border: 0 !important;
  }
  
  .hero-module .hero-subtitle{
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	line-height: 1.45 !important;
	text-decoration: none !important;
	border: 0 !important;
  }
  
  /* ---------- Groupe de boutons ---------- */
  .hero-module .hero-buttons{
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	width: auto !important;
	max-width: 100% !important;
  }
  
  /* Alignement du groupe de boutons selon le contenu */
  .hero-module .hero-content.is-left .hero-buttons{
	justify-content: flex-start !important;
  }
  
  .hero-module .hero-content.is-center .hero-buttons{
	justify-content: center !important;
  }
  
  .hero-module .hero-content.is-right .hero-buttons{
	justify-content: flex-end !important;
  }
  
  /* Disposition */
  .hero-module .hero-buttons.is-horizontal{
	flex-direction: row !important;
	align-items: center !important;
  }
  
  .hero-module .hero-buttons.is-vertical{
	flex-direction: column !important;
	align-items: stretch !important;
  }
  
  /* ---------- Boutons ---------- */
  .hero-module a.hero-btn,
  .hero-module a.hero-btn:link,
  .hero-module a.hero-btn:visited,
  .hero-module button.hero-btn{
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .55rem !important;
  
	min-height: 44px !important;
	min-width: 0 !important;
	max-width: 100% !important;
  
	padding: .82rem 1.25rem !important;
	margin: 0 !important;
  
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	white-space: nowrap !important;
  
	text-decoration: none !important;
	text-transform: none !important;
  
	border-width: 1px !important;
	border-style: solid !important;
	border-color: transparent !important;
	border-radius: 12px !important;
  
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
  
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: none !important;
  
	transition:
	  transform .18s ease,
	  box-shadow .18s ease,
	  background-color .18s ease,
	  color .18s ease,
	  border-color .18s ease,
	  opacity .18s ease !important;
  }
  
  /* Protection contre les styles FO agressifs */
  .hero-module a.hero-btn:hover,
  .hero-module a.hero-btn:focus,
  .hero-module a.hero-btn:active,
  .hero-module a.hero-btn:visited,
  .hero-module button.hero-btn:hover,
  .hero-module button.hero-btn:focus,
  .hero-module button.hero-btn:active{
	text-decoration: none !important;
	outline: none !important;
  }
  
  /* Icône dans bouton */
  .hero-module .hero-btn i,
  .hero-module .hero-btn .bi,
  .hero-module .hero-btn svg{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	font-size: 1em !important;
	line-height: 1 !important;
	pointer-events: none !important;
  }
  
  /* Texte bouton */
  .hero-module .hero-btn .hero-btn-label{
	display: inline-block !important;
	color: inherit !important;
	line-height: inherit !important;
	font: inherit !important;
	text-decoration: none !important;
  }
  
  /* Bouton pleine largeur en mode vertical si souhaité */
  .hero-module .hero-buttons.is-vertical .hero-btn{
	width: 100% !important;
  }
  
  /* Cacher un bouton */
  .hero-module .hero-btn.is-hidden{
	display: none !important;
  }
  
  
/* =========================
   MODULE ALERTE
========================= */

.module-alert,
.module-alert *{
	box-sizing:border-box !important;
}

.module-alert{
	display:block !important;
	width:100% !important;
}

.module-alert-box{
	display:flex !important;
	align-items:flex-start !important;
	gap:16px !important;
	padding:16px 18px !important;
	border:1px solid transparent !important;
	width:100% !important;
	transition:all .18s ease !important;
}

.module-alert-icon{
	flex:0 0 auto !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:22px !important;
	line-height:1 !important;
	margin-top:2px !important;
}

.module-alert-icon i,
.module-alert-icon .bi{
	font-size:inherit !important;
	line-height:1 !important;
}

.module-alert-content{
	flex:1 1 auto !important;
	min-width:0 !important;
}

.module-alert-title{
	font-size:18px !important;
	font-weight:700 !important;
	line-height:1.25 !important;
	margin:0 0 6px 0 !important;
	padding:0 !important;
}

.module-alert-text{
	font-size:14px !important;
	font-weight:400 !important;
	line-height:1.5 !important;
	margin:0 !important;
	padding:0 !important;
	white-space:pre-line !important;
}

.module-alert-action{
	margin-top:14px !important;
}

.module-alert-btn,
.module-alert-btn:link,
.module-alert-btn:visited,
.module-alert-btn:hover,
.module-alert-btn:focus,
.module-alert-btn:active{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:8px !important;
	padding:10px 16px !important;
	border-radius:12px !important;
	text-decoration:none !important;
	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.2 !important;
	font-family:inherit !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	box-shadow:none !important;
	cursor:pointer !important;
	outline:none !important;
	border:1px solid transparent !important;
	transition:
		transform .16s ease,
		box-shadow .16s ease,
		background-color .16s ease,
		border-color .16s ease,
		color .16s ease,
		opacity .16s ease !important;
}

.module-alert-btn .module-alert-btn-label,
.module-alert-btn i,
.module-alert-btn .bi{
	line-height:1 !important;
}

.module-alert-btn:hover,
.module-alert-btn:focus{
	transform:translateY(-1px) !important;
}

.module-alert-btn-primary,
.module-alert-btn-primary:link,
.module-alert-btn-primary:visited{
	background:#2563eb !important;
	color:#ffffff !important;
	border-color:#2563eb !important;
	box-shadow:0 8px 20px rgba(37,99,235,.22) !important;
}
.module-alert-btn-primary .module-alert-btn-label,
.module-alert-btn-primary i,
.module-alert-btn-primary .bi{
	color:#ffffff !important;
}
.module-alert-btn-primary:hover,
.module-alert-btn-primary:focus{
	background:#1d4ed8 !important;
	border-color:#1d4ed8 !important;
	color:#ffffff !important;
	box-shadow:0 12px 26px rgba(37,99,235,.28) !important;
}

.module-alert-btn-secondary,
.module-alert-btn-secondary:link,
.module-alert-btn-secondary:visited{
	background:#64748b !important;
	color:#ffffff !important;
	border-color:#64748b !important;
	box-shadow:0 8px 20px rgba(100,116,139,.20) !important;
}
.module-alert-btn-secondary .module-alert-btn-label,
.module-alert-btn-secondary i,
.module-alert-btn-secondary .bi{
	color:#ffffff !important;
}
.module-alert-btn-secondary:hover,
.module-alert-btn-secondary:focus{
	background:#475569 !important;
	border-color:#475569 !important;
	color:#ffffff !important;
	box-shadow:0 12px 26px rgba(100,116,139,.28) !important;
}

.module-alert-btn-light,
.module-alert-btn-light:link,
.module-alert-btn-light:visited{
	background:#ffffff !important;
	color:#0f172a !important;
	border-color:#e2e8f0 !important;
	box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
}
.module-alert-btn-light .module-alert-btn-label,
.module-alert-btn-light i,
.module-alert-btn-light .bi{
	color:#0f172a !important;
}
.module-alert-btn-light:hover,
.module-alert-btn-light:focus{
	background:#f8fafc !important;
	border-color:#cbd5e1 !important;
	color:#0f172a !important;
}

.module-alert-btn-dark,
.module-alert-btn-dark:link,
.module-alert-btn-dark:visited{
	background:#0f172a !important;
	color:#ffffff !important;
	border-color:#0f172a !important;
	box-shadow:0 8px 20px rgba(15,23,42,.22) !important;
}
.module-alert-btn-dark .module-alert-btn-label,
.module-alert-btn-dark i,
.module-alert-btn-dark .bi{
	color:#ffffff !important;
}
.module-alert-btn-dark:hover,
.module-alert-btn-dark:focus{
	background:#020617 !important;
	border-color:#020617 !important;
	color:#ffffff !important;
}

.module-alert-btn-outline,
.module-alert-btn-outline:link,
.module-alert-btn-outline:visited{
	background:transparent !important;
	color:#2563eb !important;
	border-color:#2563eb !important;
}
.module-alert-btn-outline .module-alert-btn-label,
.module-alert-btn-outline i,
.module-alert-btn-outline .bi{
	color:#2563eb !important;
}
.module-alert-btn-outline:hover,
.module-alert-btn-outline:focus{
	background:#2563eb !important;
	color:#ffffff !important;
	border-color:#2563eb !important;
	box-shadow:0 12px 26px rgba(37,99,235,.22) !important;
}
.module-alert-btn-outline:hover .module-alert-btn-label,
.module-alert-btn-outline:hover i,
.module-alert-btn-outline:hover .bi,
.module-alert-btn-outline:focus .module-alert-btn-label,
.module-alert-btn-outline:focus i,
.module-alert-btn-outline:focus .bi{
	color:#ffffff !important;
}

.module-alert-btn-ghost,
.module-alert-btn-ghost:link,
.module-alert-btn-ghost:visited{
	background:rgba(255,255,255,.35) !important;
	color:#0f172a !important;
	border-color:rgba(255,255,255,.45) !important;
	backdrop-filter:blur(6px) !important;
}
.module-alert-btn-ghost .module-alert-btn-label,
.module-alert-btn-ghost i,
.module-alert-btn-ghost .bi{
	color:#0f172a !important;
}
.module-alert-btn-ghost:hover,
.module-alert-btn-ghost:focus{
	background:rgba(255,255,255,.55) !important;
	color:#0f172a !important;
	border-color:rgba(255,255,255,.65) !important;
	box-shadow:0 12px 26px rgba(15,23,42,.10) !important;
}

.module-alert-btn-alert-info,
.module-alert-btn-alert-info:link,
.module-alert-btn-alert-info:visited{
	background:#dbeafe !important;
	color:#1e3a8a !important;
	border-color:#93c5fd !important;
	box-shadow:0 8px 20px rgba(30,58,138,.10) !important;
}
.module-alert-btn-alert-info .module-alert-btn-label,
.module-alert-btn-alert-info i,
.module-alert-btn-alert-info .bi{
	color:#1e3a8a !important;
}
.module-alert-btn-alert-info:hover,
.module-alert-btn-alert-info:focus{
	background:#bfdbfe !important;
	color:#1e3a8a !important;
	border-color:#60a5fa !important;
	box-shadow:0 12px 26px rgba(30,58,138,.16) !important;
}

.module-alert-btn-alert-success,
.module-alert-btn-alert-success:link,
.module-alert-btn-alert-success:visited{
	background:#dcfce7 !important;
	color:#166534 !important;
	border-color:#86efac !important;
	box-shadow:0 8px 20px rgba(22,101,52,.10) !important;
}
.module-alert-btn-alert-success .module-alert-btn-label,
.module-alert-btn-alert-success i,
.module-alert-btn-alert-success .bi{
	color:#166534 !important;
}
.module-alert-btn-alert-success:hover,
.module-alert-btn-alert-success:focus{
	background:#bbf7d0 !important;
	color:#166534 !important;
	border-color:#4ade80 !important;
	box-shadow:0 12px 26px rgba(22,101,52,.16) !important;
}

.module-alert-btn-alert-warning,
.module-alert-btn-alert-warning:link,
.module-alert-btn-alert-warning:visited{
	background:#ffedd5 !important;
	color:#9a3412 !important;
	border-color:#fdba74 !important;
	box-shadow:0 8px 20px rgba(154,52,18,.10) !important;
}
.module-alert-btn-alert-warning .module-alert-btn-label,
.module-alert-btn-alert-warning i,
.module-alert-btn-alert-warning .bi{
	color:#9a3412 !important;
}
.module-alert-btn-alert-warning:hover,
.module-alert-btn-alert-warning:focus{
	background:#fed7aa !important;
	color:#9a3412 !important;
	border-color:#fb923c !important;
	box-shadow:0 12px 26px rgba(154,52,18,.16) !important;
}

.module-alert-btn-alert-danger,
.module-alert-btn-alert-danger:link,
.module-alert-btn-alert-danger:visited{
	background:#fee2e2 !important;
	color:#991b1b !important;
	border-color:#fca5a5 !important;
	box-shadow:0 8px 20px rgba(153,27,27,.10) !important;
}
.module-alert-btn-alert-danger .module-alert-btn-label,
.module-alert-btn-alert-danger i,
.module-alert-btn-alert-danger .bi{
	color:#991b1b !important;
}
.module-alert-btn-alert-danger:hover,
.module-alert-btn-alert-danger:focus{
	background:#fecaca !important;
	color:#991b1b !important;
	border-color:#f87171 !important;
	box-shadow:0 12px 26px rgba(153,27,27,.16) !important;
}

.module-alert-icon-choice{
	border:1px solid #dbe4f0 !important;
	border-radius:12px !important;
	padding:10px 8px !important;
	background:#fff !important;
	cursor:pointer !important;
	text-align:center !important;
	height:100% !important;
	transition:.16s ease !important;
}

.module-alert-icon-choice:hover{
	background:#f8fafc !important;
	border-color:#b8c7db !important;
	transform:translateY(-1px) !important;
}

.module-alert-icon-choice i{
	display:block !important;
	font-size:20px !important;
	margin-bottom:6px !important;
}

.module-alert-icon-choice small{
	display:block !important;
	font-size:11px !important;
	line-height:1.25 !important;
	word-break:break-word !important;
}





/* =========================
   MODULE HERO BANNIERE
========================= */

.hero-module,
.hero-module *{
  box-sizing: border-box !important;
}

.hero-module .hero-card{
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

.hero-module .hero-bg{
  position: absolute !important;
  inset: 0 !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
  transition: all .25s ease !important;
}

.hero-module .hero-overlay{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.hero-module .hero-inner{
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero-module .hero-kicker,
.hero-module .hero-title,
.hero-module .hero-text,
.hero-module .hero-actions{
  position: relative !important;
  z-index: 2 !important;
}

/* ---------- Alignement texte ---------- */
.hero-module .hero-card[data-text-align="left"] .hero-inner{
  text-align: left !important;
}

.hero-module .hero-card[data-text-align="center"] .hero-inner{
  text-align: center !important;
}

.hero-module .hero-card[data-text-align="right"] .hero-inner{
  text-align: right !important;
}

/* ---------- Zone boutons ---------- */
.hero-module .hero-actions{
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 20px !important;
}

.hero-module .hero-card[data-text-align="left"] .hero-actions{
  justify-content: flex-start !important;
}

.hero-module .hero-card[data-text-align="center"] .hero-actions{
  justify-content: center !important;
}

.hero-module .hero-card[data-text-align="right"] .hero-actions{
  justify-content: flex-end !important;
}

/* ---------- Layout boutons ---------- */
.hero-module .hero-card[data-actions-layout="horizontal"] .hero-actions{
  flex-direction: row !important;
  align-items: center !important;
}

.hero-module .hero-card[data-actions-layout="vertical"] .hero-actions{
  flex-direction: column !important;
  align-items: flex-start !important;
}

.hero-module .hero-card[data-actions-layout="vertical"][data-text-align="center"] .hero-actions{
  align-items: center !important;
}

.hero-module .hero-card[data-actions-layout="vertical"][data-text-align="right"] .hero-actions{
  align-items: flex-end !important;
}

.hero-module .hero-card[data-actions-layout="responsive"] .hero-actions{
  flex-direction: column !important;
  align-items: flex-start !important;
}

.hero-module .hero-card[data-actions-layout="responsive"][data-text-align="center"] .hero-actions{
  align-items: center !important;
}

.hero-module .hero-card[data-actions-layout="responsive"][data-text-align="right"] .hero-actions{
  align-items: flex-end !important;
}

@media (min-width: 768px){
  .hero-module .hero-card[data-actions-layout="responsive"] .hero-actions{
    flex-direction: row !important;
    align-items: center !important;
  }
}

/* ---------- Base bouton ultra protégée ---------- */
.hero-module .hero-btn,
.hero-module .hero-btn:link,
.hero-module .hero-btn:visited,
.hero-module .hero-btn:hover,
.hero-module .hero-btn:focus,
.hero-module .hero-btn:active{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 18px !important;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  outline: none !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    opacity .18s ease !important;
}

.hero-module .hero-btn .hero-btn-label,
.hero-module .hero-btn span,
.hero-module .hero-btn i,
.hero-module .hero-btn .bi{
  transition:
    color .18s ease,
    opacity .18s ease,
    transform .18s ease !important;
}

.hero-module .hero-btn i,
.hero-module .hero-btn .bi{
  font-size: 1em !important;
  line-height: 1 !important;
  display: inline-flex !important;
}

/* ---------- Hover générique ---------- */
.hero-module .hero-btn:hover,
.hero-module .hero-btn:focus{
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
}

.hero-module .hero-btn:active{
  transform: translateY(0) scale(.985) !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.14) !important;
}

/* =========================================================
   Variantes boutons
   ========================================================= */

/* Primary */
.hero-module .hero-btn.hero-btn-primary{
  background: #0d6efd !important;
  color: #ffffff !important;
  border-color: #0d6efd !important;
  box-shadow: 0 6px 18px rgba(13,110,253,.22) !important;
}
.hero-module .hero-btn.hero-btn-primary .hero-btn-label,
.hero-module .hero-btn.hero-btn-primary span,
.hero-module .hero-btn.hero-btn-primary i,
.hero-module .hero-btn.hero-btn-primary .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-primary:hover,
.hero-module .hero-btn.hero-btn-primary:focus{
  background: #0b5ed7 !important;
  color: #ffffff !important;
  border-color: #0b5ed7 !important;
  box-shadow: 0 10px 24px rgba(13,110,253,.28) !important;
}
.hero-module .hero-btn.hero-btn-primary:hover .hero-btn-label,
.hero-module .hero-btn.hero-btn-primary:hover span,
.hero-module .hero-btn.hero-btn-primary:hover i,
.hero-module .hero-btn.hero-btn-primary:hover .bi,
.hero-module .hero-btn.hero-btn-primary:focus .hero-btn-label,
.hero-module .hero-btn.hero-btn-primary:focus span,
.hero-module .hero-btn.hero-btn-primary:focus i,
.hero-module .hero-btn.hero-btn-primary:focus .bi{
  color: #ffffff !important;
}

/* Secondary */
.hero-module .hero-btn.hero-btn-secondary{
  background: #64748b !important;
  color: #ffffff !important;
  border-color: #64748b !important;
  box-shadow: none !important;
}
.hero-module .hero-btn.hero-btn-secondary .hero-btn-label,
.hero-module .hero-btn.hero-btn-secondary span,
.hero-module .hero-btn.hero-btn-secondary i,
.hero-module .hero-btn.hero-btn-secondary .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-secondary:hover,
.hero-module .hero-btn.hero-btn-secondary:focus{
  background: #475569 !important;
  color: #ffffff !important;
  border-color: #475569 !important;
  box-shadow: 0 10px 24px rgba(100,116,139,.22) !important;
}

/* Light */
.hero-module .hero-btn.hero-btn-light{
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-light .hero-btn-label,
.hero-module .hero-btn.hero-btn-light span,
.hero-module .hero-btn.hero-btn-light i,
.hero-module .hero-btn.hero-btn-light .bi{
  color: #0f172a !important;
}
.hero-module .hero-btn.hero-btn-light:hover,
.hero-module .hero-btn.hero-btn-light:focus{
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #f8fafc !important;
}

/* Dark */
.hero-module .hero-btn.hero-btn-dark{
  background: #0f172a !important;
  color: #ffffff !important;
  border-color: #0f172a !important;
}
.hero-module .hero-btn.hero-btn-dark .hero-btn-label,
.hero-module .hero-btn.hero-btn-dark span,
.hero-module .hero-btn.hero-btn-dark i,
.hero-module .hero-btn.hero-btn-dark .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-dark:hover,
.hero-module .hero-btn.hero-btn-dark:focus{
  background: #020617 !important;
  color: #ffffff !important;
  border-color: #020617 !important;
}

/* Success */
.hero-module .hero-btn.hero-btn-success{
  background: #16a34a !important;
  color: #ffffff !important;
  border-color: #16a34a !important;
}
.hero-module .hero-btn.hero-btn-success .hero-btn-label,
.hero-module .hero-btn.hero-btn-success span,
.hero-module .hero-btn.hero-btn-success i,
.hero-module .hero-btn.hero-btn-success .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-success:hover,
.hero-module .hero-btn.hero-btn-success:focus{
  background: #15803d !important;
  color: #ffffff !important;
  border-color: #15803d !important;
}

/* Danger */
.hero-module .hero-btn.hero-btn-danger{
  background: #dc2626 !important;
  color: #ffffff !important;
  border-color: #dc2626 !important;
}
.hero-module .hero-btn.hero-btn-danger .hero-btn-label,
.hero-module .hero-btn.hero-btn-danger span,
.hero-module .hero-btn.hero-btn-danger i,
.hero-module .hero-btn.hero-btn-danger .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-danger:hover,
.hero-module .hero-btn.hero-btn-danger:focus{
  background: #b91c1c !important;
  color: #ffffff !important;
  border-color: #b91c1c !important;
}

/* Warning */
.hero-module .hero-btn.hero-btn-warning{
  background: #f59e0b !important;
  color: #111827 !important;
  border-color: #f59e0b !important;
}
.hero-module .hero-btn.hero-btn-warning .hero-btn-label,
.hero-module .hero-btn.hero-btn-warning span,
.hero-module .hero-btn.hero-btn-warning i,
.hero-module .hero-btn.hero-btn-warning .bi{
  color: #111827 !important;
}
.hero-module .hero-btn.hero-btn-warning:hover,
.hero-module .hero-btn.hero-btn-warning:focus{
  background: #d97706 !important;
  color: #111827 !important;
  border-color: #d97706 !important;
}

/* Info */
.hero-module .hero-btn.hero-btn-info{
  background: #06b6d4 !important;
  color: #ffffff !important;
  border-color: #06b6d4 !important;
}
.hero-module .hero-btn.hero-btn-info .hero-btn-label,
.hero-module .hero-btn.hero-btn-info span,
.hero-module .hero-btn.hero-btn-info i,
.hero-module .hero-btn.hero-btn-info .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-info:hover,
.hero-module .hero-btn.hero-btn-info:focus{
  background: #0891b2 !important;
  color: #ffffff !important;
  border-color: #0891b2 !important;
}

/* Outline light */
.hero-module .hero-btn.hero-btn-outline-light{
  background: transparent !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.9) !important;
}
.hero-module .hero-btn.hero-btn-outline-light .hero-btn-label,
.hero-module .hero-btn.hero-btn-outline-light span,
.hero-module .hero-btn.hero-btn-outline-light i,
.hero-module .hero-btn.hero-btn-outline-light .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-outline-light:hover,
.hero-module .hero-btn.hero-btn-outline-light:focus{
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-outline-light:hover .hero-btn-label,
.hero-module .hero-btn.hero-btn-outline-light:hover span,
.hero-module .hero-btn.hero-btn-outline-light:hover i,
.hero-module .hero-btn.hero-btn-outline-light:hover .bi,
.hero-module .hero-btn.hero-btn-outline-light:focus .hero-btn-label,
.hero-module .hero-btn.hero-btn-outline-light:focus span,
.hero-module .hero-btn.hero-btn-outline-light:focus i,
.hero-module .hero-btn.hero-btn-outline-light:focus .bi{
  color: #0f172a !important;
}

/* Outline dark */
.hero-module .hero-btn.hero-btn-outline-dark{
  background: transparent !important;
  color: #0f172a !important;
  border-color: #0f172a !important;
}
.hero-module .hero-btn.hero-btn-outline-dark .hero-btn-label,
.hero-module .hero-btn.hero-btn-outline-dark span,
.hero-module .hero-btn.hero-btn-outline-dark i,
.hero-module .hero-btn.hero-btn-outline-dark .bi{
  color: #0f172a !important;
}
.hero-module .hero-btn.hero-btn-outline-dark:hover,
.hero-module .hero-btn.hero-btn-outline-dark:focus{
  background: #0f172a !important;
  color: #ffffff !important;
  border-color: #0f172a !important;
}
.hero-module .hero-btn.hero-btn-outline-dark:hover .hero-btn-label,
.hero-module .hero-btn.hero-btn-outline-dark:hover span,
.hero-module .hero-btn.hero-btn-outline-dark:hover i,
.hero-module .hero-btn.hero-btn-outline-dark:hover .bi,
.hero-module .hero-btn.hero-btn-outline-dark:focus .hero-btn-label,
.hero-module .hero-btn.hero-btn-outline-dark:focus span,
.hero-module .hero-btn.hero-btn-outline-dark:focus i,
.hero-module .hero-btn.hero-btn-outline-dark:focus .bi{
  color: #ffffff !important;
}

/* Ghost */
.hero-module .hero-btn.hero-btn-ghost{
  background: rgba(255,255,255,.08) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.18) !important;
  backdrop-filter: blur(4px) !important;
}
.hero-module .hero-btn.hero-btn-ghost .hero-btn-label,
.hero-module .hero-btn.hero-btn-ghost span,
.hero-module .hero-btn.hero-btn-ghost i,
.hero-module .hero-btn.hero-btn-ghost .bi{
  color: #ffffff !important;
}
.hero-module .hero-btn.hero-btn-ghost:hover,
.hero-module .hero-btn.hero-btn-ghost:focus{
  background: rgba(255,255,255,.16) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.28) !important;
}

/* =========================================================
   Animations premium
   ========================================================= */
.hero-module .hero-btn.hover-lift:hover,
.hero-module .hero-btn.hover-lift:focus{
  transform: translateY(-3px) !important;
}

.hero-module .hero-btn.hover-grow:hover,
.hero-module .hero-btn.hover-grow:focus{
  transform: scale(1.045) !important;
}

.hero-module .hero-btn.hover-glow:hover,
.hero-module .hero-btn.hover-glow:focus{
  box-shadow:
    0 0 0 4px rgba(13,110,253,.10),
    0 10px 24px rgba(13,110,253,.26) !important;
}

.hero-module .hero-btn.hover-slide{
  overflow: hidden !important;
}

.hero-module .hero-btn.hover-slide::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%) !important;
  transform: translateX(-120%) !important;
  transition: transform .45s ease !important;
  pointer-events: none !important;
}

.hero-module .hero-btn.hover-slide:hover::after,
.hero-module .hero-btn.hover-slide:focus::after{
  transform: translateX(120%) !important;
}

.hero-module .hero-btn.hover-soft:hover,
.hero-module .hero-btn.hover-soft:focus{
  opacity: .92 !important;
}

/* ---------- Gestion image ---------- */
.hero-module .hero-image{
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  border: 0 !important;
}

/* ---------- Helpers dimensionnels ---------- */
.hero-module .hero-card.has-full-height{
  height: 100% !important;
}

.hero-module .hero-card.no-radius{
  border-radius: 0 !important;
}

.hero-module .hero-card.rounded-xl{
  border-radius: 1.5rem !important;
}

.hero-module .hero-card.rounded-pill{
  border-radius: 9999px !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px){
  .hero-module .hero-inner{
    padding: 1.5rem !important;
  }
}

@media (max-width: 767.98px){
  .hero-module .hero-inner{
    padding: 1.25rem !important;
  }

  .hero-module .hero-title{
    line-height: 1.2 !important;
  }

  .hero-module .hero-actions{
    width: 100% !important;
  }

  .hero-module .hero-card[data-actions-layout="horizontal"] .hero-actions{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .hero-module .hero-card[data-actions-layout="horizontal"] .hero-btn,
  .hero-module .hero-card[data-actions-layout="vertical"] .hero-btn,
  .hero-module .hero-card[data-actions-layout="responsive"] .hero-btn{
    width: 100% !important;
  }
}








/* =========================
   MODULE GRILLE RACCOURCI
========================= */

.shortcut-grid-module,
.shortcut-grid-module *{
  box-sizing:border-box !important;
}

.shortcut-grid-module{
  width:100% !important;
}

.shortcut-grid-list{
  display:grid !important;
  gap:16px !important;
}

.shortcut-grid-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  text-decoration:none !important;
  padding:18px 16px !important;
  border-radius:16px !important;
  border:1px solid transparent !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    opacity .18s ease !important;
  overflow:hidden !important;
  min-width:0 !important;
}

.shortcut-grid-card,
.shortcut-grid-card:link,
.shortcut-grid-card:visited,
.shortcut-grid-card:hover,
.shortcut-grid-card:focus,
.shortcut-grid-card:active{
  text-decoration:none !important;
}

.shortcut-grid-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-bottom:10px !important;
  line-height:1 !important;
}

.shortcut-grid-icon i,
.shortcut-grid-icon .bi{
  line-height:1 !important;
  transition:color .18s ease !important;
}

.shortcut-grid-title{
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  margin:0 !important;
  transition:color .18s ease !important;
}

.shortcut-grid-text{
  font-size:13px !important;
  line-height:1.45 !important;
  margin-top:6px !important;
  transition:color .18s ease !important;
}

.shortcut-grid-card.hover-lift:hover,
.shortcut-grid-card.hover-lift:focus{
  transform:translateY(-3px) !important;
}

.shortcut-grid-card.hover-grow:hover,
.shortcut-grid-card.hover-grow:focus{
  transform:scale(1.025) !important;
}

.shortcut-grid-card.hover-glow:hover,
.shortcut-grid-card.hover-glow:focus{
  box-shadow:0 0 0 4px rgba(37,99,235,.10), 0 12px 28px rgba(15,23,42,.16) !important;
}

.shortcut-grid-card.hover-soft:hover,
.shortcut-grid-card.hover-soft:focus{
  opacity:.94 !important;
}

.shortcut-grid-card.hover-none:hover,
.shortcut-grid-card.hover-none:focus{
  transform:none !important;
  box-shadow:none !important;
  opacity:1 !important;
}

.shortcut-grid-card.is-hidden{
  display:none !important;
}


/*caroussel*/

.mcx-carousel,
.mcx-carousel *{
	box-sizing:border-box !important;
}

.mcx-carousel{
	display:block !important;
	width:100% !important;
	position:relative !important;
}

.mcx-carousel-align-left{
	margin-left:0 !important;
	margin-right:auto !important;
}

.mcx-carousel-align-center{
	margin-left:auto !important;
	margin-right:auto !important;
}

.mcx-carousel-align-right{
	margin-left:auto !important;
	margin-right:0 !important;
}

.mcx-carousel-shell{
	position:relative !important;
	width:100% !important;
	overflow:hidden !important;
	border-radius:1rem !important;
	background:#111827 !important;
}

.mcx-carousel-track{
	position:relative !important;
	width:100% !important;
	height:100% !important;
}

.mcx-carousel-slide{
	position:absolute !important;
	inset:0 !important;
	opacity:0 !important;
	visibility:hidden !important;
	pointer-events:none !important;
	z-index:1 !important;
	will-change:transform, opacity !important;
}

.mcx-carousel-slide.is-active{
	opacity:1 !important;
	visibility:visible !important;
	pointer-events:auto !important;
	z-index:2 !important;
}

.mcx-carousel-layout{
	position:relative !important;
	width:100% !important;
	height:100% !important;
}

.mcx-carousel-media{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
}

.mcx-carousel-image-link{
	display:block !important;
	width:100% !important;
	height:100% !important;
}

.mcx-carousel-image{
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

.mcx-carousel-overlay{
	position:absolute !important;
	inset:0 !important;
	background:rgba(0,0,0,.35) !important;
	z-index:1 !important;
	pointer-events: none !important; 
}

.mcx-carousel-overlay{
	pointer-events:none !important;
}

.mcx-carousel-image-link{
	position:absolute !important;
	inset:0 !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	z-index:2 !important;
	cursor:pointer !important;
}

.mcx-carousel-slide-action-image .mcx-carousel-content,
.mcx-carousel-slide-action-image .mcx-carousel-textwrap,
.mcx-carousel-slide-action-image .mcx-carousel-content-main,
.mcx-carousel-slide-action-image .mcx-carousel-title,
.mcx-carousel-slide-action-image .mcx-carousel-text{
	pointer-events:none !important;
}



.mcx-carousel-media{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
}

.mcx-carousel-image-link{
	position:absolute !important;
	inset:0 !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	z-index:1 !important;
	cursor:pointer !important;
}

.mcx-carousel-image{
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

.mcx-carousel-overlay{
	position:absolute !important;
	inset:0 !important;
	z-index:2 !important;
	pointer-events:none !important;
}
.mcx-carousel-image-link{
	display:block !important;
	width:100% !important;
	height:100% !important;
	position:relative !important;
	z-index:2 !important;
	cursor:pointer !important;
}

.mcx-carousel-content{
	position:relative !important;
	z-index:2 !important;
	display:flex !important;
	width:100% !important;
	height:100% !important;
	padding:28px !important;
}

.mcx-carousel-content.is-top{
	align-items:flex-start !important;
}

.mcx-carousel-content.is-center{
	align-items:center !important;
}

.mcx-carousel-content.is-bottom{
	align-items:flex-end !important;
}

.mcx-carousel-textwrap{
	width:auto !important;
	max-width:70% !important;
}

.mcx-carousel-content-main{
	width:100% !important;
}

.mcx-carousel-title-outside{
	margin-bottom:12px !important;
}

.mcx-carousel-title{
	margin:0 !important;
	font-size:28px !important;
	font-weight:700 !important;
	line-height:1.15 !important;
	color:#ffffff !important;
	text-shadow:0 2px 12px rgba(0,0,0,.2) !important;
}

.mcx-carousel-text{
	margin:0 !important;
	font-size:15px !important;
	font-weight:400 !important;
	line-height:1.55 !important;
	color:#ffffff !important;
	white-space:pre-line !important;
	text-shadow:0 2px 12px rgba(0,0,0,.2) !important;
}

.mcx-carousel-action{
	margin-top:0 !important;
}

.mcx-carousel-text-cta,
.mcx-carousel-text-cta:link,
.mcx-carousel-text-cta:visited,
.mcx-carousel-text-cta:hover,
.mcx-carousel-text-cta:focus{
	display:inline-block !important;
	font-size:15px !important;
	font-weight:600 !important;
	text-decoration:underline !important;
	text-underline-offset:3px !important;
}

.mcx-carousel-nav{
	position:absolute !important;
	top:50% !important;
	transform:translateY(-50%) !important;
	z-index:10 !important;
	width:46px !important;
	height:46px !important;
	border:none !important;
	border-radius:999px !important;
	background:rgba(15,23,42,.45) !important;
	color:#ffffff !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	cursor:pointer !important;
	backdrop-filter:blur(5px) !important;
	transition:background-color .18s ease, transform .18s ease !important;
}

.mcx-carousel-nav:hover,
.mcx-carousel-nav:focus{
	background:rgba(15,23,42,.65) !important;
	transform:translateY(-50%) scale(1.03) !important;
}

.mcx-carousel-prev{
	left:14px !important;
}

.mcx-carousel-next{
	right:14px !important;
}

.mcx-carousel-nav i,
.mcx-carousel-nav .bi{
	font-size:20px !important;
	line-height:1 !important;
	color:#ffffff !important;
}

.mcx-carousel-indicators{
	position:absolute !important;
	left:50% !important;
	bottom:14px !important;
	transform:translateX(-50%) !important;
	z-index:10 !important;
	display:flex !important;
	gap:8px !important;
	align-items:center !important;
	justify-content:center !important;
}

.mcx-carousel-indicator{
	width:10px !important;
	height:10px !important;
	border:none !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.45) !important;
	cursor:pointer !important;
	padding:0 !important;
	transition:all .18s ease !important;
}

.mcx-carousel-indicator.is-active{
	width:28px !important;
	background:#ffffff !important;
}

.mcx-carousel-model-hero .mcx-carousel-layout{
	display:block !important;
}

.mcx-carousel-model-split .mcx-carousel-layout{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	height:100% !important;
	background:#ffffff !important;
}

.mcx-carousel-model-split .mcx-carousel-media{
	position:relative !important;
	inset:auto !important;
	height:100% !important;
}

.mcx-carousel-model-split .mcx-carousel-overlay{
	display:none !important;
}

.mcx-carousel-model-split .mcx-carousel-content{
	background:#ffffff !important;
}

.mcx-carousel-model-split .mcx-carousel-title{
	color:#111827 !important;
	text-shadow:none !important;
}

.mcx-carousel-model-split .mcx-carousel-text{
	color:#334155 !important;
	text-shadow:none !important;
}

.mcx-carousel-model-card .mcx-carousel-title{
	color:#0f172a !important;
	text-shadow:none !important;
}

.mcx-carousel-model-card .mcx-carousel-text{
	color:#334155 !important;
	text-shadow:none !important;
}

.mcx-carousel-model-panel-bottom .mcx-carousel-content{
	padding:0 !important;
	align-items:flex-end !important;
}

.mcx-carousel-model-panel-bottom .mcx-carousel-textwrap{
	max-width:100% !important;
	width:100% !important;
	padding:22px 24px !important;
}

.mcx-carousel-model-caption-left .mcx-carousel-content{
	align-items:flex-end !important;
	padding:22px !important;
}

.mcx-carousel-model-caption-left .mcx-carousel-textwrap{
	max-width:42% !important;
	padding:20px !important;
	border-radius:18px !important;
	backdrop-filter:blur(8px) !important;
}

.mcx-carousel-model-minimal .mcx-carousel-layout{
	display:grid !important;
	grid-template-columns:58% 42% !important;
	height:100% !important;
	background:#f8fafc !important;
}

.mcx-carousel-model-minimal .mcx-carousel-media{
	position:relative !important;
	inset:auto !important;
	height:100% !important;
}

.mcx-carousel-model-minimal .mcx-carousel-overlay{
	display:none !important;
}

.mcx-carousel-model-minimal .mcx-carousel-content{
	background:#f8fafc !important;
	padding:40px !important;
}

.mcx-carousel-model-minimal .mcx-carousel-title{
	color:#0f172a !important;
	text-shadow:none !important;
}

.mcx-carousel-model-minimal .mcx-carousel-text{
	color:#475569 !important;
	text-shadow:none !important;
}

.mcx-carousel-btn,
.mcx-carousel-btn:link,
.mcx-carousel-btn:visited,
.mcx-carousel-btn:hover,
.mcx-carousel-btn:focus,
.mcx-carousel-btn:active{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:8px !important;
	padding:10px 16px !important;
	border-radius:12px !important;
	text-decoration:none !important;
	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.2 !important;
	font-family:inherit !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	cursor:pointer !important;
	outline:none !important;
	border:1px solid transparent !important;
	transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

.mcx-carousel-btn:hover,
.mcx-carousel-btn:focus{
	transform:translateY(-1px) !important;
}

.mcx-carousel-btn-primary{background:#2563eb !important;color:#fff !important;border-color:#2563eb !important;}
.mcx-carousel-btn-secondary{background:#64748b !important;color:#fff !important;border-color:#64748b !important;}
.mcx-carousel-btn-light{background:#ffffff !important;color:#0f172a !important;border-color:#e2e8f0 !important;}
.mcx-carousel-btn-dark{background:#0f172a !important;color:#fff !important;border-color:#0f172a !important;}
.mcx-carousel-btn-outline{background:transparent !important;color:#2563eb !important;border-color:#2563eb !important;}
.mcx-carousel-btn-ghost{background:rgba(255,255,255,.35) !important;color:#0f172a !important;border-color:rgba(255,255,255,.45) !important;}
.mcx-carousel-btn-alert-info{background:#dbeafe !important;color:#1e3a8a !important;border-color:#93c5fd !important;}
.mcx-carousel-btn-alert-success{background:#dcfce7 !important;color:#166534 !important;border-color:#86efac !important;}
.mcx-carousel-btn-alert-warning{background:#ffedd5 !important;color:#9a3412 !important;border-color:#fdba74 !important;}
.mcx-carousel-btn-alert-danger{background:#fee2e2 !important;color:#991b1b !important;border-color:#fca5a5 !important;}

#module-param-wrap{
	position:relative !important;
}

#module-param.mcx-carousel-editor-scroll{
	max-height:calc(100vh - 180px) !important;
	overflow-y:auto !important;
	padding-right:6px !important;
}

#module-param.mcx-carousel-editor-scroll::-webkit-scrollbar{
	width:8px !important;
}

#module-param.mcx-carousel-editor-scroll::-webkit-scrollbar-thumb{
	background:#cbd5e1 !important;
	border-radius:999px !important;
}

#module-param.mcx-carousel-editor-scroll::-webkit-scrollbar-track{
	background:transparent !important;
}

@media (max-width: 768px){
	.mcx-carousel-model-split .mcx-carousel-layout,
	.mcx-carousel-model-minimal .mcx-carousel-layout{
		grid-template-columns:1fr !important;
		grid-template-rows:45% 55% !important;
	}

	.mcx-carousel-model-caption-left .mcx-carousel-textwrap{
		max-width:100% !important;
	}
}

.mcx-carousel-model-title-top-bottom-caption .mcx-carousel-slide,
.mcx-carousel-model-title-top-bottom-caption .mcx-carousel-layout {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
}

.mcx-carousel-model-title-top-bottom-caption .mcx-carousel-media,
.mcx-carousel-model-title-top-bottom-caption .mcx-carousel-image {
	width: 100%  !important;
	height: 100% !important;
	object-fit: cover !important	;
	display: block !important;
}

.mcx-carousel-model-title-top-bottom-caption .mcx-carousel-title-top-box,
.mcx-carousel-model-title-top-bottom-caption .mcx-carousel-text-bottom-box {
	position: absolute !important;
	z-index: 4 !important;
}


.flash_info_contain .row  .bloc_contenu{
	border:0px !important;
}

.preview-page-shell{
	width: 100%;
	min-height: calc(100vh - 180px);
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 20px;
	background: #e9ecef;
	overflow: auto;
	border-radius: 1rem;
}

.preview-page-shell iframe{
	background: #fff;
	border: 1px solid #ced4da;
	border-radius: 1rem;
	box-shadow: 0 8px 30px rgba(0,0,0,.12);
	transition: width .25s ease, height .25s ease;
	min-height: 80vh;
}

.preview-page-shell.preview-pc iframe{
	width: 100%;
	max-width: 1400px;
}

.preview-page-shell.preview-tablet iframe{
	width: 820px;
	max-width: 820px;
}

.preview-page-shell.preview-mobile iframe{
	width: 390px;
	max-width: 390px;
}



/** Nav Bar actions */

.page-editor-navbar {
	backdrop-filter: blur(10px);
	background: rgba(255,255,255,0.96) !important;
	z-index: 1030;
  }
  
  .editor-brand-icon {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #0d6efd, #3d8bfd);
	color: #fff;
	font-size: 1.2rem;
	box-shadow: 0 8px 20px rgba(13, 110, 253, 0.18);
  }
  
  .editor-action-btn {
	border-radius: 12px;
	font-weight: 600;
	padding: 0.7rem 1rem;
	transition: all 0.18s ease;
	white-space: nowrap;
  }
  
  .editor-action-btn i {
	font-size: 1rem;
	vertical-align: -1px;
  }
  
  .editor-action-btn.btn-light {
	background: #f8f9fb;
	border: 1px solid #e9ecef;
	color: #212529;
  }
  
  .editor-action-btn.btn-light:hover {
	background: #eef3ff;
	border-color: #d7e3ff;
	color: #0d6efd;
	transform: translateY(-1px);
  }
  
  .editor-action-btn.btn-primary {
	box-shadow: 0 8px 20px rgba(13, 110, 253, 0.18);
  }
  
  .editor-action-btn.btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(13, 110, 253, 0.24);
  }
  
  .editor-action-btn.btn-outline-secondary:hover {
	transform: translateY(-1px);
	background: #f8f9fa;
  }
  
  .editor-action-btn.btn-dark:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(33, 37, 41, 0.2);
  }
  
  @media (max-width: 991.98px) {
	.editor-action-btn {
	  width: 100%;
	  justify-content: flex-start;
	}
  }


 
  /* Hover sur la card */
  #liste_modules .module-card:hover {
    background-color: var(--bs-primary);
    color: #fff;
}

/* Texte (titre + description) */
#liste_modules .module-card:hover h6,
#liste_modules .module-card:hover p {
    color: #fff !important;
}

/* Icône */
#liste_modules .module-card:hover i {
    color: #fff !important;
}

/* Optionnel : effet plus smooth */
#liste_modules .module-card {
    transition: all 0.3s ease;
}
@media (min-width: 992px) {

	/* Activation grid pour tous les layouts spéciaux */
	.ligne_drag_drop.layout-mosaic_hero_left,
	.row.layout-mosaic_hero_left,
	.layout-mosaic_hero_left,

	.ligne_drag_drop.layout-mosaic_left_tall_4top_wide_bottom,
	.row.layout-mosaic_left_tall_4top_wide_bottom,
	.layout-mosaic_left_tall_4top_wide_bottom,

	.ligne_drag_drop.layout-mosaic_left_tall_3top_wide_bottom,
	.row.layout-mosaic_left_tall_3top_wide_bottom,
	.layout-mosaic_left_tall_3top_wide_bottom,

	.ligne_drag_drop.layout-mosaic_top_banner,
	.row.layout-mosaic_top_banner,
	.layout-mosaic_top_banner,
	
	.ligne_drag_drop.layout-mosaic_left_tall_3top_3bottom,
	.row.layout-mosaic_left_tall_3top_3bottom,
	.layout-mosaic_left_tall_3top_3bottom
	{
		display: grid !important;
		align-items: start;
		gap: 0 !important;
	}

	/* Grand à gauche */
	.ligne_drag_drop.layout-mosaic_hero_left,
	.row.layout-mosaic_hero_left,
	.layout-mosaic_hero_left {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-template-areas:
			"a b c"
			"a d d" !important;
	}

	/* Grande à gauche + 4 haut + grand bas */
	.ligne_drag_drop.layout-mosaic_left_tall_4top_wide_bottom,
	.row.layout-mosaic_left_tall_4top_wide_bottom,
	.layout-mosaic_left_tall_4top_wide_bottom {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		grid-template-areas:
			"a b c d e"
			"a f f f f" !important;
	}

	/* Grande à gauche + 3 haut + grand bas */
	.ligne_drag_drop.layout-mosaic_left_tall_3top_wide_bottom,
	.row.layout-mosaic_left_tall_3top_wide_bottom,
	.layout-mosaic_left_tall_3top_wide_bottom {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-areas:
			"a b c d"
			"a e e e" !important;
	}

	/* Grand en haut */
	.ligne_drag_drop.layout-mosaic_top_banner,
	.row.layout-mosaic_top_banner,
	.layout-mosaic_top_banner {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-template-areas:
			"a a a"
			"b c d" !important;
	}

	.ligne_drag_drop.layout-mosaic_left_tall_3top_3bottom,
	.row.layout-mosaic_left_tall_3top_3bottom,
	.layout-mosaic_left_tall_3top_3bottom {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-areas:
			"a b c d"
			"a e f g" !important;
	}	

	/* Neutraliser Bootstrap dans éditeur + front */
	.ligne_drag_drop[class*="layout-"] > .col_drag_drop,
	.ligne_drag_drop[class*="layout-"] > .bloc_contenu,
	.row[class*="layout-"] > .col_drag_drop,
	.row[class*="layout-"] > .bloc_contenu,
	[class*="layout-"] > .col_drag_drop,
	[class*="layout-"] > .bloc_contenu {
		width: auto !important;
		max-width: none !important;
		flex: unset !important;
		min-width: 0 !important;
	}

	/* Mapping zones - éditeur + front */
	[class*="layout-"] > [data-area="a"] { grid-area: a; }
	[class*="layout-"] > [data-area="b"] { grid-area: b; }
	[class*="layout-"] > [data-area="c"] { grid-area: c; }
	[class*="layout-"] > [data-area="d"] { grid-area: d; }
	[class*="layout-"] > [data-area="e"] { grid-area: e; }
	[class*="layout-"] > [data-area="f"] { grid-area: f; }
	[class*="layout-"] > [data-area="g"] { grid-area: g; }
	[class*="layout-"] > [data-area="h"] { grid-area: h; }
}

@media (max-width: 991.98px) {
	.layout-mosaic_hero_left,
	.layout-mosaic_left_tall_4top_wide_bottom,
	.layout-mosaic_left_tall_3top_wide_bottom,
	.layout-mosaic_top_banner,
	.layout-mosaic_left_tall_3top_3bottom {
		display: block !important;
	}
}

