a[href="/form/abonnement-au-magazine"] {
  font-size: 2.25rem;
  font-weight: 400;
}
.views-field.views-field-field-adresse {
  font-size: 16px;
}
.slick.slick--optionset--slick-lightbox.slick--thumbnail {
  display: none;
}

.page-node-2258 .node--view-mode-full .field--name-body img.align-left {
  margin: 15px 0;
}
.views-field.views-field-field-documents-associes a {
  font-size: 16px;
  font-family: Orkney Bold;
}

.views-field.views-field-field-documents-associes {
  margin-top: 20px;
  
}








.block.block-layout-builder.block-field-blocktaxonomy-termtype-de-lieufield-icone {
  margin-top: 35px !important;
}

img.membre-img {
  display: block;
  width: 100%;
  height: 300px;
  max-height: 300px;
  object-fit: cover;
  object-position: center top;
  margin: 0 auto;
}

.icon-map-circle {
  background: white;
  padding: 5px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 15px;
  border: 2px solid;
}



.grille-bordure-noire .views-view-responsive-grid__item {
border: 2px solid;
border-radius: 5px;
padding: 15px;
position: relative;
}

#views-exposed-form-lieux-par-type-format-grille-block-1 .js-form-item {
  margin-right: 18px;
}


#views-exposed-form-lieux-par-type-format-grille-block-1 #edit-title {
  height: 38px;
}
.grille-bordure-noire .views-view-responsive-grid__item h3 {
margin-top: 0;
padding-right: 14px;
}
.grille-bordure-noire .views-field.views-field-view-node  a {
  position: absolute;
  font-family: Orkney Bold;
  font-weight: bold;
  width: 100%;
  left: 0;
  height: 100%;
  top: 0;
  text-align: right;
  padding-right: 15px;
  padding-top: 15px;
}




.blazy .media--blazy img.b-blur, .blazy .media--blazy img.media__element, .blazy .grid figure {
	margin: 0 auto;
}


#views-exposed-form-tous-les-lieux-block-1 #edit-title,
#views-exposed-form-tous-les-lieux-format-cards-block-1 edit-title--2 {
  width: 250px;
}

.block.block-layout-builder.block-field-blocktaxonomy-termtype-de-lieuname .field__item {
font-size: 26px;
font-family: Orkney Bold;
margin-top: 25px;
margin-left: 15px;
}

.block.block-layout-builder.block-field-blocktaxonomy-termtype-de-lieuname {
flex: inherit;
}
.flex .layout__region.layout__region--content {
display: flex;
align-items: center;
}

.block.block-layout-builder.block-field-blocktaxonomy-termtype-de-lieufield-icone {
display: inline-flex;
width: 50px;
margin-top:10px;
}
.flex.layout.layout--onecol {
display: flex;
align-items: center;
}

.leaflet-popup-content .views-field-view-node {
  margin-top: 15px;
}

.leaflet-popup-content .views-field-view-node a {
  background: var(--vdm-header-top-color);
  padding: 5px 10px;
  border-radius: 5px;
  color: white;
  font-size: 16px;
}


#views-exposed-form-tous-les-lieux-block-1 label {
  margin-bottom: 10px;
  font-family: Orkney Bold;
}

#views-exposed-form-tous-les-lieux-block-1 .flex-wrap, #views-exposed-form-tous-les-lieux-format-cards-block-1 .flex-wrap {
  gap: 0px 20px;
}

#views-exposed-form-tous-les-lieux-block-1 input {
	  width: 250px;
	
}

#views-exposed-form-tous-les-lieux-block-1 input,
#views-exposed-form-tous-les-lieux-block-1 select,
#views-exposed-form-tous-les-lieux-block-1 button,
#views-exposed-form-tous-les-lieux-format-cards-block-1 input,
#views-exposed-form-tous-les-lieux-format-cards-block-1 select, 
#views-exposed-form-tous-les-lieux-format-cards-block-1 button {
height: 60px;
font-family: Orkney Bold;
  font-size: 16px;
}
.view-tous-les-lieux .view-empty {
  opacity: 0.8;
  font-family: Orkney Bold;
  margin-top: 30px;
}
.node--type-lieu .field__label {
  font-family: Orkney Bold;
  margin-top: 15px;
  margin-bottom: 5px;
}



.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav {
display: block !important;
}

.field__item {
  line-height: normal;
}

.node--view-mode-full .field--name-body a.btn {
  background: var(--vdm-header-top-color);
}

.block-field-blocknodeevenementbody h3 {
margin-top: 20px;
}

.block.block-block-content.block-block-content67315879-8649-43b3-b3f1-01965d0471a8 {
  margin-top: 30px;
}

.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav > li > a {
  cursor: default;
}

.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav > li > a .menu-link-text {
font-size: 21px;
font-family: Orkney Bold;
font-weight: normal;
}
.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav > li {
margin-bottom: 20px;
}
.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav li > ul.dropdown-menu {
	border: none;
display: block;
background: none;
box-shadow: none;
}
.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav li > ul.dropdown-menu > li {
position: relative;
box-shadow: none;
}
.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav li > ul.dropdown-menu > li a {
	text-wrap: wrap;
	cursor: default;
	padding-left: 15px;
	box-shadow: none;
	border-radius: 0;
	display: flex;
  align-items: center;
  margin: 15px 0;
  background: none;
}

.menu--la-mairie-de-marseille.block-menu ul.menu.navbar-nav li > ul.dropdown-menu > li a img {
margin-right: 15px;
float: left;
}


#block-vdm-main-menu ul li a, .menuinpage ul li a {
  background: none;
  background-image: none !important;
}

.admin-toolbar-search-autocomplete-list {
  z-index: 5000 !important;
}

.vdm-fullmenu__inner {

left: 33%;
top: 17%;
}


/* ===== Correction menu fullmenu desktop ===== */
#vdm-fullmenu.vdm-fullmenu {
  display: none;
  position: fixed;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow-y: auto;
}

#vdm-fullmenu.vdm-fullmenu.open,
#vdm-fullmenu.vdm-fullmenu[aria-hidden="false"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.vdm-fullmenu__inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  min-height: 100%;
  max-width: 1000px;
}

.vdm-fullmenu__col-main {
  flex: 0 0 260px !important;
  min-width: 260px !important;
  border-right: 1px solid #e0e0e0;
  padding-right: 30px !important;
  padding-left: 0 !important;
}

.vdm-fullmenu__col-nav {
  flex: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 40px !important;
  align-content: flex-start !important;
  padding-left: 50px !important;
}

.vdm-fullmenu__nav-section {
  width: 200px !important;
  margin-bottom: 40px !important;
  text-align: left !important;
}

.vdm-fullmenu__nav-title {
  font-weight: bold;
  font-size: 1rem;
  color: #1a2f5e;
  margin-bottom: 10px;
  display: block;
  text-decoration: none;
}

.vdm-fullmenu__nav-child-link {
  display: block;
  color: #0e7eb5;
  text-decoration: none;
  font-size: 0.9rem;
  margin-bottom: 5px;
}

.vdm-fullmenu__nav-child-link:hover {
  text-decoration: underline;
}

.vdm-fullmenu__main-list {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}

.vdm-fullmenu__main-item {
  border-bottom: 1px solid #e0e0e0;
}

.vdm-fullmenu__main-link {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 0 !important;
  font-size: 1rem;
  font-weight: bold;
  color: #1a2f5e;
  text-decoration: none;
  text-align: left !important;
}

.vdm-fullmenu__main-link:hover {
  color: #0e7eb5;
}
/* ===== Fin correction menu fullmenu desktop ===== */


/* Ne pas laisser les règles génériques ci-dessus affecter le menu "Ma Mairie" / les tuiles d'accès rapide */
.competences-menu .views-view-responsive-grid__item,
.c-more-acces .views-view-responsive-grid__item {
  background: transparent !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
}

.block-field-blocknodeevenementfield-fichiers {
margin-top: 25px;
}
.block-field-blocknodeevenementfield-fichiers a {
border: 0 !important;
}


.rub-mobile a i {
font-family: "icomoon";
font-style: normal;
}

.menu-mobile .rub-mobile li.btn-menu-mobile a i::before {
  z-index: 500000;
  position: relative;
  top: -19px;
  color: white;
}


.competence-tile {
  cursor: default;
}
.competence-tile .tile-icon img {
  max-width: 40px;
  filter: none;
}


.margin-top-minus-50 {
  margin-top: -50px;
}

.view-id-block_agenda_accueil {
margin-top: 100px;
}
body .masonry-item {
  margin-bottom: 30px !important;
  display: block !important;
}

.masonry-item .views-field.views-field-title {
  padding: 10px 15px;
}

section[class*=" region-footer-"] p {
line-height: normal;

}

@media (min-width: 851px) {
  .site-footer__top .region {
    width: 35%;
    padding: 0 0.65%;
    padding-left: 0.65%;
  }
}

.c-more-acces {
background: transparent;
}
.c-more-acces .wraper-link {
background: var(--vdm-bg-color);
}

body .inner-membre {
  border-radius: 10px !important;
  padding-bottom: 20px !important;
min-height: 580px;
}
.membre-mis-en-avant {
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  border-radius: 10px;
  overflow: hidden;
}

.bssb-printlink.share-print svg {
  padding: 7px;
}

body footer.site-footer #block-vdm-footerinfo {
  align-items: end !important;
}



/* Feuille de style intégrée #90 | https://mairie15-16.marseille.fr/elus */

.inner-membre .nom_elu_vdm,
.page-equipe .nom_elu_vdm {
  color: #3498db !important;
  padding-bottom: 15px !important;
  display: block;
}


.inner-membre {
padding:0 !important;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
border-radius: 10px;
margin-bottom: 30px;
}

.leaflet-popup-content .views-field.views-field-title a {
  font-size: 23px !important;
}

.leaflet-popup-content h4 {
font-size: 21px;
font-family: Orkney Bold;
}
.leaflet-popup-content {
font-size: 1.125rem;
}

.cherchez-map h2 {
color:white !important;
}

.inner-membre p, .inner-membre span {
padding: 0 15px;
text-align: center;
}

.membre-img {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}



.competences-menu h2 {
font-family: Orkney Bold;
}
.competences-menu h2::before {
content: ">";
margin-right: 15px;
}

/* ====================================================
   ENQUÊTES PUBLIQUES & CONCERTATIONS — style mairie 15/16
   Cible les classes Drupal réelles du thème
   ==================================================== */

.layout__region--content h2,
.block-views h2.block-title,
.block h2 {
	color: #1a3c6b;
	font-size: 1.6rem;
	font-weight: 700;
	margin-top: 36px;
	margin-bottom: 20px;
}

.block-views-blockenquetes-publiques-block-1 .view-content {
	padding: 0;
}

.block-views-blockenquetes-publiques-block-1 .views-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	border-bottom: 1px solid #e5e9f0;
	padding: 8px 0;
}

.block-views-blockenquetes-publiques-block-1 .views-row::before {
	content: "■";
	color: #1a3c6b;
	font-size: 0.55rem;
	flex-shrink: 0;
	margin-top: 3px;
}

.block-views-blockenquetes-publiques-block-1 .views-field-title {
	flex: 1;
}

.block-views-blockenquetes-publiques-block-1 .views-field-title a {
	color: #1a3c6b;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: underline;
}

.block-views-blockenquetes-publiques-block-1 .views-field-title a:hover {
	color: #c0392b;
}



.block-views-blockconcertations-block-1 .view-content,
.block-views-blockconcertations-block-2 .view-content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0;
}

.block-views-blockconcertations-block-1 .views-row,
.block-views-blockconcertations-block-2 .views-row {
	width: calc(33.33% - 14px);
	min-width: 220px;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e5e9f0;
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.2s;
	position: relative;
	cursor: pointer;
}

.block-views-blockconcertations-block-1 .views-row:hover,
.block-views-blockconcertations-block-2 .views-row:hover {
	box-shadow: 0 4px 16px rgba(26,60,107,0.13);
}

/* Image EN PREMIER (order 1), titre EN DESSOUS (order 2) */
/* Cible tous les champs image/galerie quelle que soit leur nom */
.block-views-blockconcertations-block-1 .views-row > div:not(.views-field-title),
.block-views-blockconcertations-block-2 .views-row > div:not(.views-field-title) {
	order: 1;
}

.block-views-blockconcertations-block-1 .views-field-title,
.block-views-blockconcertations-block-2 .views-field-title {
	order: 2;
	padding: 10px 12px 14px;
	font-size: 0.92rem;
	font-weight: 700;
}

/* Toutes les images dans les cartes : hauteur fixe + recadrage */
.block-views-blockconcertations-block-1 .views-row img,
.block-views-blockconcertations-block-2 .views-row img {
	width: 100%;
	height: 185px;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* Lien étiré sur toute la carte = image + titre cliquables */
.block-views-blockconcertations-block-1 .views-field-title a,
.block-views-blockconcertations-block-2 .views-field-title a {
	color: #1a3c6b;
	text-decoration: none;
}

.block-views-blockconcertations-block-1 .views-field-title a::after,
.block-views-blockconcertations-block-2 .views-field-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.block-views-blockconcertations-block-1 .views-row:hover .views-field-title a,
.block-views-blockconcertations-block-2 .views-row:hover .views-field-title a {
	text-decoration: underline;
	color: #c0392b;
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.block-views-blockconcertations-block-1 .views-row,
	.block-views-blockconcertations-block-2 .views-row {
		width: calc(50% - 10px);
	}
}

@media (max-width: 600px) {
	.block-views-blockconcertations-block-1 .views-row,
	.block-views-blockconcertations-block-2 .views-row {
		width: 100%;
	}
}

/* Inline | https://mairie15-16.marseille.int.tsp/publications */

.views-field.views-field-field-date-de-publication {
  font-size: 16px;
  text-align: center;
  margin-top: 20px;
}

.view-id-publications .views-field.views-field-title {
  text-align: center;
}




/* Sous-titre magazine (ex: 1er trimestre 2025) */

.block-views-blockdernier-magazine-block-1 .views-field-field-date-de-publication,
.block-views-blockdernier-magazine-block-1 .views-field-field-date-de-publication .field-content {
  color: #27a9d8 !important;
  margin: 12px 0 8px 0 !important;
  text-align: center !important;
}

@media (max-width: 900px) {
  .block-views-blockdernier-magazine-block-1 .views-field-field-date-de-publication,
  .block-views-blockdernier-magazine-block-1 .views-field-field-date-de-publication .field-content {
    font-size: 0.9rem !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  .block-views-blockdernier-magazine-block-1 {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* Footer : harmonisation SUIVEZ-NOUS (capture 2) */
/* --- FOOTER 3 BLOCS HARMONISÉS --- */
#block-vdm-newsletter,
#block-vdm-contacteznous,
#block-vdm-socialmedialinks {
  float: left !important;
  width: 33.33% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  padding: 40px 20px !important;
  background: #f0f0f0 !important;
  min-height: 260px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border-right: 1px solid #d0d0d0 !important;
}
#block-vdm-socialmedialinks {
  border-right: none !important;
  overflow: hidden !important;
}
#block-vdm-socialmedialinks .suivez-nous-label {
  display: none;
}
#block-vdm-newsletter strong,
#block-vdm-contacteznous strong,
#block-vdm-socialmedialinks strong,
#block-vdm-newsletter h2,
#block-vdm-contacteznous h2,
#block-vdm-socialmedialinks h2 {
  display: none !important;
}
/* Afficher les titres de bloc Drupal */
#block-vdm-newsletter h2.block-title,
#block-vdm-newsletter h2.block__title,
#block-vdm-contacteznous h2.block-title,
#block-vdm-contacteznous h2.block__title,
#block-vdm-socialmedialinks h2.block-title,
#block-vdm-socialmedialinks h2.block__title {
  display: block !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #00475a !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
  letter-spacing: 1px !important;
  font-family: "Orkney Bold", Arial, sans-serif !important;
}
#block-vdm-socialmedialinks .social-media-links--platforms {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  margin-top: 10px !important;
}
#block-vdm-socialmedialinks .social-media-link-icon--instagram,
#block-vdm-socialmedialinks .social-media-link-icon--facebook {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  color: #00475a !important;
  width: 48px !important;
  height: 48px !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}
#block-vdm-socialmedialinks .social-media-link-icon--instagram:hover,
#block-vdm-socialmedialinks .social-media-link-icon--facebook:hover {
  color: #27a9d8 !important;
  border-color: #27a9d8 !important;
}
#block-vdm-socialmedialinks .fa,
#block-vdm-socialmedialinks .fab,
#block-vdm-socialmedialinks .fa-brands {
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 22px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}
#block-vdm-socialmedialinks .social-media-link-icon--instagram:hover,
#block-vdm-socialmedialinks .social-media-link-icon--facebook:hover {
  color: #27a9d8 !important;
  border-color: #27a9d8 !important;
}
#block-vdm-socialmedialinks .fa,
#block-vdm-socialmedialinks {
  width: 33.33% !important;
  min-height: 260px !important;
  background: #f0f0f0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  border-right: none !important;
  overflow: hidden !important;
  padding: 40px 20px !important;
}

.node--view-mode-full .field--name-body ul li strong, .node--view-mode-full .field--name-body p strong {
font-weight: normal;
}

.block.block-layout-builder.block-field-blocknodeevenementfield-date-debut .field__item, .block.block-layout-builder.block-field-blocknodeevenementfield-date-fin .field__item {
  font-family: Orkney Bold;
}

.node--type-evenement .block.block-layout-builder.block-field-blocknodeevenementfield-vignette {
  margin: 30px 0;
}

.toolbar-horizontal #block-vdm-entetemobilelogorecherchemenu {
  top: 0;
}

#navbar-main {
  display: none !important;
}
.path-frontpage #navbar-main {
  display: block !important;
}

.node--type-article .block-better-social-sharing-buttons {
  float: right !important;
}

.view-id-publications .views-view-responsive-grid__item .views-field.views-field-title {
  padding: 0 15px;
}

.evenement-dates-badge{
  display: inline-block;
  position: relative;
  top: -50px;
  left: 0px;
  height: 0;
}
#navbar-main {
  top: -40px;
  background: transparent;
}

/* Adresse seulement si ce n'est pas un horaire */
p.style-adresse:not(.style-horaire) {
  position: relative;
  margin: 0 0 14px;
  padding-left: 28px;
  color: #001f66;
  font-size: 16px;
  line-height: 1.35;
}

p.style-adresse:not(.style-horaire)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 12px;
  height: 12px;
  border: 2px solid #ff5b4d;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}


/* Horaire seulement si ce n'est pas une adresse */
p.style-horaire:not(.style-adresse) {
  position: relative;
  margin: 0 0 14px;
  padding-left: 28px;
  color: #001f66;
  font-size: 16px;
  line-height: 1.35;
}

p.style-horaire:not(.style-adresse)::before {
content: "\f017";
  position: absolute;
  left: 0;
  top: 2px;
  width: 12px;
  height: 12px;
  font-family: "Font Awesome 6 Free";
  color: #ff5b4d;
}




.flatpickr-calendar.animate.inline {
margin-left: 20px;
}

.field__label {
margin-bottom: 10px;
}

.node--view-mode-full .field--name-body a.btn {
color:white;
}

.menuinpage li {
 flex: 0 0 220px !important;
 margin: 0 !important;
 box-sizing: border-box;
 overflow: visible !important;
 display: flex !important;
}

.view-id-publications .views-view-responsive-grid__item {
background: #fff;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
/* border-radius: 8px; */
}

a.btn.btn-outline-secondary,
a.btn.btn-outline-secondary:hover,
a.btn.btn-outline-secondary:focus,
a.btn.btn-outline-secondary:active,
a.btn.btn-outline-secondary.active,
.show > a.btn.btn-outline-secondary.dropdown-toggle {
background-color: #fff !important;
color: #000 !important;
border-color: rgb(95 97 110) !important;
box-shadow: none !important;
transition: none !important;
}

a.btn.btn-secondary {
margin-bottom: 50px;
background-color: #0099CC;
border: 2px solid rgb(95 97 110);
border-radius: 0.5em;
padding: 7px;
align-items: center;
justify-content: center;
display: flex;
}

.path-node .media-oembed-content {
width: 100%;
height: 310px;
}

.menuinpage ul.nav,
.menuinpage .menu.nav.navbar-nav {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 20px !important;
  padding: 0 !important;
  list-style: none !important;
}

.menuinpage li a span {
  color: var(--vdm-text-color) !important;
  font-family: Orkney Bold;
  text-align: center;
  margin: 15px 0;
  display: block !important;
  font-size: 1.05rem;
  white-space: normal !important;
}

.menuinpage li a {
  text-align: center;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 16px !important;
  width: 100% !important;
  min-height: 110px;
  font-size: 1.2rem !important;
  font-weight: normal !important;
  font-family: "Orkney Bold", sans-serif !important;
  line-height: 1.3 !important;
}

.views-field.views-field-title .field-content a {
font-family: "Orkney Bold", sans-serif;
color: var(--vdm-text-color);
font-size: 18px;
line-height: 1.12;
letter-spacing: 0.2px;
font-weight: 400;
text-decoration: none;
display: inline-block;
}
.views-field.views-field-title {
margin-top: 10px;
margin-bottom: 18px;
padding-inline: 2px;
}

.views-field.views-field-field-date-debut.dateviewactu .field-content {
display: inline-flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-family: "Orkney", sans-serif;
font-size: 16px;
line-height: 1;
padding: 8px 16px;
border-radius: 999px;
margin-top: 10px;
margin-bottom: 20px;
width: fit-content;
}

.views-field.views-field-view-node.viewactu {
font-family: "Orkney Bold", sans-serif;
color: #00acee;
font-size: 20px;
line-height: 1.1;
font-weight: 400;
letter-spacing: 0;
margin: 0;
}

.node .block-better-social-sharing-buttons {
display: block !important;
float: left;
}
.node--type-lieu.node--view-mode-teaser h2 a h1 {
padding: 0 !important;
}
.actus_slider .slider-img {
min-height: 409px;
}

/* =========================================================================
  BANNIÈRE MAGAZINE — style Mairie 15/16
   ========================================================================= */

/* --- Parent layout : les deux blocs collés côte à côte --- */
.block-views-blockdernier-magazine-block-1,
.block-views-blockbandeau-mag-block-1 {
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ===== NEUTRALISER TOUT CONTENEUR PARENT (section, inner, container…) ===== */
section:has(.block-views-blockdernier-magazine-block-1),
.layout-builder__section:has(.block-views-blockdernier-magazine-block-1),
.layout-section:has(.block-views-blockdernier-magazine-block-1),
.inner-detail-article:has(.block-views-blockdernier-magazine-block-1),
.detail-article:has(.block-views-blockdernier-magazine-block-1) {
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ===== LE LAYOUT DRUPAL TWOCOL — forcer flex + zéro gap ===== */
.layout--twocol-section:has(.block-views-blockdernier-magazine-block-1),
.layout:has(.block-views-blockdernier-magazine-block-1) {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  column-gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ===== RÉGIONS DU LAYOUT — supprimer padding, border-radius, espaces ===== */
.layout--twocol-section:has(.block-views-blockdernier-magazine-block-1) > .layout__region,
.layout:has(.block-views-blockdernier-magazine-block-1) > .layout__region {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  min-width: 0 !important;
}

/* ===== .block WRAPPER DRUPAL à l'intérieur des régions ===== */
.layout--twocol-section:has(.block-views-blockdernier-magazine-block-1) > .layout__region > .block,
.layout:has(.block-views-blockdernier-magazine-block-1) > .layout__region > .block {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

/* ===== FALLBACK BOOTSTRAP ROW ===== */
.row:has(.block-views-blockdernier-magazine-block-1) {
  --bs-gutter-x: 0 !important;
  gap: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-items: stretch !important;
  display: flex !important;
  flex-wrap: nowrap !important;
}

.row:has(.block-views-blockdernier-magazine-block-1) > [class*="col"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
}

.row:has(.block-views-blockdernier-magazine-block-1) > [class*="col"] > * {
  flex: 1 !important;
  width: 100% !important;
}

/* ===== GAUCHE : fond gris clair, couverture magazine ===== */
.block-views-blockdernier-magazine-block-1 {
  background: white !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 20px 15px !important;
  text-align: center !important;
}

.block-views-blockdernier-magazine-block-1 .view,
.block-views-blockdernier-magazine-block-1 .view-content,
.block-views-blockdernier-magazine-block-1 .views-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.block-views-blockdernier-magazine-block-1 .views-field-field-image {
  margin-bottom: 10px !important;
}

.block-views-blockdernier-magazine-block-1 .views-field-field-image img {
  max-width: 190px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
  transform: rotate(-4deg) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.block-views-blockdernier-magazine-block-1 .views-field-field-image img:hover {
  transform: rotate(0deg) scale(1.03) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.block-views-blockdernier-magazine-block-1 .views-field-created {
  margin-top: 8px !important;
  font-size: 12px !important;
  color: #666 !important;
  font-family: "Orkney", sans-serif !important;
}

.block-views-blockdernier-magazine-block-1 .views-field-title {
  margin-top: 4px !important;
}

.block-views-blockdernier-magazine-block-1 .views-field-title a {
  color: #0d1948 !important;
  font-size: 18px !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

/* ===== DROITE : fond jaune, image bandeau + liens ===== */
.block-views-blockbandeau-mag-block-1 {
  background: #f3c105 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.block-views-blockbandeau-mag-block-1 .view,
.block-views-blockbandeau-mag-block-1 .view-content,
.block-views-blockbandeau-mag-block-1 .views-row {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.block-views-blockbandeau-mag-block-1 .views-field-field-bandeau {
  overflow: hidden !important;
  flex: 1 !important;
}

.block-views-blockbandeau-mag-block-1 .views-field-field-bandeau img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Lien "Voir toutes les publications" avec flèche en cercle */
.block-views-blockbandeau-mag-block-1 .views-field-nothing {
  padding: 12px 25px 4px !important;
  background: #f3c105 !important;
  display: block !important;
text-align: center;
}

.block-views-blockbandeau-mag-block-1 .views-field-nothing a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #ed4c14 !important;
  font-family: "Orkney Bold", sans-serif !important;
  font-size: 15px !important;
  text-decoration: none !important;
}

.block-views-blockbandeau-mag-block-1 .views-field-nothing a::after {
  content: "→" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 50% !important;
  border: 2px solid #ed4c14 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.block-views-blockbandeau-mag-block-1 .views-field-nothing a:hover::after {
  background: #ed4c14 !important;
  color: #fff !important;
}

/* Lien "Recevez le mag chez vous" */
.block-views-blockbandeau-mag-block-1 .views-field-nothing-1 {
  padding: 4px 25px 14px !important;
  background: #f3c105 !important;
  display: block !important;
text-align: center;
}

.block-views-blockbandeau-mag-block-1 .views-field-nothing-1 a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #ed4c14 !important;
  font-family: "Orkney Bold", sans-serif !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  letter-spacing: 0.04em !important;
  background: var(--vdm-bg-color);
  padding: 15px;
  border-radius: 5px;
}

.block-views-blockbandeau-mag-block-1 .views-field-nothing-1 a::after {
  content: "→" !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.block-views-blockbandeau-mag-block-1 .views-field-nothing a:hover,
.block-views-blockbandeau-mag-block-1 .views-field-nothing-1 a:hover {
  text-decoration: underline !important;
}
/* ===== RESPONSIVE : blocs empilés sur mobile ===== */
@media (max-width: 768px) {
  .layout--twocol-section:has(.block-views-blockdernier-magazine-block-1),
  .layout:has(.block-views-blockdernier-magazine-block-1) {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .layout--twocol-section:has(.block-views-blockdernier-magazine-block-1) > .layout__region,
  .layout:has(.block-views-blockdernier-magazine-block-1) > .layout__region {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .row:has(.block-views-blockdernier-magazine-block-1) {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .row:has(.block-views-blockdernier-magazine-block-1) > [class*="col"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* ===== 3 BLOCS EN COLONNES ÉGALES ===== */
#block-vdm-newsletter,
#block-vdm-contacteznous,
#block-vdm-socialmedialinks {
	float: left !important;
	width: 33.33% !important;
	box-sizing: border-box !important;
	text-align: center !important;
	padding: 40px 20px 40px !important;
	background: #f0f0f0 !important;
	border-right: 1px solid #d0d0d0 !important;
	min-height: 260px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	/* titre en haut, contenu centré en dessous */
	justify-content: flex-start !important;
}

#block-vdm-socialmedialinks {
	border-right: none !important;
}

/* Supprime les marges des wrappers internes pour aligner les titres */
#block-vdm-newsletter .block-content,
#block-vdm-newsletter .block-content__content,
#block-vdm-newsletter .block-content__content > p:first-child,
#block-vdm-contacteznous .block-content,
#block-vdm-contacteznous .block-content__content,
#block-vdm-contacteznous .block-content__content > p:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Titre SUIVEZ-NOUS supprimé */
#block-vdm-socialmedialinks::before {
	display: none !important;
}

/* Titres footer cachés */
body #block-vdm-newsletter strong,
body #block-vdm-contacteznous strong,
body #block-vdm-newsletter h2,
body #block-vdm-contacteznous h2,
body #block-vdm-socialmedialinks h2,
body #block-vdm-socialmedialinks strong {
	display: none !important;
}

/* ===== BOUTONS FOOTER ===== */
a.footer-btn {
	background-color: #00475a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 10px 28px !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	transition: background 0.2s !important;
}

a.footer-btn:hover {
	background-color: #27a9d8 !important;
	color: #fff !important;
}

/* ===== ICÔNES RÉSEAUX SOCIAUX ===== */
#block-vdm-socialmedialinks .social-media-links--platforms {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 18px !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

#block-vdm-socialmedialinks .social-media-link-icon--instagram,
#block-vdm-socialmedialinks .social-media-link-icon--facebook {
	background: none !important;
	border: 2px solid #00475a !important;
	border-radius: 50% !important;
	padding: 6px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 28px !important;
	color: #00475a !important;
	transition: color 0.2s, border-color 0.2s !important;
	text-decoration: none !important;
	width: 44px !important;
	height: 44px !important;
}

#block-vdm-socialmedialinks .social-media-link-icon--instagram:hover,
#block-vdm-socialmedialinks .social-media-link-icon--facebook:hover {
	color: #27a9d8 !important;
	border-color: #27a9d8 !important;
}

/* ===== CLASSES CUSTOM FOOTER WRAPPER (HTML personnalisé) ===== */
.footer-wrapper {
	background-color: rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	margin: 0 auto 18px auto;
	max-width: 1200px;
}

.footer-inner {
	display: flex;
	align-items: stretch;
	padding: 32px 20px;
}

.footer-col {
	flex: 1;
	padding: 0 24px;
}

.footer-col--border-right {
	border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.footer-col--center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-col--last {
	padding: 0 0 0 24px;
}

.footer-col-title {
	color: #ffffff;
	font-size: 0.8em;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.footer-col-text {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.88em;
	line-height: 1.8;
}

.footer-col-text--small {
	font-size: 0.85em;
	line-height: 1.7;
	margin-bottom: 16px;
}

.footer-logo {
	max-width: 120px;
	height: auto;
}

.footer-acceo-link {
	align-items: center;
	color: #7dd3fc;
	display: inline-flex;
	font-size: 0.78em;
	gap: 6px;
	text-decoration: none;
	margin-top: 8px;
}

.footer-acceo-link:hover {
	text-decoration: underline;
}

.footer-acceo-link span {
	text-decoration: underline;
}

/* ---- Responsive footer ---- */
@media (max-width: 768px) {
	#block-vdm-newsletter,
	#block-vdm-contacteznous,
	#block-vdm-socialmedialinks {
		float: none !important;
		width: 100% !important;
		border-right: none !important;
		border-bottom: 1px solid #d0d0d0 !important;
	}

	.footer-inner {
		flex-direction: column;
		gap: 24px;
		padding: 24px 16px;
	}

	.footer-col--border-right {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		padding-bottom: 20px;
	}

	.footer-col--last {
		padding: 0 24px;
	}
}


/* ---- Responsive footer ---- */
@media (max-width: 768px) {
	#block-vdm-newsletter,
	#block-vdm-contacteznous,
	#block-vdm-socialmedialinks {
		float: none !important;
		width: 100% !important;
		border-right: none !important;
		border-bottom: 1px solid #d0d0d0 !important;
	}

	.footer-inner {
		flex-direction: column;
		gap: 24px;
		padding: 24px 16px;
	}

	.footer-col--border-right {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		padding-bottom: 20px;
	}

	.footer-col--last {
		padding: 0 24px;
	}
}

/* ========================================================================= */

/* --- Tout conteneur parent : fond transparent --- */
.hero-carousel-wrapper ~ section,
.hero-carousel-wrapper ~ .region-primary-menu,
.hero-carousel-wrapper + .region-primary-menu,
nav#block-vdm-main-menu.menu-main,
.region-primary-menu,
.contextual-region.block-menu,
section.region-primary-menu {
background-color: transparent !important;
background: transparent !important;
}

/* --- Bloc nav : centrage + chevauchement carousel --- */
.region-primary-menu,
nav#block-vdm-main-menu,
nav.block-menu.navigation.menu-main {
position: relative;
z-index: 5;
margin-top: -20px;
display: flex;
justify-content: center;
padding: 0 1rem;
box-sizing: border-box;
}

/* Cacher le titre h2 visually-hidden s'il prend de l'espace */
nav#block-vdm-main-menu h2 {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
margin: -1px;
padding: 0;
border: 0;
}

/* --- Liste UL : flex horizontal avec gap entre les cartes --- */
nav#block-vdm-main-menu .navbar-nav,
nav#block-vdm-main-menu ul.menu,
nav.block-menu ul.menu.navbar-nav {
display: flex !important;
flex-wrap: nowrap;
justify-content: center;
align-items: stretch;
gap: 12px;
padding: 0;
margin: 0 auto;
max-width: 1100px;
width: 100%;
list-style: none;
background: transparent;
box-shadow: none;
}

/* --- Chaque élément LI : carte blanche individuelle --- */
nav#block-vdm-main-menu .menu-icon,
nav#block-vdm-main-menu .nav-item,
nav.block-menu .nav-item,
nav.block-menu .menu-icon {
flex: 1 1 0;
min-width: 0;
background: #ffffff;
border-radius: 8px;
margin: 0;
padding: 0;
list-style: none;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10), 0 1px 4px rgba(0, 0, 0, 0.06);
border: none;
overflow: hidden;
transition: box-shadow 0.2s ease, transform 0.2s ease;
}

nav#block-vdm-main-menu .menu-icon:hover,
nav#block-vdm-main-menu .nav-item:hover,
nav.block-menu .nav-item:hover,
nav.block-menu .menu-icon:hover {
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.08);
transform: translateY(-2px);
}

/* --- Lien : icône + texte côte à côte --- */
nav#block-vdm-main-menu .nav-link,
nav.block-menu .nav-link {
display: flex !important;
align-items: center;
gap: 0.85rem;
padding: 1.15rem 1.4rem;
color: #1b2a4a !important;
font-weight: 700;
font-size: 0.95rem;
text-decoration: none !important;
white-space: normal;
line-height: 1.3;
transition: background-color 0.2s ease;
border-radius: 8px;
height: 100%;
box-sizing: border-box;
}

nav#block-vdm-main-menu .nav-link:hover,
nav#block-vdm-main-menu .nav-link:focus,
nav.block-menu .nav-link:hover,
nav.block-menu .nav-link:focus {
color: #0072b9 !important;
text-decoration: none !important;
}

/* --- Icône du menu --- */
nav#block-vdm-main-menu .menu-link-icon,
nav.block-menu .menu-link-icon {
width: 48px;
height: 48px;
min-width: 48px;
object-fit: contain;
flex-shrink: 0;
}

/* --- Texte du lien --- */
nav#block-vdm-main-menu .menu-link-text,
nav.block-menu .menu-link-text {
color: #1b2a4a;
font-size: 1.15rem;
line-height: 1.3;
}

/* Fond général de la page */
body,
.page-container,
article.page.container {
    background: #faf8f6 !important;
}

/* Grille responsive pour les publications */
.view-id-publications .views-view-responsive-grid,
.view-id-publications .columns.is-multiline {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    justify-content: flex-start !important;
    margin: 0 auto !important;
    padding: 30px 0 !important;
    max-width: 1200px !important;
}

/* Colonne de publication */
.view-id-publications .views-view-responsive-grid > .views-view-responsive-grid__item,
.column.is-3.box_publication, 
.view-id-publications .masonry-item {
    background: #fff !important;
    box-shadow: 0 5px 15px 0 rgba(0,0,0,0.07), 0 5px 15px 0 rgba(0,0,0,0.04) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transition: box-shadow 0.2s linear, transform 0.2s linear !important;
    width: calc(25% - 30px) !important; /* 4 par ligne avec gap */
    min-width: 220px !important;
    max-width: 300px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.view-id-publications .views-view-responsive-grid > .views-view-responsive-grid__item:hover,
.column.is-3.box_publication:hover {
    box-shadow: 0 10px 25px 0 rgba(0,0,0,0.12), 0 10px 25px 0 rgba(0,0,0,0.08) !important;
    transform: translateY(-4px) scale(1.03) !important;
}

/* Image de couverture */
.view-id-publications .views-view-responsive-grid__item img,
.box_publication .image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 auto 10px auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: transform 0.2s linear !important;
}
#block-vdm-newsletter,
#block-vdm-contacteznous,
#block-vdm-socialmedialinks {
    float: left !important;
    width: 33.33% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding: 40px 20px !important;
    background: #f0f0f0 !important;
    min-height: 260px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
#block-vdm-newsletter {
    border-right: 1px solid #d0d0d0 !important;
}
#block-vdm-contacteznous {
    border-right: 1px solid #d0d0d0 !important;
    overflow: hidden !important;
}
#block-vdm-socialmedialinks {
    border-right: none !important;
    overflow: hidden !important;
}
#block-vdm-newsletter strong,
#block-vdm-contacteznous strong,
#block-vdm-socialmedialinks strong,
#block-vdm-newsletter h2,
#block-vdm-contacteznous h2,
#block-vdm-socialmedialinks h2 {
    display: none !important;
}
a.footer-btn {
    background-color: #00475a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 28px !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    margin-top: 16px !important;
    transition: background 0.2s !important;
}
a.footer-btn:hover {
    background-color: #27a9d8 !important;
    color: #fff !important;
}
#block-vdm-socialmedialinks .social-media-links--platforms {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  margin-top: 10px !important;
}
#block-vdm-socialmedialinks .social-media-link-icon--instagram,
#block-vdm-socialmedialinks .social-media-link-icon--facebook {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  color: #00475a !important;
  width: 32px !important;
  height: 32px !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}
#block-vdm-socialmedialinks .social-media-link-icon--instagram:hover,
#block-vdm-socialmedialinks .social-media-link-icon--facebook:hover {
  color: #27a9d8 !important;
}
#block-vdm-socialmedialinks .fa,
#block-vdm-socialmedialinks .fab,
#block-vdm-socialmedialinks .fa-brands {
  font-size: 32px !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}
@media (max-width: 900px) {
  #block-vdm-newsletter,
  #block-vdm-contacteznous,
  #block-vdm-socialmedialinks {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid #d0d0d0 !important;
    min-height: unset !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
  }
  #block-vdm-socialmedialinks {
    border-bottom: none !important;
  }
  #block-vdm-newsletter strong,
  #block-vdm-contacteznous strong,
  #block-vdm-socialmedialinks strong,
  #block-vdm-newsletter h2,
  #block-vdm-contacteznous h2,
  #block-vdm-socialmedialinks h2 {
    display: none !important;
  }
  #block-vdm-socialmedialinks .social-media-link-icon--instagram,
  #block-vdm-socialmedialinks .social-media-link-icon--facebook {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    width: 32px !important;
    height: 32px !important;
  }
}

/* ===================================================
   OVERRIDE FINAL — TITRES FOOTER VISIBLES ET ALIGNÉS
   =================================================== */
html body #block-vdm-newsletter,
html body #block-vdm-contacteznous,
html body #block-vdm-socialmedialinks {
  justify-content: flex-start !important;
  padding-top: 40px !important;
}

/* Cacher le ::before SUIVEZ-NOUS injecté (le vrai h2 existe dans le HTML) */
html body #block-vdm-socialmedialinks::before {
  display: none !important;
  content: none !important;
}

/* Afficher et harmoniser tous les titres h2/strong des 3 blocs footer */
html body #block-vdm-newsletter h2,
html body #block-vdm-newsletter strong,
html body #block-vdm-contacteznous h2,
html body #block-vdm-contacteznous strong,
html body #block-vdm-socialmedialinks h2,
html body #block-vdm-socialmedialinks strong {
  display: block !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  color: #00475a !important;
  text-transform: uppercase !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  letter-spacing: 1px !important;
  font-family: "Orkney Bold", Arial, sans-serif !important;
  text-align: center !important;
  width: 100% !important;
  line-height: 1.2 !important;
  min-height: unset !important;
}


/* =====================================================================
   FORMULAIRE DE CONTACT — style exact mairie-marseille15-16.fr
   Couleurs extraites du thème WordPress source
   Cible : #webform-submission-contact-add-form (Drupal Webform)
   ===================================================================== */

/* ── Titre de la page ── */
.path-webform #block-vdm-page-title h1,
.path-webform h1.page-title,
.path-webform h1 {
  font-size: 48px;
  font-weight: 800;
  color: #0099cc;
  line-height: 1em;
  margin-bottom: 32px;
}

/* ── Conteneur principal du formulaire ── */
#webform-submission-contact-add-form {
  background: #fff;
  max-width: 780px;
  margin: 0 auto;
  padding: 0 20px 40px;
}

/* ── Chaque champ ── */
#webform-submission-contact-add-form .js-form-item {
  margin-bottom: 0.75rem;
}

/* ── Labels ── */
#webform-submission-contact-add-form label {
  display: block;
  font-weight: 700;
  font-size: 1rem;
  color: #363636;
  margin-bottom: 0.5em;
}

/* Indicateur requis (*) retiré sur formulaire de contact */
#webform-submission-contact-add-form .form-required::after {
  content: "" !important;
  display: none !important;
}

/* ── Inputs, selects, textarea ── */
#webform-submission-contact-add-form input.form-control,
#webform-submission-contact-add-form input[type="text"],
#webform-submission-contact-add-form input[type="email"],
#webform-submission-contact-add-form input[type="tel"],
#webform-submission-contact-add-form select.form-control,
#webform-submission-contact-add-form textarea.form-control {
  width: 100%;
  background: #fff;
  border: 1px solid #dbdbdb;
  border-radius: 4px;
  padding: calc(0.375em - 1px) calc(0.625em - 1px);
  font-size: 1rem;
  color: #363636;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
  height: 2.25em;
  line-height: 1.5;
}

#webform-submission-contact-add-form input.form-control:hover,
#webform-submission-contact-add-form input[type="text"]:hover,
#webform-submission-contact-add-form input[type="email"]:hover,
#webform-submission-contact-add-form input[type="tel"]:hover,
#webform-submission-contact-add-form select.form-control:hover {
  border-color: #b5b5b5;
}

#webform-submission-contact-add-form input.form-control:focus,
#webform-submission-contact-add-form input[type="text"]:focus,
#webform-submission-contact-add-form input[type="email"]:focus,
#webform-submission-contact-add-form input[type="tel"]:focus,
#webform-submission-contact-add-form select.form-control:focus,
#webform-submission-contact-add-form textarea.form-control:focus {
  border-color: #3273dc;
  outline: none;
  box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}

/* ── Textarea ── */
#webform-submission-contact-add-form textarea.form-control {
  height: auto;
  min-height: 120px;
  max-height: 600px;
  resize: vertical;
  padding: 0.625em;
}

/* ── Champ select_other (thématiques) ── */
#webform-submission-contact-add-form fieldset.js-webform-select-other {
  border: none;
  padding: 0;
  margin: 0;
}

#webform-submission-contact-add-form fieldset.js-webform-select-other legend {
  font-weight: 700;
  font-size: 1rem;
  color: #363636;
  margin-bottom: 0.5em;
  padding: 0;
  float: none;
  width: 100%;
}

/* ── Téléphone : intl-tel-input wrapper ── */
#webform-submission-contact-add-form .iti {
  width: 100%;
}

#webform-submission-contact-add-form .iti input[type="tel"] {
  width: 100%;
  padding-left: 52px;
}

/* ── Zone de dépôt de fichier (webform managed file) ── */
#webform-submission-contact-add-form .js-form-type-managed-file,
#webform-submission-contact-add-form .form-type-managed-file {
  border: 2px dashed #dbdbdb;
  border-radius: 4px;
  padding: 32px 20px;
  text-align: center;
  background: #fafafa;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

#webform-submission-contact-add-form .js-form-type-managed-file:hover,
#webform-submission-contact-add-form .form-type-managed-file:hover {
  border-color: #0099cc;
  background: #f0f8ff;
}

#webform-submission-contact-add-form .js-form-type-managed-file label,
#webform-submission-contact-add-form .form-type-managed-file label {
  font-weight: 700;
  font-size: 1rem;
  color: #363636;
  margin-bottom: 12px;
  display: block;
  text-align: left;
}

/* Icône enveloppe au centre de la zone */
#webform-submission-contact-add-form .js-form-type-managed-file .form-managed-file::before {
  content: "\2709";
  display: block;
  font-size: 2.5rem;
  color: #b5b5b5;
  margin-bottom: 10px;
}

/* Texte d'aide dans la zone de dépôt */
#webform-submission-contact-add-form .js-form-type-managed-file .description::before {
  content: "Cliquez ou déplacez un fichier dans cette zone pour le téléverser.";
  display: block;
  font-size: 0.9rem;
  color: #7a7a7a;
}

#webform-submission-contact-add-form .js-form-type-managed-file .form-text {
  display: none;
}

/* ── Champ fichier natif (non managed) ── */
#webform-submission-contact-add-form input[type="file"] {
  border: 2px dashed #dbdbdb;
  border-radius: 4px;
  padding: 24px 20px;
  width: 100%;
  background: #fafafa;
  cursor: pointer;
  box-sizing: border-box;
  font-size: 0.9rem;
  color: #7a7a7a;
}

/* ── Checkbox newsletter ── */
#webform-submission-contact-add-form .js-form-type-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0.75rem;
}

#webform-submission-contact-add-form .js-form-type-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: #0099cc;
  cursor: pointer;
}

#webform-submission-contact-add-form .js-form-type-checkbox label {
  font-weight: 400;
  font-size: 0.95rem;
  color: #4a4a4a;
  margin: 0;
  cursor: pointer;
}

#webform-submission-contact-add-form .js-form-type-checkbox .description p {
  font-size: 0.85rem;
  color: #7a7a7a;
  margin-top: 4px;
}

/* ── Bouton "Envoyer !" ── */
#webform-submission-contact-add-form .webform-actions input[type="submit"],
#webform-submission-contact-add-form .form-actions input[type="submit"],
#webform-submission-contact-add-form button[type="submit"] {
  background: #0099cc;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.28px;
  cursor: pointer;
  transition: background 0.2s ease;
  line-height: 20px;
}

#webform-submission-contact-add-form .webform-actions input[type="submit"]:hover,
#webform-submission-contact-add-form .form-actions input[type="submit"]:hover,
#webform-submission-contact-add-form button[type="submit"]:hover {
  background: #ef310f;
  color: #fff;
}

/* =====================================================================
   HARMONISATION GLOBALE DES FORMULAIRES (WEBFORMS)
   S'applique à TOUS les formulaires (Abonnement et Contact)
   Pour un rendu moderne, parfait et uniforme style Mairie 15/16
   ===================================================================== */

/* ── Reset local & Fond global pour les pages de formulaires ── */
.path-webform,
.path-form--abonnement-au-magazine,
.path-form--contact,
.page-node-type-webform {
  background: #faf8f6 !important;
}

/* ── Titre des pages de formulaire (Uniforme, centré, grand, Orkney Bold) ── */
.path-webform h1.page-title,
.path-webform h1,
.path-form--abonnement-au-magazine h1.page-title,
.path-form--abonnement-au-magazine h1,
.path-form--contact h1.page-title,
.path-form--contact h1,
.page-node-type-webform h1.page-title,
.page-node-type-webform h1 {
  font-family: "Orkney Bold", Arial, sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: #1a3c6b !important;
  line-height: 1.2 !important;
  margin-top: 40px !important;
  margin-bottom: 24px !important;
  text-align: center !important;
  letter-spacing: -0.5px !important;
}

/* ── Conteneur principal (Effet carte identique sur tous les formulaires) ── */
#webform-submission-contact-add-form,
#webform-submission-abonnement-au-magazine-add-form {
  background: #ffffff !important;
  max-width: 800px !important;
  margin: 0 auto 60px auto !important;
  padding: 40px !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e1e8f0 !important;
  box-sizing: border-box !important;
}

/* ── Texte descriptif / Intro sous le titre ── */
#webform-submission-contact-add-form > .webform-description,
#webform-submission-contact-add-form .webform-element-description:first-child,
#webform-submission-abonnement-au-magazine-add-form > .webform-description,
#webform-submission-abonnement-au-magazine-add-form .webform-element-description:first-child,
.path-webform .field--name-body p,
.path-form--abonnement-au-magazine .field--name-body p {
  font-family: "Orkney", Arial, sans-serif !important;
  font-size: 1.05rem !important;
  color: #4a5568 !important;
  line-height: 1.65 !important;
  margin-bottom: 24px !important;
}

/* ── Groupes de champs / Fieldsets / Sections ── */
#webform-submission-contact-add-form fieldset.js-webform-fieldset,
#webform-submission-contact-add-form details.js-webform-fieldset,
#webform-submission-abonnement-au-magazine-add-form fieldset.js-webform-fieldset,
#webform-submission-abonnement-au-magazine-add-form details.js-webform-fieldset {
  border: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Titres de rubriques */
#webform-submission-contact-add-form fieldset.js-webform-fieldset legend,
#webform-submission-contact-add-form details.js-webform-fieldset > summary,
#webform-submission-contact-add-form .fieldset-legend,
#webform-submission-contact-add-form h2,
#webform-submission-abonnement-au-magazine-add-form fieldset.js-webform-fieldset legend,
#webform-submission-abonnement-au-magazine-add-form details.js-webform-fieldset > summary,
#webform-submission-abonnement-au-magazine-add-form .fieldset-legend,
#webform-submission-abonnement-au-magazine-add-form h2 {
  font-family: "Orkney Bold", Arial, sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #1a3c6b !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  padding: 0 !important;
  border: none !important;
  float: none !important;
  width: 100% !important;
  display: block !important;
}

/* Soulignement de couleur sous les titres de rubriques */
#webform-submission-contact-add-form fieldset.js-webform-fieldset legend::after,
#webform-submission-contact-add-form details.js-webform-fieldset > summary::after,
#webform-submission-contact-add-form h2::after,
#webform-submission-abonnement-au-magazine-add-form fieldset.js-webform-fieldset legend::after,
#webform-submission-abonnement-au-magazine-add-form details.js-webform-fieldset > summary::after,
#webform-submission-abonnement-au-magazine-add-form h2::after {
  content: "" !important;
  display: block !important;
  height: 3px !important;
  width: 50px !important;
  background: #0099cc !important;
  margin-top: 8px !important;
}

/* ── Espacement des form-items ── */
#webform-submission-contact-add-form .js-form-item,
#webform-submission-abonnement-au-magazine-add-form .js-form-item {
  margin-bottom: 1.25rem !important;
}

/* ── Labels des champs ── */
#webform-submission-contact-add-form label,
#webform-submission-abonnement-au-magazine-add-form label {
  display: block !important;
  font-family: "Orkney", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: #2d3748 !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

/* Éléments requis (*) en rouge - uniquement pour le magazine */
#webform-submission-abonnement-au-magazine-add-form .form-required::after,
#webform-submission-abonnement-au-magazine-add-form label.form-required::after {
  content: " *" !important;
  color: #e53e3e !important;
  font-weight: 700 !important;
}

/* Éléments requis (*) retirés pour le formulaire de contact */
#webform-submission-contact-add-form .form-required::after,
#webform-submission-contact-add-form label.form-required::after {
  content: "" !important;
  display: none !important;
}

/* ── Inputs, select, selects (Texte, email, tel, etc.) ── */
#webform-submission-contact-add-form input.form-control,
#webform-submission-contact-add-form input[type="text"],
#webform-submission-contact-add-form input[type="email"],
#webform-submission-contact-add-form input[type="tel"],
#webform-submission-contact-add-form select.form-control,
#webform-submission-contact-add-form textarea.form-control,
#webform-submission-abonnement-au-magazine-add-form input.form-control,
#webform-submission-abonnement-au-magazine-add-form input[type="text"],
#webform-submission-abonnement-au-magazine-add-form input[type="email"],
#webform-submission-abonnement-au-magazine-add-form input[type="tel"],
#webform-submission-abonnement-au-magazine-add-form select.form-control,
#webform-submission-abonnement-au-magazine-add-form textarea.form-control {
  width: 100% !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e0 !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: "Orkney", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  color: #2d3748 !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
  height: 44px !important;
  line-height: 1.5 !important;
}

/* Hover, Focus, Active */
#webform-submission-contact-add-form input.form-control:hover,
#webform-submission-contact-add-form input[type="text"]:hover,
#webform-submission-contact-add-form input[type="email"]:hover,
#webform-submission-contact-add-form input[type="tel"]:hover,
#webform-submission-contact-add-form select.form-control:hover,
#webform-submission-abonnement-au-magazine-add-form input.form-control:hover,
#webform-submission-abonnement-au-magazine-add-form input[type="text"]:hover,
#webform-submission-abonnement-au-magazine-add-form input[type="email"]:hover,
#webform-submission-abonnement-au-magazine-add-form input[type="tel"]:hover,
#webform-submission-abonnement-au-magazine-add-form select.form-control:hover {
  border-color: #a0aec0 !important;
}

#webform-submission-contact-add-form input.form-control:focus,
#webform-submission-contact-add-form input[type="text"]:focus,
#webform-submission-contact-add-form input[type="email"]:focus,
#webform-submission-contact-add-form input[type="tel"]:focus,
#webform-submission-contact-add-form select.form-control:focus,
#webform-submission-contact-add-form textarea.form-control:focus,
#webform-submission-abonnement-au-magazine-add-form input.form-control:focus,
#webform-submission-abonnement-au-magazine-add-form input[type="text"]:focus,
#webform-submission-abonnement-au-magazine-add-form input[type="email"]:focus,
#webform-submission-abonnement-au-magazine-add-form input[type="tel"]:focus,
#webform-submission-abonnement-au-magazine-add-form select.form-control:focus,
#webform-submission-abonnement-au-magazine-add-form textarea.form-control:focus {
  border-color: #0099cc !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 153, 204, 0.15) !important;
  background-color: #ffffff !important;
}

/* ── Zone Textarea (Messages, adresse complète, etc.) ── */
#webform-submission-contact-add-form textarea.form-control,
#webform-submission-abonnement-au-magazine-add-form textarea.form-control {
  height: auto !important;
  min-height: 120px !important;
  resize: vertical !important;
  padding: 12px 14px !important;
}

/* ── Thématiques : select_other ── */
#webform-submission-contact-add-form fieldset.js-webform-select-other {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#webform-submission-contact-add-form fieldset.js-webform-select-other legend {
  font-family: "Orkney", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: #2d3748 !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}

/* ── Téléphone : intl-tel-input wrapper ── */
#webform-submission-contact-add-form .iti {
  width: 100% !important;
}

#webform-submission-contact-add-form .iti input[type="tel"] {
  width: 100% !important;
  padding-left: 52px !important;
}

/* ── Zone de dépôt de fichier (webform managed file) ── */
#webform-submission-contact-add-form .js-form-type-managed-file,
#webform-submission-contact-add-form .form-type-managed-file {
  border: 2px dashed #cbd5e0 !important;
  border-radius: 8px !important;
  padding: 32px 20px !important;
  text-align: center !important;
  background: #f7fafc !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background-color 0.2s !important;
}

#webform-submission-contact-add-form .js-form-type-managed-file:hover,
#webform-submission-contact-add-form .form-type-managed-file:hover {
  border-color: #0099cc !important;
  background-color: #edf2f7 !important;
}

#webform-submission-contact-add-form .js-form-type-managed-file label,
#webform-submission-contact-add-form .form-type-managed-file label {
  font-family: "Orkney", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: #2d3748 !important;
  margin-bottom: 12px !important;
  display: block !important;
  text-align: left !important;
}

/* Icône enveloppe au centre de la zone de dépôt */
#webform-submission-contact-add-form .js-form-type-managed-file .form-managed-file::before {
  content: "\2709" !important;
  display: block !important;
  font-size: 2.5rem !important;
  color: #a0aec0 !important;
  margin-bottom: 10px !important;
}

/* Texte d'aide zone dépôt (Masquer les instructions de taille, type et nombre d'origine) */
#webform-submission-contact-add-form .js-form-type-managed-file .description,
#webform-submission-contact-add-form .form-type-managed-file .description {
  font-size: 0 !important;
  margin-top: 10px !important;
}

#webform-submission-contact-add-form .js-form-type-managed-file .description::before,
#webform-submission-contact-add-form .form-type-managed-file .description::before {
  content: "Cliquez ou déposez un fichier dans cette zone pour le téléverser." !important;
  display: block !important;
  font-size: 0.9rem !important;
  color: #718096 !important;
}

#webform-submission-contact-add-form .js-form-type-managed-file .file-upload-help,
#webform-submission-contact-add-form .js-form-type-managed-file .form-text,
#webform-submission-contact-add-form .form-type-managed-file .file-upload-help,
#webform-submission-contact-add-form .form-type-managed-file .form-text,
#webform-submission-contact-add-form .file-upload-help,
#webform-submission-contact-add-form .file-upload-help-info {
  display: none !important;
}

/* Masquer le bouton de transfert / upload (le bouton "Parcourir" suffit) */
#webform-submission-contact-add-form .js-form-type-managed-file input[type="submit"],
#webform-submission-contact-add-form .js-form-type-managed-file button[type="submit"],
#webform-submission-contact-add-form .form-type-managed-file input[type="submit"],
#webform-submission-contact-add-form .form-type-managed-file button[type="submit"],
#webform-submission-contact-add-form .js-form-type-managed-file .js-form-submit,
#webform-submission-contact-add-form .form-type-managed-file .js-form-submit {
  display: none !important;
}

/* Champ fichier natif (non managed) */
#webform-submission-contact-add-form input[type="file"] {
  border-radius: 8px !important;
  padding: 24px 20px !important;
  width: 100% !important;
  background: #f7fafc !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  font-size: 0.9rem !important;
  color: #718096 !important;
}

/* ── Grille 2 colonnes : Prénom / Nom ── */
#webform-submission-contact-add-form .webform-layout-columns,
#webform-submission-contact-add-form .js-webform-flattened-two-columns,
#webform-submission-abonnement-au-magazine-add-form .webform-layout-columns,
#webform-submission-abonnement-au-magazine-add-form .js-webform-flattened-two-columns {
  display: flex !important;
  gap: 20px !important;
  margin-bottom: 0 !important;
}

#webform-submission-contact-add-form .webform-layout-columns > .js-form-item,
#webform-submission-contact-add-form .js-webform-flattened-two-columns > .js-form-item,
#webform-submission-abonnement-au-magazine-add-form .webform-layout-columns > .js-form-item,
#webform-submission-abonnement-au-magazine-add-form .js-webform-flattened-two-columns > .js-form-item {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Case de consentement / Options à cocher de Newsletter etc ── */
/* Masquer l'entête/titre au-dessus du bouton d'inscription newsletter (on garde seulement le label à droite) */
#webform-submission-contact-add-form .webform-element--newsletter legend,
#webform-submission-contact-add-form .webform-element--newsletter .fieldset-legend,
#webform-submission-contact-add-form .webform-element--newsletter h2,
#webform-submission-contact-add-form .webform-element--newsletter h3,
#webform-submission-contact-add-form .webform-element--newsletter label:not(.option):not([for*="edit-newsletter"]),
#webform-submission-contact-add-form [class*="newsletter"] legend,
#webform-submission-contact-add-form [class*="newsletter"] .fieldset-legend,
#webform-submission-contact-add-form [class*="newsletter"] h2,
#webform-submission-contact-add-form [class*="newsletter"] h3,
#webform-submission-contact-add-form [class*="newsletter"] label:not(.option),
#webform-submission-contact-add-form [id*="newsletter"] legend,
#webform-submission-contact-add-form [id*="newsletter"] .fieldset-legend,
#webform-submission-contact-add-form [id*="newsletter"] h2,
#webform-submission-contact-add-form [id*="newsletter"] h3,
#webform-submission-contact-add-form [id*="newsletter"] label:not(.option) {
  display: none !important;
}

#webform-submission-contact-add-form .js-form-type-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

#webform-submission-contact-add-form .js-form-type-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  accent-color: #0099cc !important;
  cursor: pointer !important;
}

#webform-submission-contact-add-form .js-form-type-checkbox label {
  font-family: "Orkney", Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: #1a3c6b !important;
  margin: 0 !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
  display: inline-block !important;
}

#webform-submission-contact-add-form .js-form-type-checkbox .description p {
  font-size: 0.85rem !important;
  color: #718096 !important;
  margin-top: 4px !important;
}

/* Case de consentement pour le formulaire magazine masquée à la demande */
#webform-submission-abonnement-au-magazine-add-form .js-form-type-checkbox {
  display: none !important;
}

/* ── Description de champ / Mentions légales NB en bas de formulaire ── */
#webform-submission-contact-add-form .webform-element-description,
#webform-submission-contact-add-form .description,
#webform-submission-contact-add-form .webform-element--description,
#webform-submission-abonnement-au-magazine-add-form .webform-element-description,
#webform-submission-abonnement-au-magazine-add-form .description,
#webform-submission-abonnement-au-magazine-add-form .webform-element--description {
  font-family: "Orkney", Arial, sans-serif !important;
  font-size: 0.85rem !important;
  color: #718096 !important;
  line-height: 1.6 !important;
  margin-top: 10px !important;
  background: #f7fafc !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
}

/* ── Ligne de séparation ── */
#webform-submission-contact-add-form hr,
#webform-submission-contact-add-form .webform-horizontal-rule,
#webform-submission-abonnement-au-magazine-add-form hr,
#webform-submission-abonnement-au-magazine-add-form .webform-horizontal-rule {
  border: none !important;
  border-top: 1px solid #e2e8f0 !important;
  margin: 36px 0 !important;
  display: block !important;
  height: 1px !important;
  width: 100% !important;
}

/* ── Actions de validation (Boutons submit) ── */
#webform-submission-contact-add-form .webform-actions,
#webform-submission-contact-add-form .form-actions,
#webform-submission-abonnement-au-magazine-add-form .webform-actions,
#webform-submission-abonnement-au-magazine-add-form .form-actions {
  margin-top: 24px !important;
  padding-top: 0 !important;
  text-align: left !important;
}
#webform-submission-contact-add-form .webform-element-description,
#webform-submission-contact-add-form .description,
#webform-submission-contact-add-form .webform-element--description,
#webform-submission-abonnement-au-magazine-add-form .webform-element-description,
#webform-submission-abonnement-au-magazine-add-form .description,
#webform-submission-abonnement-au-magazine-add-form .webform-element--description {
  font-family: "Orkney", Arial, sans-serif !important;
  font-size: 0.85rem !important;
  color: #718096 !important;
  line-height: 1.6 !important;
  /*! margin-top: 10px !important; */
  background: #f7fafc !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  /*! border-left: 3px solid #cbd5e0 !important; */
}

#webform-submission-contact-add-form .webform-actions input[type="submit"],
#webform-submission-contact-add-form .form-actions input[type="submit"],
#webform-submission-contact-add-form button[type="submit"],
#webform-submission-abonnement-au-magazine-add-form .webform-actions input[type="submit"],
#webform-submission-abonnement-au-magazine-add-form .form-actions input[type="submit"],
#webform-submission-abonnement-au-magazine-add-form button[type="submit"] {
  background: #0099cc !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 12px 36px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: "Orkney Bold", Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
  box-shadow: 0 4px 10px rgba(0, 153, 204, 0.2) !important;
  display: inline-block !important;
  line-height: 1.4 !important;
}

#webform-submission-contact-add-form .webform-actions input[type="submit"]:hover,
#webform-submission-contact-add-form .form-actions input[type="submit"]:hover,
#webform-submission-contact-add-form button[type="submit"]:hover,
#webform-submission-abonnement-au-magazine-add-form .webform-actions input[type="submit"]:hover,
#webform-submission-abonnement-au-magazine-add-form .form-actions input[type="submit"]:hover,
#webform-submission-abonnement-au-magazine-add-form button[type="submit"]:hover {
  background-color: #1a3c6b !important;
  box-shadow: 0 4px 14px rgba(26, 60, 107, 0.25) !important;
}

#webform-submission-contact-add-form .webform-actions input[type="submit"]:active,
#webform-submission-contact-add-form .form-actions input[type="submit"]:active,
#webform-submission-contact-add-form button[type="submit"]:active,
#webform-submission-abonnement-au-magazine-add-form .webform-actions input[type="submit"]:active,
#webform-submission-abonnement-au-magazine-add-form .form-actions input[type="submit"]:active,
#webform-submission-abonnement-au-magazine-add-form button[type="submit"]:active {
  transform: translateY(1px) !important;
}

/* ── Messages de confirmation / Erreurs ── */
#webform-submission-contact-add-form .messages--status,
#webform-submission-abonnement-au-magazine-add-form .messages--status,
.webform-confirmation--contact,
.webform-confirmation--abonnement-au-magazine {
  background: #f0fbff !important;
  border-left: 4px solid #0099cc !important;
  padding: 14px 18px !important;
  border-radius: 0 4px 4px 0 !important;
  color: #1a3c6b !important;
  font-family: "Orkney", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  margin: 16px 0 !important;
}

#webform-submission-contact-add-form .messages--error,
#webform-submission-abonnement-au-magazine-add-form .messages--error {
  background: #fff5f5 !important;
  border-left: 4px solid #e53e3e !important;
  padding: 14px 18px !important;
  border-radius: 0 4px 4px 0 !important;
  color: #c53030 !important;
  font-family: "Orkney", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  margin: 16px 0 !important;
}

/* ── Responsive adaptation ── */
@media (max-width: 768px) {
  #webform-submission-contact-add-form,
  #webform-submission-abonnement-au-magazine-add-form {
    padding: 24px 20px !important;
    margin-bottom: 40px !important;
  }

  .path-webform h1.page-title,
  .path-webform h1,
  .path-form--abonnement-au-magazine h1.page-title,
  .path-form--abonnement-au-magazine h1 {
    font-size: 1.75rem !important;
    margin-top: 24px !important;
  }

  #webform-submission-contact-add-form .webform-layout-columns,
  #webform-submission-contact-add-form .js-webform-flattened-two-columns,
  #webform-submission-abonnement-au-magazine-add-form .webform-layout-columns,
  #webform-submission-abonnement-au-magazine-add-form .js-webform-flattened-two-columns {
    flex-direction: column !important;
    gap: 1.25rem !important;
  }
}

/* =====================================================================
   FORMULAIRE ABONNEMENT AU MAGAZINE — Couleurs spécifiques des boutons
   ===================================================================== */

/* Bouton "Je souhaite recevoir" — BLEU */
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="souhaite recevoir"],
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="Je souhaite"] {
  background: #0099cc !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(0, 153, 204, 0.25) !important;
}

#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="souhaite recevoir"]:hover,
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="Je souhaite"]:hover {
  background: #007aa3 !important;
  box-shadow: 0 4px 14px rgba(0, 122, 163, 0.3) !important;
}

/* Bouton "Vous ne souhaitez plus recevoir le magazine de la ville ?" — ROUGE */
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="souhaitez plus"],
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="ne souhaitez plus"],
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="ne souhaitez"] {
  background: #e53e3e !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(229, 62, 62, 0.25) !important;
}

#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="souhaitez plus"]:hover,
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="ne souhaitez plus"]:hover,
#webform-submission-abonnement-au-magazine-add-form input[type="submit"][value*="ne souhaitez"]:hover {
  background: #c53030 !important;
  box-shadow: 0 4px 14px rgba(197, 48, 48, 0.3) !important;
}

/* =====================================================================
   FORMULAIRE DE CONTACT — Masquer "Types autorisés : gif, jpg, ..."
   ===================================================================== */

/* Cacher entièrement la description dans la zone pièce jointe */
#webform-submission-contact-add-form .js-form-type-managed-file .description,
#webform-submission-contact-add-form .form-type-managed-file .description,
#webform-submission-contact-add-form .js-form-type-managed-file .description p,
#webform-submission-contact-add-form .form-type-managed-file .description p {
  display: none !important;
}



@media (max-width: 768px) {
  .views-view-responsive-grid,
  .columns.is-multiline {
    justify-content: center !important;
  }
}

@media (max-width: 768px) {
  /* Footer : centrer tous les contenus */
  .site-footer {
    text-align: center !important;
  }

  .site-footer h2,
  .site-footer p,
  .site-footer a,
  .block-adresse,
  .block-allo {
    text-align: center !important;
  }

  .site-footer img,
  .block-allo img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  /* Reste de vos règles mobile... */
  .views-view-responsive-grid,
  .columns.is-multiline {
    justify-content: center !important;
  }

  .demarches-categories__grid {
    grid-template-columns: 1fr !important;
  }

  #block-vdm-newsletter p,
  #block-vdm-newsletter a,
  #block-vdm-newsletter .block-content,
  #block-vdm-contacteznous p,
  #block-vdm-contacteznous a,
  #block-vdm-contacteznous .block-content,
  #block-vdm-socialmedialinks p,
  #block-vdm-socialmedialinks a,
  #block-vdm-socialmedialinks .block-content {
    text-align: center !important;
  }
}

@media (max-width: 575.98px) {
.hero-carousel {
height: 142px;
}
}
@media (max-width: 768px) {
  /* ========== CENTRAGE GLOBAL ========== */
  body,
  .page-container,
  h1, h2, h3, h4, h5, h6 {
    text-align: center !important;
  }

  /* ========== GRILLE & DÉMARCHES ========== */
  .views-view-responsive-grid,
  .columns.is-multiline,
  .masonry-item,
  .views-view-masonry {
    justify-content: center !important;
    text-align: center !important;
  }

  .demarches-categories__grid {
    grid-template-columns: 1fr !important;
  }

  .masonry-item {
    display: block !important;
    width: 100% !important;
    margin: 0 auto 30px !important;
  }

  .masonry-item img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }


  button.hero-carousel__arrow.hero-carousel__arrow--prev,
  button.hero-carousel__arrow.hero-carousel__arrow--next {
    display: none;
  }

  /* ========== FOOTER ========== */
  .site-footer,
  .site-footer h2,
  .site-footer p,
  .site-footer a,
  .block-adresse,
  .block-allo,
  #block-vdm-newsletter p,
  #block-vdm-newsletter a,
  #block-vdm-contacteznous p,
  #block-vdm-contacteznous a,
  #block-vdm-socialmedialinks p,
  #block-vdm-socialmedialinks a {
    text-align: center !important;
  }

  .site-footer img,
  .block-allo img {
    margin: 0 auto !important;
    display: block !important;
  }

  /* ========== CALENDRIER ========== */
  .flatpickr-calendar {
    position: relative !important;
    left: auto !important;
    margin: 0 auto !important;
  }

  /* ========== HORAIRES ========== */
  .time.datetime {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
  }

  .views-field-field-date-debut,
  .views-field-field-date-fin,
  .field--name-field-date-debut,
  .field--name-field-date-fin {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }

  /* ========== RENDEZ-VOUS ========== */
  .field--name-field-point-de-rendez-vous {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }

  .field--name-field-point-de-rendez-vous .field-item {
    font-size: 0.9rem !important;
    margin-bottom: 8px !important;
  }

  /* ========== PAGINATION ========== */
  /* ========== PAGINATION ========== */
nav ul,
ul.pagination,
.pager__items {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

ul.pagination li,
.pager__items li {
  flex-shrink: 0 !important;
  margin: 2px 1px !important;
}

ul.pagination li a,
ul.pagination li span,
.pager__items li a,
.pager__items li span,
.page-link {
  padding: 4px 8px !important;
  font-size: 0.80rem !important;
  min-width: 28px !important;
  text-align: center !important;
  white-space: nowrap !important;
  display: inline-block !important;
}

  /* ========== BOUTONS ========== */
  a.btn,
  button,
  input[type="submit"] {
    display: block !important;
    margin: 0 auto !important;
  }
}
/* Centrer le calendrier */
.flatpickr-calendar {
  position: relative !important;
  left: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}



@media (max-width:767.98px) {

    #navbar-main {
        background: var(--vdm-header-top-color);
    }
    
    .region.region-primary-menu.col-12.menu-main {
		  display: none;
		}
		.vdm-burger-logo__burger-lines {
		  width: 32px;
		}
		
		.region.region-primary-menu.col-12.menu-main.in {
		  display: block;
		}
		
		.hero-carousel__arrow {
		  display: none !important;
		}
		.section_title {
			text-align: left !important;
		}
		.vdm-fullmenu__inner {
			left: 20px;
			top: 120px;
			padding: 0;
			display: block !important;
			}
			
		.block-content.block-content--type-basic.block-content--88.block-content--view-mode-full a img {
			  float: none;
		}
			
			.vdm-fullmenu__main-link {
			text-align: left;
			padding: 5px 0;
			}
			.vdm-fullmenu__main-list li {
			border: none !important;
			}
			
			#block-vdm-herocarousel {
				margin-top: 61px;
			}
			#block-vdm-entetemobilelogorecherchemenu {
				top: 0;
				padding: 0;
			}
			.vdm-fullmenu__nav-section {
				width: 100%;
				text-align: left;
			}
}

/* MOBILE : Aggrandir la carte magazine */
@media (max-width: 768px) {
  .block-views-blockdernier-magazine-block-1 .views-field-field-image img {
    max-width: 250px !important;
  }
  
  .block-views-blockdernier-magazine-block-1 {
    padding: 30px 15px 20px !important;
  }
}





/* MOBILE : vue "liste_des_conseils_d_arrondissement" - 1 colonne pour éviter le chevauchement des titres sous les vignettes */
@media (max-width: 768px) {
  .view-liste-des-conseils-d-arrondissement .views-view-responsive-grid {
    --views-responsive-grid--column-count: 1 !important;
    --views-responsive-grid--col-min-width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  .view-liste-des-conseils-d-arrondissement .views-view-responsive-grid__item {
    width: 100% !important;
  }
}

@media (max-width: 768px) {
  .view-id-accueils-collectifs-de-mineurs-centres-aeres .views-view-responsive-grid__item .views-field.views-field-title {
    padding-right: 22px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  #block-vdm-herocarousel {
	margin-top: -8px;
	}
	
	.vdm-header-block {
	background: transparent;
	}
}