/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* ==========================================================================
   CSS DE BASE RÉUTILISABLE - à copier sur chaque nouveau projet
   --------------------------------------------------------------------------
   Regroupe les styles génériques utilisés sur (presque) tous les sites :
   utilitaires, fil d'Ariane, FAQ, articles/blog, formulaires Contact Form 7,
   footer.

   SOMMAIRE :
   1. Utilitaires texte
   2. Fil d'Ariane (breadcrumbs)
   3. FAQ (accordéon)
   4. Articles / Blog (cartes + filtres)
   5. Formulaires (Contact Form 7)
   6. Footer
   7. Media queries générales

   Les éléments marqués "spécifique projet" (ID, couleurs de marque...)
   sont à adapter ou supprimer selon le site sur lequel ce fichier est réutilisé.
   ========================================================================== */

/* --------------------------------------------------------------------
   1. UTILITAIRES TEXTE
   -------------------------------------------------------------------- */

@font-face {
  font-family: 'Tanker';
  src: url('/wp-content/themes/dt-the7-child/fonts/Tanker/Tanker-Regular.woff2') format('woff2'),
       url('/wp-content/themes/dt-the7-child/fonts/Tanker/Tanker-Regular.woff') format('woff'),
       url('/wp-content/themes/dt-the7-child/fonts/Tanker/Tanker-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swa
  font-style: norma
}
#ubtn-3186 .ubtn-text,
#ubtn-3186 {
    font-size: 20px !important;
    line-height: 20px !important;
}
.blanc, .blanc h1, .blanc h2, .blanc h3, .blanc p, .blanc span, .blanc a, li:has(span.blanc)::marker {
	color: #F2F0E5 !important;
}
.grecaptcha-badge {
    bottom: 60px !important;
}
h2 span {
	width: fit-content;
	padding: 5px 10px;
}
h2[style*="right"]  { margin-left: auto; }
h2[style*="center"] { margin: 0 auto; }
h2[style*="left"] { margin-right: auto; }

.Sous-titre {
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif;
	font-size: 20px;
	line-height: 26px;
	font-weight: 700;
}
.Tanker {
	font-family: 'Tanker';
	font-weight: 400;
}
.fancy-header .fancy-subtitle {
    font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
}
.Chiffre {
	font-family: 'Tanker';
	font-size: 48px;
	line-height: 58px;
	font-weight: 400;
}
li {
    margin-bottom: 5px;
}
.aio-icon-header+.aio-icon-description {
    margin-top: 0 !important;
}
p.aio-icon-title.ult-responsive {
    margin-bottom: 0px !important;
}
ul.vc_grid-filter {
    margin-bottom: 40px !important;
}
ul.vc_grid-filter.vc_grid-filter-size-md .vc_grid-filter-item {
    border: 1px solid #262520;
    padding: 10px 20px 10px 20px !important;
	margin: 0px 15px 15px 0px;
}
ul.vc_grid-filter>.vc_grid-filter-item>span {
    color: #262520;
    font-size: 20px;
    line-height: 26px;
    font-family: "Tanker";
    border-radius: 100px;
}
ul.vc_grid-filter.vc_grid-filter-color-grey>:is(.vc_grid-filter-item.vc_active,.vc_grid-filter-item:hover) {
    background-color: #262520;
    color: #F5E157;
}
ul.vc_grid-filter.vc_grid-filter-color-grey>:is(.vc_grid-filter-item.vc_active,.vc_grid-filter-item:hover)>span {
    color: #F5E157;
}

/* Uniformise les vignettes de la page Actualités */
.vc_grid-item .vc_single_image-wrapper,
.vc_grid-item .wpb_single_image .vc_figure {
    display: block;
    width: 100%;
    margin: 0;
}

.vc_grid-item .vc_single_image-img {
    width: 100% !important;
    height: 200px !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
    display: block;
}

.vc_grid-item .big-img-post .vc_single_image-img {
    width: 100% !important;
    height: 600px !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
    display: block;
}
.mobile-main-nav > li.has-children > a:after, .mobile-main-nav .next-level-button svg, .mobile-main-nav > li.menu-item-language > a:after {
    color: rgba(38, 37, 32, 1);
    fill: rgba(38, 37, 32, 1);
}

.iso-container .bg-on .blog-content>:last-child, .iso-container .bg-on .project-list-content>:last-child, .iso-grid .bg-on .blog-content>:last-child, .iso-grid .bg-on .project-list-content>:last-child {
    margin-bottom: 15px !important;
}
/* Cadre stable : coins arrondis + rognage 4px pour tuer le sous-pixel Owl */
.gallery-carousel-shortcode .owl-stage-outer {
    overflow: hidden !important;
    border-radius: 8px !important;
    width: calc(100% - 4px) !important;
    margin: 0 auto !important;
}

/* Hauteur du cadre, sans toucher à la largeur que gère Owl */
.gallery-carousel-shortcode .dt-owl-item {
    height: 500px !important;
    max-height: 500px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

/* Chaîne interne : occupe tout l'item */
.gallery-carousel-shortcode .dt-owl-item > div,
.gallery-carousel-shortcode .dt-owl-item figure,
.gallery-carousel-shortcode .dt-owl-item figure > a {
    width: 100% !important;
    height: 500px !important;
    max-height: 500px !important;
    overflow: hidden !important;
    display: block !important;
    border-radius: 0 !important;
}

/* Image : remplit, recadre, et déborde de 6px pour couvrir le rognage du cadre */
.gallery-carousel-shortcode .dt-owl-item img {
    width: calc(100% + 6px) !important;
    max-width: none !important;
    height: 500px !important;
    min-height: 500px !important;
    margin-left: -3px !important;
    object-fit: cover !important;
    object-position: center !important;
    aspect-ratio: auto !important;
    --ratio: auto !important;
    display: block !important;
    border-radius: 0 !important;
}
.wp-block-search .wp-block-search__label,
.widget.widget_archive .widget-title {
	color: #262520;
    font-size: 20px;
    line-height: 26px;
    font-family: "Tanker";
    border-radius: 100px;
}
.wp-block-search__inside-wrapper {
    display: block !important;
}
.wp-block-search__button {
    margin-left: 0px !important;
}
.wp-block-search__input {
	width: 100%;
}
/* --------------------------------------------------------------------
   4bis. RÉSULTATS RECHERCHE & ARCHIVES (rendu The7 → look Actualités)
   -------------------------------------------------------------------- */

/* Image : hauteur fixe + arrondi */
body.archive article.post .blog-media img,
body.search article.post .blog-media img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 8px !important;
  display: block !important;
}
body.archive article.post .blog-media,
body.search article.post .blog-media {
  margin-bottom: 12px !important;
}
li.menu-item {
	margin-bottom: 0px !important;
}
/* Annuler la "ratio box" du thème sur le lien image (source du grand vide) */
body.archive article.post .blog-media a.rollover,
body.search article.post .blog-media a.rollover {
  padding-bottom: 0 !important;
  height: auto !important;
  display: block !important;
}
body.archive article.post .blog-media, body.search article.post .blog-media {
    padding: 0;
}
/* Enlever le fond gris (classe bg-on) des cartes */
body.archive article.post,
body.search article.post {
  background: transparent !important;
}

/* Contenu : on retire le padding interne du thème */
body.archive article.post .blog-content,
body.search article.post .blog-content {
  padding: 0 !important;
}

/* Titre : IBM Plex 24/700 */
body.archive article.post .entry-title,
body.search article.post .entry-title {
	font-family: "Tanker", Helvetica, Arial, Verdana, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 26px;
	margin: 0 0 8px 0 !important;
}
body.archive article.post .entry-title a,
body.search article.post .entry-title a {
  color: #262520 !important;
}
body.archive article.post .entry-title a:hover,
body.search article.post .entry-title a:hover {
  color: #C2443B !important;
}
/* Badge catégorie : jaune Tanker uppercase */
body.archive article.post .entry-meta .category-link a,
body.search article.post .entry-meta .category-link a {
  font-family: 'Tanker' !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  background: #F5E157 !important;
  color: #262520 !important;
  padding: 5px 10px !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
  border-radius: 0 !important;
}
/* Zoom léger au survol des images — grille Actualités (WPBakery) */
.vc_grid-item .vc_single_image-wrapper,
.vc_grid-item .wpb_single_image .vc_figure {
  overflow: hidden !important;
  border-radius: 8px !important;
  transform: translateZ(0);
}
.vc_grid-item .vc_single_image-img {
  transition: transform .45s ease !important;
  transform: translateZ(0) scale(1);
  backface-visibility: hidden;
  will-change: transform;
}
.vc_grid-item-mini.vc_is-hover .vc_single_image-img {
  transform: translateZ(0) scale(1.06) !important;
}
/* Zoom léger au survol des images d'articles (archives + recherche) */
body.archive article.post .blog-media a.rollover,
body.search article.post .blog-media a.rollover {
  overflow: hidden !important;
  border-radius: 8px !important;
  display: block !important;
}
body.archive article.post .blog-media img,
body.search article.post .blog-media img {
  transition: transform .4s ease !important;
}
body.archive article.post .blog-media a.rollover:hover img,
body.search article.post .blog-media a.rollover:hover img {
  transform: scale(1.06) !important;
}
/* Date : IBM Plex 16 */
body.archive article.post .entry-meta .data-link,
body.search article.post .entry-meta .data-link {
  font-family: "IBM Plex Sans", Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  color: #262520 !important;
  display: block !important;
}

/* Auteur masqué (provisoire — à revoir) */
body.archive article.post .entry-meta .author.vcard,
body.search article.post .entry-meta .author.vcard {
  display: none !important;
}
/* ===== SIDEBAR — Recherche & filtre années ===== */

/* Champ de recherche */
#sidebar .wp-block-search__input,
#sidebar .widget_search input[type="search"] {
  border: 1px solid #262520 !important;
  border-radius: 50px !important;
  padding: 14px 22px !important;
  outline: none !important;
}
#sidebar .wp-block-search__input:focus {
  border-color: #C2443B !important;
}

/* Si champ + bouton collés (variante "button inside") */
#sidebar .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
  border: none !important;
  padding: 0 !important;
  gap: 8px;
}

/* Bouton recherche : identique au bouton ADHÉRER */
#sidebar .wp-block-search__button.wp-element-button {
  background:
    linear-gradient(#C2443B, #C2443B),
    url('https://osons.mickael-doucet.fr/wp-content/uploads/2026/08/background-bullet-btn-20.png') center/cover no-repeat !important;
  background-blend-mode: multiply !important;
  color: #F2F0E5 !important;
  border: 0 !important;
  border-radius: 50px !important;
  padding: 15px 40px 30px 40px!important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer;
  box-shadow: none !important;
  text-transform: none !important;
}
#sidebar .wp-block-search__button.wp-element-button:hover {
  background:
    linear-gradient(#4D4C48, #4D4C48),
    url('https://osons.mickael-doucet.fr/wp-content/uploads/2026/08/background-bullet-btn-20.png') center/cover no-repeat !important;
  background-blend-mode: multiply !important;
  color: #F2F0E5 !important;
}
.mobile-false .images-list:hover i, .mobile-false .post-rollover:hover i, .mobile-false .rollover:hover i, .rollover-video:hover i {
    display: none;
    opacity: 0;
}
/* Sélecteur d'années (bloc Archives en menu déroulant) */
#sidebar .widget_archive select,
#sidebar .wp-block-archives-dropdown select {
  width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    color: #262520;
    border: 1px solid #262520;
    border-radius: 50px;
    padding: 14px 44px 14px 20px;
    font-size: 16px;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23C2443B'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='6%209%2012%2015%2018%209'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 16px 16px !important;
    transition: border-color .3s ease, box-shadow .3s ease;
}
#sidebar .widget_archive select:hover,
#sidebar .wp-block-archives-dropdown select:hover {
  border-color: #4D4C48;
}
#sidebar .widget_archive select:focus,
#sidebar .wp-block-archives-dropdown select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(194, 68, 59, .15);
}
/* --------------------------------------------------------------------
   2. FIL D'ARIANE (BREADCRUMBS)
   -------------------------------------------------------------------- */
#breadcrumbs {
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 20px;
    color: #817F77;
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif;
}
#breadcrumbs a {
    color: #4D4C48;
    text-decoration: none;
    transition: color .2s ease;
}
#breadcrumbs a:hover,
#breadcrumbs a:focus {
    color: #4D4C48;
}
#breadcrumbs > span > span {
    display: inline-block;
    margin: 0 20px 0 20px;
}
#breadcrumbs .breadcrumb_last {
    color: #4D4C48;
    font-weight: 600;
    margin: 0 20px;
}

/* --------------------------------------------------------------------
  Style princiapl
   -------------------------------------------------------------------- */

.transparent:not(.photo-scroller-album) .masthead:not(#phantom):not(.sticky-on):not(.sticky-mobile-on), .transparent .sticky-on.masthead.masthead-mobile,
.phantom-sticky .fixed-masthead.sticky-on.masthead {
    border-radius: 50px;
    margin-top: 20px;
	
	max-width: 1330px;
	margin-left: auto;
	margin-right: auto;
	left: 50%;
	transform: translateX(-50%);
}
.wpb_single_image .vc_single_image-wrapper.vc_box_rounded, .wpb_single_image .vc_single_image-wrapper.vc_box_rounded img {
    border-radius: 8px;
    box-shadow: none;
}
.dt-btn {
  position: relative;
  text-decoration: none;
}

.dt-btn::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: #C2443B;
  transition: width 0.3s ease;
}

.dt-btn:hover::after {
  width: 100%;
}
.mini-widgets .ubtn-ctn-center {
	margin: 0 0 0 50px !important;
}
.ubtn-data.ubtn-text {
	font-family: 'Tanker' !important;
}
.ubtn-sep-icon.ubtn-sep-icon-at-right .ubtn-icon {
    right: 25px!important;
}
button.ubtn-normal {
    padding: 15px 55px 15px 40px!important;
}
.banner-home h1 {
	font-size: 24px !important;
	line-height: 30px !important;
}
.ubtn {
  background: 
    linear-gradient(#C2443B, #C2443B),
    url('/wp-content/uploads/2026/08/background-bullet-btn-20.png') center/cover no-repeat !important;
  background-blend-mode: multiply !important;
}
.ubtn .ubtn-hover {
  background: 
    linear-gradient(#4D4C48, #4D4C48),
    url('/wp-content/uploads/2026/08/background-bullet-btn-20.png') center/cover no-repeat !important;
  background-blend-mode: multiply !important;
}

/* Bouton "Load more" façon bouton ADHÉRER */
.vc_grid-btn-load_more { text-align: center !important; }

.vc_grid-btn-load_more a.vc_btn3 {
	background:
		linear-gradient(#C2443B, #C2443B),
		url('/wp-content/uploads/2026/08/background-bullet-btn-20.png') center/cover no-repeat !important;
	background-blend-mode: multiply !important;
	color: #F2F0E5 !important;
	border: 0 !important;
	border-radius: 50px !important;
	padding: 15px 40px !important;
	font-size: 20px !important;
	font-weight: normal !important;
	text-transform: none !important;
	box-shadow: none !important;
	font-family: 'Tanker';
	display: block;
	font-weight: 400;
	font-size: 20px;
	text-transform: uppercase;
}

.vc_grid-btn-load_more a.vc_btn3:hover,
.vc_grid-btn-load_more a.vc_btn3:focus {
  background:
    linear-gradient(#4D4C48, #4D4C48),
    url('/wp-content/uploads/2026/08/background-bullet-btn-20.png') center/cover no-repeat !important;
  background-blend-mode: multiply !important;
  color: #F2F0E5 !important;
}
.vc_pageable-load-more-btn a.vc_btn3 {
  font-size: 0 !important;          /* masque "Load more" */
}
.vc_pageable-load-more-btn a.vc_btn3::after {
  content: "Charger plus" !important;
  position: static !important;      /* annule le trait animé */
  width: auto !important;
  height: auto !important;
  left: auto !important;
  bottom: auto !important;
  background: none !important;
  transition: none !important;
  font-size: 20px !important;
  line-height: 20px !important;
}
/* --------------------------------------------------------------------
   3. FAQ (ACCORDÉON)
   -------------------------------------------------------------------- */
.contentQuestionFAQ {
	width: calc(100% - 54px) !important;
	display: inline-block;
	position: relative;
	margin-bottom: 15px !important;
    padding: 15px 25px 15px 25px;
    border-radius: 14px;
    border: 2px solid rgba(0, 102, 255, 0.20);
    background: #FFF;
}
.contentQuestionFAQ:hover {
	border: 2px solid rgba(0, 102, 255, 0.50);
}
.open.contentQuestionFAQ::before{
	background-color: #fff;
}
.contentQuestionFAQ:hover::before {
  width: 100%;
}
.titreFAQ {
	position: relative;
	color: #0A0A0A;
	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 22px;
	margin-bottom: 0;
	text-decoration: none;
	text-transform: initial;
}
.open .titreFAQ:before {
	opacity:0;
	transition: all 0.2s ease-out;
}
.open .titreFAQ:after {
	transform: translateY(-50%) rotate(0deg);
	transition: all 0.2s ease-out;
}
.titreFAQ:before {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #0066FF;
    border: 0px solid #0066FF;
    width: 20px;
    height: 2px;
    content: "";
	transition: all 0.2s ease-out;
}
.titreFAQ:after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    background: #0066FF;
    border: 0px solid #0066FF;
    width: 20px;
    height: 2px;
    content: "";
	transition: all 0.2s ease-out;
}
.reponseFAQ div{
    margin-top: 20px;
    margin-bottom: 10px;
}
.titreFAQ{
	cursor:pointer;
}
.reponseFAQ{
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
}

/* --------------------------------------------------------------------
   4. ARTICLES / BLOG (CARTES + FILTRES)
   -------------------------------------------------------------------- */
.post-thumbnail {
	display: none;
}
.vc_grid-filter-item.vc_gitem-post-category-name {
	font-family: 'Tanker';
    display: inline-block;
    font-weight: 400;
    font-size: 16px !important;
    text-transform: uppercase;
    margin-bottom: 8px;
	background: #F5E157;
}
.vc_grid-filter-item.vc_gitem-post-category-name span {
	padding: 5px 10px !important;
	display: inline-block;
}
img.vc_single_image-img {
    border-radius: 8px;
}
.vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_title {
	font-family: "Tanker", Helvetica, Arial, Verdana, sans-serif;
    font-weight: 400;
    font-size: 20px;
	line-height: 26px;
}
.vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_title:hover {
	color: #C2443B;
}
.vc_grid-filter {
    margin-bottom: 10px !important;
}
.vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_date {
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif;
    font-weight: 400;
    font-size: 16px;
	line-height: 20px;
	color: #262520;
}
a.vc_general.vc_btn3.vc_btn3-size-md.vc_btn3-shape-rounded.vc_btn3-style-custom.vc_btn3-icon-right {
    background-color: transparent;
    color: #262520;
    box-shadow: none;
    background-image: none;
    padding: 0 30px 0 0;
	font-size: 16px;
    font-weight: 700;
}
a.vc_general.vc_btn3 {
  position: relative;
  text-decoration: none;
}

a.vc_general.vc_btn3::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: #C2443B;
  transition: width 0.3s ease;
}

a.vc_general.vc_btn3:hover::after {
  width: 100%;
}
.vc_btn3.vc_btn3-size-md.vc_btn3-icon-right:not(.vc_btn3-o-empty) .vc_btn3-icon {
    right: 0 !important;
}

/* -- fin de la section articles/blog -- */

/* --------------------------------------------------------------------
   5. FORMULAIRES (CONTACT FORM 7)
   -------------------------------------------------------------------- */
.wpcf7 label,
.cf7-file-label {
  	font-family: 'Tanker';
    display: block;
    font-weight: 400;
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 15px;
}
.cf7-file-label {
	margin-bottom: 0px;
}
.cf7-file.has-file {
  border-style: solid;
  border-color: #1c1c1c;
}

.cf7-file.has-file .cf7-file-label {
  text-transform: none;
  font-weight: 400;
}
.wpcf7 input,
.wpcf7 textarea {
	margin-top: 10px !important;
  	margin-bottom: 0 !important;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #2b2b2b;
  border-radius: 6px;
  background: transparent;
  font-size: 14px;
  margin-bottom: 20px;
	
	text-transform: initial;
}
.cf7-file .wpcf7-form-control-wrap {
  position: absolute;
  inset: 0;
  display: block;
}

.cf7-file input[type="file"] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.wpcf7 textarea {
  height: 110px;
  resize: vertical;
}

.wpcf7 ::placeholder {
  color: #9a9a9a;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: #000;
}

/* Zone fichier */
.cf7-file {
	position: relative;
	border: 1px dashed #2b2b2b;
	border-radius: 4px;
	padding: 0 0 10px 0;
	text-align: center;
	margin-bottom: 20px;
	margin-top: 20px;
	cursor: pointer;
}

.cf7-file input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.wpcf7-list-item-label {
	font-size: 16px;
}
/* Submit */
.wpcf7 input[type="submit"] {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 6px !important;
  background: #1c1c1c;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
	margin-top: 0 !important;
}

.wpcf7 input[type="submit"]:hover {
  background: #C2443B !important;
}

.cf7-rgpd .wpcf7-list-item {
  margin: 0;
}

.cf7-rgpd label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

.cf7-rgpd input[type="checkbox"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	accent-color: #1c1c1c;
	cursor: pointer;
	margin-top: 0px !important;
}

.cf7-rgpd a {
  color: inherit;
  text-decoration: underline;
}

.cf7-rgpd .wpcf7-list-item-label {
  flex: 1;
}

/* --------------------------------------------------------------------
   6. FOOTER
   -------------------------------------------------------------------- */
footer .aio-icon-component {
    margin-bottom: 10px;
}
footer .aio-icon-header+.aio-icon-description {
    margin-top: 0!important;
}
footer .aio-icon-title.ult-responsive {
    margin-bottom: 0 !important;
}
footer li a:hover {
	color: #F5E156 !important;
	text-decoration: none !important;
}
.footer .widget {
    margin-bottom: 0px;
}
#menu-menu-footer {
	margin-top: 20px;
}
footer .menu-item {
	display: inline-block;
    margin: 0 15px;
    padding-top: 0;
    border-top: 0 !important;

	text-align: center;
	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 28px;
}
.footer .widget {
    color: #ffffff;
    padding: 0 0 0px 0;
    margin-left: -15px;
}

.footer {
    margin-top: 30px;
}

.footer .menu-item {
	display: block;
	text-align: left;
}
.footer .menu-item a {
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 28px;
	color: #FBFAF6;
}

/* Menu RGPD du footer */

.vc_wp_custommenu.wpb_content_element.menu-rgpd {
	text-align: center;
}
#menu-menu-rgpd {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

#menu-menu-rgpd li {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
/* Style du texte des liens RGPD */
#menu-menu-rgpd li a {
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
	color: #817F77;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
}

/* Survol */
#menu-menu-rgpd li a:hover {
  color: #F5E157;
}
/* Séparateur "|" entre les items */
#menu-menu-rgpd li:not(:last-child)::after {
  content: "|";
  margin-left: 0.75rem;
  color: #e8c53d;
}

/* Version mobile : empilé et centré */
@media (max-width: 767px) {
  #menu-menu-rgpd {
    flex-direction: column;
    gap: 0.5rem;
  }

  /* On masque les séparateurs quand c'est empilé */
  #menu-menu-rgpd li:not(:last-child)::after {
    content: none;
  }
}
/* ===== Agenda groupé par date ===== */
.agenda-groupe {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Titre du bloc (badge rouge en haut) */
.agenda-groupe-titre {
    align-self: flex-start;
    background: #C2443B;
    font-family: "Tanker", Helvetica, Arial, Verdana, sans-serif !important;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #F2F0E5;
    padding: 6px 10px;
    border-radius: 8px;
}

/* Une date + ses événements */
.agenda-groupe-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

/* Colonne des événements de la date */
.agenda-groupe-events {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Séparateur entre 2 événements d'une même date */
.agenda-groupe-events .agenda-content + .agenda-content {
    border-top: 1px solid #ddd8c4;
    padding-top: 20px;
}
/* ===== Agenda ===== */
.agenda-list {
    display: grid;
    gap: 16px;
}
.agenda-list.agenda-cols-1 { grid-template-columns: minmax(0, 1fr); }
.agenda-list.agenda-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.agenda-list.agenda-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agenda-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    min-width: 0;
    background: #F2F0E5;
    border-radius: 15px;
    padding: 18px 22px;
}
/* Date à gauche */
.agenda-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #C2443B;
    color: #F2F0E5;
    border-radius: 8px;
    width: 46px;
    padding: 6px 0;
    line-height: 1;
    flex-shrink: 0;
}
.agenda-mois {
	font-family: "Tanker", Helvetica, Arial, Verdana, sans-serif !important;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
}
.agenda-jour {
	font-family: "Tanker", Helvetica, Arial, Verdana, sans-serif !important;
    font-size: 32px;
    font-weight: 400;
    margin-top: 2px;
}
/* Contenu à droite, empilé */
.agenda-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.agenda-tag {
    align-self: flex-start;
    background: #C2443B;
    font-family: "Tanker", Helvetica, Arial, Verdana, sans-serif !important;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
	color: #F2F0E5;
    padding: 6px 10px;
}
.agenda-titre {
    margin: 0;
    font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 36px;
	color: #262520;
}
.agenda-texte {
	margin: 0;
    font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
	font-style: normal;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	color: #262520;
}
.agenda-heure {
    margin: 0;
	
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
    font-size: 16px;
    color: #555;
}
.agenda-lieu {
	
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
    margin: 0;
    font-size: 16px;
    color: #262520;
    display: flex;
	margin-top: 5px;
	font-weight: 700;
    align-items: center;
    gap: 6px;
}
.agenda-pin {
    width: 14px;
    height: auto;
    display: inline-block;
}
/* Bouton */
.agenda-btn {
	
	font-family: "IBM Plex Sans", Helvetica, Arial, Verdana, sans-serif !important;
    flex-shrink: 0;
    margin-left: auto;
    align-self: flex-end;
    font-size: 16px;
    font-weight: 700;
    color: #262520;
    text-decoration: none;
    white-space: nowrap;
}
.agenda-btn {
  position: relative;
  text-decoration: none;
}
.agenda-btn i {
    padding-left: 14px;
}
.agenda-btn::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: #C2443B;
  transition: width 0.3s ease;
}
.agenda-btn:hover::after {
  width: 100%;
}
.agenda-vide {
    color: #777;
    font-style: italic;
}
/* Responsive */
@media (max-width: 991px) {
    .agenda-list.agenda-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .agenda-list.agenda-cols-2,
    .agenda-list.agenda-cols-3 {
        grid-template-columns: 1fr;
    }
    .agenda-item {
        flex-wrap: wrap;
        gap: 14px;
    }
    .agenda-content {
        flex: 1 1 100%;
    }
    .agenda-titre {
        font-size: 20px;
        line-height: 28px;
    }
}
/* --------------------------------------------------------------------
   7. MEDIA QUERIES GÉNÉRALES
   -------------------------------------------------------------------- */

@media screen and (max-width:1350px){
		.transparent:not(.photo-scroller-album) .masthead:not(#phantom):not(.sticky-on):not(.sticky-mobile-on), .transparent .sticky-on.masthead.masthead-mobile, .phantom-sticky .fixed-masthead.sticky-on.masthead {
		
		width: calc(100% - 30px) !important;
	}
}
@media screen and (max-width:1200px){
	/* styles grand tablette / petit desktop */
}
@media screen and (max-width: 991px) {
 	/* styles tablette */
	.menu-item img.is-loaded {
		opacity: 0;
	}
	.mobile-header-bar .ubtn-ctn-center {
		margin: 10px 0;
	}
	.masthead.shadow-mobile-header-decoration.masthead-mobile-header {
        background: rgba(233, 230, 211, 1) !important;
    }
	
}
@media screen and (max-width:767px){
	/* styles mobile */
	
	.agenda-titre {
		font-size: 20px;
		line-height: 26px;
	}
	.fancy-header .wf-wrap {
        min-height: 250px !important;
    }
	
}