/*
Theme Name:     CH Bootstrap 5
Theme URI:      https://www.contemplateur.com
Author:         Christian Hardi
Author URI:     https://www.twalmedia.com
Description:    Thème WordPress minimaliste basé sur Bootstrap 5.3.6
Version:        1.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    ch-bootstrap
Tags:           bootstrap, minimal, responsive
*/

/* Tu peux ajouter ici des styles personnalisés */
/* ajouter les taxonomies */

:root,
[data-bs-theme="light"] {
	--bs-body-font-family : "Figtree","Roboto", "Lato",  sans-serif;
	--width-content : 1390px; /*1280px;*/
	--bs-body-bg: #fff!important; /* --bs-body-bg: #FAF5EF!important; */
	--bg-color-section-claire : #F6F5F2;
	--bg-color-section-sombre : #EEEBE7;
	--bg-color-section-titre : #D6CFC4; /* brun fleury */
	--color-main-title : #000;
	--color-grey-800 : rgb(60 64 67);
	 --bs-body-color: #212529!important;
	--bs-image-bg : #F9F9F9!important;
	--bs-bloc-propriete-bg : #F9F9F9;
	--bs-body-font-size : 18px; /*.975rem; */
	--bs-body-line-height : 1.55rem;
	--bs-body-letter-spacing : .0143em;
	--bs-body-font-size-description : 1.2rem;
	--bord-arrondi_20 : 20px;
	--bord-arrondi_10 : 10px;
	
	--ch_grid_bg_color : #fff;
	--ch_grid_color_titre : grey; /* #000; */
	--ch_grid_color_accroche: #000; /* #F9C74F; */
	--_typography---font-size--medium: 1.125rem;
    --_typography---font-height--medium: 1.75rem;
	--width_ch_col_10 : 100%;
	--width_ch_col_9 : 90%;
	--width_ch_col_8 : 80%;
	--width_ch_col_7 : 70%;
	--width_ch_col_6 : 60%;
	--width_ch_col_5 : 50%;
	--width_ch_col_4 : 40%;
	--width_ch_col_3 : 30%;
	--width_ch_col_2 : 20%;
	--width_ch_col_1 : 10%;
	
}
body {
	font-family : var(--bs-body-font-family);
	font-weight: 300;
	line-height: 1.7em;
	font-size: clamp(1rem, 0.6875rem + 1vw, 1.25rem);
	font-size : var(--_typography---font-size--medium);
}
.ch_header_content .short_description {
	font-size: 90%;
}
.ch_header_content .leaflet-container {
	min-height: 600px;
}
/*=====================================
 * 
 * MENUS
 * 
 * ==================================*/
/* Liens principaux */
.navbar-nav > .nav-item > .nav-link {
  padding: 0.75rem 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #333;
  transition: color 0.3s, background-color 0.3s;
}

.navbar-nav > .nav-item > .nav-link:hover,
.navbar-nav > .nav-item > .nav-link:focus {
  color: #000000; /* couleur accent */
  background-color: rgba(0, 0, 0, 0.03);
}

/* Dropdown principal */
.dropdown-menu {
  padding: 0.5rem 0;
  margin-top: 0.3rem;
  border-radius: 0.5rem;
  border: none;
  box-shadow: 0 8px 16px rgba(0,0,0,0.1);
  background-color: #fff;
  min-width: 200px;
}

/* Items du sous-menu */
.dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  font-size: 0.95rem;
  color: #333;
  transition: background-color 0.2s;
}

.dropdown-menu .dropdown-item:hover {
  background-color: #f0f0f0;
  color: #0066cc;
}

/* Actif */
.navbar-nav .nav-link.active {
  color: #D6CFC4;
  font-weight: 500;
}

/*--------------------------------------
 * TITRES TITRAILLES 
 * -------------------------------------*/
h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat',sans-serif;
	font-weight: 300;
}
h1, .h1 {
  	/*font-size: calc(var(--bs-body-font-size) + 0.8rem);*/
	font-size: 180%;
    line-height: 100%;
    text-align: left;
    margin: 1rem auto
}
h1 {
  font-size: clamp(2rem, 4vw, 3rem)!important; /* ~32px à 48px */
  line-height: 1.2;
  margin-bottom: 0.5em;
}
h1.main-title {
	margin: 0px;
    padding: 20px 0 0 0;
    text-align: center;
	color: var(--color-main-title);
	font-weight: 400;
	line-height: 1.5em;
    
}
h1.main-title span.accroche {

	display: block;
    line-height: 1em;
    color:color: var(--color-main-title);;
	font-size: 80%;
	line-height: 1.5em;
}

h2 {
	
  font-size: clamp(1.5rem, 3vw, 2.25rem); /* ~24px à 36px */
  line-height: 1.3;
  margin-bottom: 0.5em;
}
.texte-presentation h2 {
	font-family : var(--bs-body-font-family);
	font-size: clamp(18px, 3vw, 22px); /* ~24px à 36px */
	font-weight : 400;
}

h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.75rem)!important; /* ~20px à 28px */
  line-height: 1.3;
  margin-bottom: 0.5em;
}

h4 {
  font-size: clamp(1.125rem, 1.8vw, 1.5rem); /* ~18px à 24px */
  line-height: 1.4;
}

h5 {
  font-size: clamp(1rem, 1.5vw, 1.25rem); /* ~16px à 20px */
}

h6 {
  font-size: clamp(0.875rem, 1.2vw, 1rem); /* ~14px à 16px */
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
h2, .h2 {
  tmp_font-size: calc(var(--bs-body-font-size) + 0.5rem);

}

	h3, .h3 {
  		tmp_font-size: calc(var(--bs-body-font-size) + 0.3rem);
		padding-bottom: 10px;
		border-bottom: solid 1px #D9CCBF;
		font-weight: 400;
	}
h2 + h3, h3 + p, p + h3, ul + h3 {
	padding-top: 15px;
    margin-top: 15px; /* Exemple de marge, ajustez selon vos besoins */
}

ul + h3 {
	border-top: solid 1px #D9CCBF!important;
}
a {text-decoration: none;}
/*======================================
 * 
 * ICONE MATERIAL
 * 
 * ====================================*/
.info i.fa-solid:before {
	color: #92846F!important;
}
 .material-icone .wpel-icon {display: none;}
.material-icone {
	font-family: 'Material Symbols Outlined';
	font-weight: 300;
	font-size: 30px;
}
/*=== audio */
.material-symbols-outlined::before {
  font-family: 'Material Symbols Outlined';
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
  font-size: 24px;
	
  vertical-align: middle;
  display: inline-block;
}
.btn-audio {
	border-radius : 50%;
	border: solid 1px #c6c6c6;
	background-color: #EBD2AD;
	aspect-ratio: 1 / 1;
}
.icon-play .material-symbols-outlined::before {
  content: '\e037'; /* ▶ */
}
.icon-pause .material-symbols-outlined::before {
  content: '\e034'; /* ⏸ */
}
/*===================================
 *  HEADER CONTENT : image + résumé
 * ==================================*/
.ch_section.ch_header_content .image-wrapper {
	width: 100%;
	overflow : hidden;
	 display: flex; /* Active Flexbox */
  justify-content: center; /* Centre horizontalement */
	max-height: 60vh;
}
.ch_section.ch_header_content img {
	width : auto;
	height: auto;
	max-height : 60vh;
	max-width: 100%;
	margin: 0 auto;
}
.ch_section {
	padding-bottom: 20px;
}

/*===========================
 * image
 * ==========================*/

/* cation wp */
/* s'assurer que l'image insérer dans wp-caption (image avec légende) ne déborde pas du cadre) */

.wp-caption {
	width: 100%!important;
	border: solid 1px  #F6F5F2;
	background-color : #F6F5F2;
	text-align: center;
	padding: 5px 5px 0 5px;;
}
.wp-caption-text {
	padding-top: 5px;
	margin-bottom : 0px !important;
	font-size : 14px;
}
/* code zoom image : &#xe413; ou loupe &#xe8ff; */
/*====== GRILLE =====*/
ul.ch-grid .image-wrapper .top_meta,ul.ch-grid-horizontal .top_meta {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;

  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 0; /* optionnel : espace intérieur */
  z-index: 10;          /* pour s'assurer que ça passe devant si besoin */
}

ul.ch-grid .image-wrapper .top_meta > div {
  display: flex;
  align-items: center;
	background-color: rgba(0, 0, 0, 0.4);
	padding: 5px 10px;
	color: #fff!important;
	font-size: 15px!important;
		
}
ul.ch-grid .image-wrapper .top_meta > div a {
	color: #fff!important;
	font-size: 15px!important;
}
ul.ch-grid .image-wrapper .top_meta > div:first-child {
	border-radius: 0px 0px 10px 0px;
}
ul.ch-grid .image-wrapper .top_meta > div:last-child {
	border-radius: 0px 0px 0px 10px;
}
ul.ch-grid .item_zoom_image {
	cursor : zoom-in;
}
/*ul.ch-grid .item_date,
ul.ch-grid .item_zoom_image,
.item-leaflet-container .item_date,
.item-leaflet-container .item_zoom_image
{
    tmp_position: absolute;
    top: 0px;
    color: #fff;
    font-size: 0.9em;
    z-index: 10;
	background-color: rgba(250, 245,239, 0.5); 
	background-color: rgba(0, 0, 0, 0.4);
		border-radius: 0px 0px 10px 0px;
		padding: 15px 10px;
}

ul.ch-grid .item_date {
    left: 0px; 
}

ul.ch-grid .item_zoom_image {
    right: 0px; 
    font-size: 1.2em;
    text-decoration: none;
    color: #fff;
}
*/

/*=========================================
 * 
* Section 0 : Image + Texte de Présentation 

*******************************************/
.ch_section {
	background-color : var(--bg-color-section-claire);
	background-color : transparent;
	background-color: #F6F5F2;
}

.ch_section .ch_section_0 {
	background-color: #F6F5F2;
}
/*=== section_1 : IMAGE + TEXTe */

.ch_section.ch_section_1 {
	/*background-color : var(--bg-color-section-titre);*/
	background-color : #F6F5F2;
	padding: 10px 0px 100px 0px;
}
.ch_section.ch_section_2 {
	background-color : #F2EEE8;
}
.ch_section.ch_section_titre {
	background-color: var(--bg-color-section-titre);
	
}
.ch_section.ch_section_titre .meta_value {
	text-align: center;
	color: #000;
}

.ch_section.ch_section_titre a {
	color : #000;
	text-decoration : none;
}

.ch_section_0 {
    display: flex;
    justify-content: space-between;
    background-color: #F0EDE5; /* Blanc cassé, minimaliste et léger */
    padding: 10px 0px 10px 0px;
}
.ch_section_0 .top_image  {
    border-radius: var(--bord-arrondi_10);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ombre subtile pour l'image */
}

.ch_section.ch_content_section:nth-child(odd), .ch_section.post_content:nth-child(odd) {
  background-color: #F2EEE8;
}
.ch_section.ch_content_section:nth-child(even), ch_section.post_content:nth-child(even){
     background-color: #F6F5F2;
}


/********************
 * LIGNES
 * ******************/
.ch_ligne {
	
    position: relative;
	
    tmp_justify-content: space-between;
    tmp_gap: 20px; /* Espace entre les colonnes */
    margin: auto; /* Centrer la rangée dans la page */
    border: solid 1px transparent; /* Bordure pour visualisation si besoin */
	
}
.ch_ligne.ch_colonne_egales {
	display: -webkit-box;
}

/**********************
 * COLONNES
 * ********************/
.texte-presentation {
	font-size: clamp(1rem, 0.8438rem + 0.5vw, 1.125rem);
	
}
.row {
	
	margin: 0px auto; /* centrer horizontalement */
	max-width: var(--width-content, 1280px); /* Largeur maximale du contenu */
	margin : auto auto;

}
.row.w-100 {
	max-width: 100%; /* Largeur maximale du contenu */
}
.bg_blanc {
	background-color : #fff;
}
.ch_col {
    /*display: flex; à voir...*/
    flex-direction: column;
    tmp_flex: 1; /* Assure que toutes les colonnes aient une hauteur égale */
}


.ch_col_content {

	background: #c6c6c6;
	padding: 10px 0 10px 0;;
	 border-radius: var(--bord-arrondi_10);
}
.ch_col_content.full_height {
	height: 100%;

}

/* Espacement entre les colonnes dans les écrans plus grands */
.ch_section .right_space_2 {
    margin-right: 20px;
}

.ch-box {
    flex-grow: 1; /* Permet à .ch-box de s'étendre */
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    margin-right: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ombre subtile pour l'effet visuel */
	height: 100%;
}

.top-image .image-wrapper {
  position: relative;
  width: 100%;
	max-height: 70vh; /* limite haute */
  tmp_aspect-ratio: 16 / 9; /* Format paysage par défaut */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #eee;
}
.top-image ul.galerie img {
	width: 100px;
	height: auto;
}
.top-image .image-wrapper a img,
.top-image ul.galerie  li a img
{
	cursor: zoom-in;;
	
}
@media (min-width: 901px) {
	
	.ch_col_10 {
	width : var(--width_ch_col_10);
}
	.ch_col_4 {
		width : calc(40% - 10px);
	}
	.ch_col_5 {
		width : calc(50% - 10px);
	}
	.ch_col_7 {
		width : calc(70% - 10px);
	}
	.ch_col_3 {
		width : calc(30% - 10px);
	}
}
@media (max-width: 900px) {
	.ch_ligne, .ch_ligne.ch_colonne_egales { 
		max-width: var(--width-content, 1280px); /* Largeur maximale du contenu */
		display: block;
	}

	.ch_col_content {width:100%;}
	.ch_col_7 {	width : 100%;}
	
	.ch_col_3, .ch_col_4, .ch_col_5, .ch_col_6, .ch_col_7, .ch_col_8, .ch_col_9 {
		width : 100%; 
	}
}

}
tmp_@media only screen and (max-width: 600px) {
	.ch_ligne { 
		width: 100%; /* Largeur maximale du contenu */}
}
/*************** 
 * contenu de la colonne
 * *************/

/* Style pour la rangée */


/***********************
 * Image top 
 * *********************/
.ch_col.top_image  {
  display: flex;
  justify-content: center; /* Centre horizontalement */
  align-items: center;     /* Centre verticalement */
  height: 100%;            /* Assurez-vous que le conteneur a une hauteur */
}

.ch-box.top-image {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Image principale avec ombre douce */
 .ch_section_0 .top-image {
	text-align: center;
	
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre subtile autour de l'image */
}
.ch_section_0 .top-image img {
	max-height: 60vh;
	max-width: 100%;
	width: auto;
	border-radius: 10px;
}

/*===============================
 * LEAFLET
 * ============================*/


/***************************
 * GRID
 * ***********************/
ul.galerie {
	list-style-type : none;
}

/*====================================
 * INFO 
 * ==================================*/
ul.info.right_colonne {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.info.right_colonne li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid #ddd;
}

ul.info.right_colonne li:last-child {
  border-bottom: none;
}

ul.info.right_colonne i.bi, ul.info.right_colonne i:before {
  font-size: 1.2rem;
  color: #555;
}
