/*
Theme Name: Bridge Child
Theme URI: http://demo.qodeinteractive.com/bridge/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: http://www.qodethemes.com/
Version: 1.0.0
Template: bridge
*/
@import url("../bridge/style.css");


.top_header{
	background: url(img/bg_menu2.png) repeat-x 0 -20px;
}

.latest_post_image{
	width:95% !important;
	float:none !important;
	margin:0 auto;
}
.latest_post_holder.image_in_box .latest_post_text {
	padding: 0 20px;
	text-align:center !important;
}

.latest_post_holder.image_in_box .latest_post_text .latest_post_title {
	margin: 25px 0;
	font-size:30px !important;
}
.latest_post_holder.image_in_box .latest_post_text .latest_post_title a {
	text-decoration:none;}
.latest_post_holder.image_in_box .latest_post_text .latest_post_title a:hover {
	color:#862848;}
	
	
.latest_post_inner .post_infos {
	font-weight: 500;
	font-size: 12px;
	color: #aaaaaa;
margin:20px 0;}
.latest_post_inner .post_infos .dots {
	font-weight: 300;
	font-size: 12px;
	color: #ffffff;}

	
.bloc_prochains_diners{
	border:2px solid #dedede;
	padding:30px;
}
.bloc_bt_inscription{
	border:2px solid #862848;
	padding:10px 30px 30px 30px;
}


header.fixed, header.fixed_hiding, header.fixed_top_header .top_header {
	top: 0;}

nav.main_menu > ul > li > a {
	position: relative;
	padding: 0px 12px;
		padding-left: 12px;
	color: #6e6367 !important;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0px;}

nav.main_menu > ul > li > a:hover {
	   color: #862848 !important;}

hr{
	color: #c82d84;
	border: 1px solid #862848;}e

.titre-soulignes h1{    
border-bottom: 2px solid #862848;
width:50%;
margin:0 auto;
padding-bottom:20px;
text-align:center;}

#blocs-home a{
	font-family:'Roboto', Arial;
	font-weight:700;
	color: #862848;
	font-size:16px;
	text-transform:uppercase;
	text-decoration:none;
	display:block;
	padding:20px;    }
	
#blocs-home a:hover{
	font-family:'Roboto', Arial;
	font-weight:700;
	color: #862848;
	font-size:16px;
	text-transform:uppercase;
	text-decoration:underline;
	display:block;
padding:20px;}

	
.aroboto a{
	font-family:'Roboto', Arial;
	font-weight:700;
	color: #862848;
	font-size:16px;
	text-transform:uppercase;
	text-decoration:none;
	display:block;
	padding:10px 0;}
	
.aroboto a:hover{
	font-family:'Roboto', Arial;
	font-weight:700;
	color: #252525;
	font-size:16px;
	text-transform:uppercase;
	text-decoration:none;
	display:block;
	padding:10px 0;}


.header_inner_center .logo_wrapper{
float:left;
width:30%;}
.header_inner_center .header_bottom_center_widget{
float:left;
width:60%;
padding: 100px 0 30px 60px;}

.footer_inner .widget a{
color:#862848;}
.footer_inner .widget a:hover{

text-decoration: underline;}

.footer_top .column2 .column_inner{
border-left:1px solid #cecece;}

/* Mobile : colonnes empilées, on retire le trait vertical de séparation. */
@media only screen and (max-width:768px){
	.footer_top .column2 .column_inner{
		border-left:none;}
}

.more_facts_button {
	color:#862848 !important;
}

/* --- Footer : colonne « Nous rejoindre » + bouton Adhérez --- */
.co_footer_rejoindre .textwidget p{
	color:#b5b5b5;
	line-height:24px;
	margin:0 0 18px;}
.co_footer_rejoindre .co_footer_adherez{
	display:inline-block;
	padding:11px 22px;
	border:1px solid #862848;
	color:#862848 !important;
	font-size:13px;
	letter-spacing:1px;
	text-transform:uppercase;
	text-decoration:none !important;
	transition:all .2s ease;}
.co_footer_rejoindre .co_footer_adherez:hover{
	background:#862848;
	color:#fff !important;}

/* --- Footer : barre du bas (mentions légales + mention association) --- */
.co_footer_legal{
	list-style:none;
	margin:0 0 8px;
	padding:0;}
.co_footer_legal li{
	display:inline-block;
	margin:0;}
.co_footer_assoc{
	margin:0;
	color:#b5b5b5;
	font-size:13px;}

#citation_header{
color:#252525;
font-family:Crimson text;
font-size:30px;
font-style:italic;
line-height:35px;}

#citation_presidente{
color:#862848;
font-family:Crimson Text;
font-size:18px;
line-height:32px;}




.blog_holder.blog_large_image_with_dividers .post_text_holder .blog_column1 .date_day {
	font-size: 30px;
	font-weight: 300;
	color: #303030;
	padding-bottom:2px;}

.blog_holder.blog_large_image_with_dividers .post_text_holder .blog_column1 .date_month,
.blog_holder.blog_large_image_with_dividers .post_text_holder .blog_column1 .date_year {
	font-size: 20px;
	font-weight: 300;
	color: #303030;
	padding-bottom:0;}


	
body.single,
body.search,
body.archive {
	background-image: url(http://cercle-olympe.net/wp-content/uploads/2018/05/background_homepage.jpg);
	background-size: cover;
	background-position: center 0px;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

body.single .wrapper, body.single .content, body.single .content .container,
body.search .wrapper, body.search .content, body.search .content .container,
body.archive .wrapper, body.archive .content, body.archive .content .container{
	background:none;}
	
body.single .content .column1{
	background-color:#ffffff;
	opacity:0.9;
	padding:20px 10px 20px 30px;}
body.single .content .column2{
	padding:0px;}
body.single .content .column2 .column_inner{
	padding:0;}
body.single .content .column2 aside .widget{
	background-color:#ffffff;
	opacity:0.9;
	padding:15px;
	margin:0 0 5px 0;
}


body.single .two_columns_75_25 > .column1{ 
width:70%;
margin-right:5px;}
body.single .two_columns_75_25 > .column2{ width:20%;}


body.single h2.entry_title{
	font-weight:300;
}


span.comment_date{font-size:11px;}


.widget_recent_entries ul li a:hover{
	text-decoration:underline;}




/****     EVENTS      ***/

#tribe-events-pg-template, .tribe-events-pg-template{
	background-color:#ffffff;
	opacity:0.9;
	margin: 0 auto;
	max-width: 700px;
	padding: 50px;
	color:#252525;
}

.tribe-events-list .tribe-events-loop .tribe-event-featured {
	color:#252525;
	background-color:#ffffff;}

a.tribe-events-read-more{
		color:#252525 !important;
		text-align:center;
		font-weight:300 !important;
		text-decoration:underline;}
a.tribe-events-read-more:hover{
		color:#862848 !important;
		text-align:center;
		text-decoration:none;}

li.tribe-events-list-widget-events p{
	font-size:20px !important;}
		
.tribe-events-list-widget .tribe-event-featured{
	background:none !important;
	background-color:none !important;
	color:#252525 !important;}
.sidebar .tribe-events-list-widget{
	background-color:#ffffff;
	padding:20px;
}

aside .widget.posts_holder li {
	padding: 0;
	margin: 0;
}
.tribe-events-list-widget .tribe-event-featured .tribe-event-image {
	margin:0;}


.tribe-events-list-widget{
	text-align:center;}

aside.sidebar .widget h4.tribe-event-title a{
	font-size: 22px;
	font-style: normal;
	font-weight: 100;
	color: #252525;
	line-height:1.3;
	text-align:center;
}

.wpb_widgetised_column .widget h4.tribe-event-title a {
	font-size: 30px;
	font-style: normal;
	font-weight: 100;
	color: #252525;
	line-height:1.3;
	text-align:center;}

aside.sidebar .widget h4.tribe-event-title a:hover, 
.wpb_widgetised_column .widget h4.tribe-event-title a:hover, 
h2.tribe-events-list-event-title a.tribe-event-url:hover {
	color: #862848 !important;}
	
	
.tribe-events-list-widget .tribe-event-featured .tribe-event-duration {
	color: #252525 !important;
	margin:0 auto;
	text-align: center;}

a.tribe-event-ensavoirplus{
	text-decoration:underline;}	

.tribe-events-widget-link{
	color: #862848;
	text-transform:uppercase;
	font-family:'Roboto';
	font-weight:700;}

.tribe-events-widget-link a{
	padding:50px 10px 10px 10px;	
	border-bottom:3px solid #862848;
	color: #862848 !important;
	text-transform:uppercase;
	font-family:'Roboto';
	font-weight:700 !important;	}
	
aside.sidebar .tribe-events-widget-link a{
	padding:50px 10px 10px 10px;	
	border:none;
	color: #862848 !important;
	text-transform:uppercase;
	font-family:'Roboto';
	font-weight:700 !important;
	text-decoration:underline;	}
	
.type-tribe_events h2 a, .type-tribe_events span, .tribe-events-event-meta{
	color:#252525 !important;}

h2.tribe-events-page-title{
	font-size:36px;
	font-weight:100;
	border-bottom:3px solid #862848;
	padding:10px;
	display:inline;
	text-align:center;}

#tribe-events-content.tribe-events-list {
	margin-bottom: 60px;
	text-align: center;}	
	
.wpb_widgetised_column .widget.posts_holder li {
	padding: 1px 0 !important;
	margin: 0;}

.asp_product_name {
	float: left;
	font-size: 24px;
	font-weight: bold;
	line-height: 32px !important;}

li.tribe-events-list-widget-events h4{
	margin:28px 10px !important;
	letter-spacing:1px;
}

.tribe-list-widget .tribe-event-image a img{
	max-width:490px !important;
}

	
	
/*************************************************************/



.comment_holder h5, .comment_pager h5, .comment_form h5{
	color:#969696;
}


/*** Masonry blog : forcer 1 colonne pleine largeur sur tous les appareils ***/
.q_masonry_blog article,
.q_masonry_blog .q_masonry_blog_grid_sizer {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}
.q_masonry_blog .q_masonry_blog_grid_gutter {
  width: 0 !important;
}

/*** Masonry blog : présentation des cards ***/
.q_masonry_blog article {
	background-color: #faf9fa !important;
	border: 2px solid #862848 !important;
	border-radius: 14px !important;
	overflow: hidden;
	margin-bottom: 25px !important;
	padding-bottom: 25px;
}

/* contenu texte en colonne flex pour pouvoir remonter la date en haut */
.q_masonry_blog article .q_masonry_blog_post_text {
	display: flex;
	flex-direction: column;
	padding: 25px 30px 0 30px;
}

/* la date (bloc post_info) passe tout en haut de la card */
.q_masonry_blog article .q_masonry_blog_post_info {
	order: -1;
	margin: 0 0 15px 0 !important;
}
.q_masonry_blog article .q_masonry_blog_post_info .time.entry_date {
	display: block;
	color: #922a4d !important;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

/* Card AVEC image à la une : 2 colonnes, image à droite et plus petite (desktop) */
@media only screen and (min-width: 769px) {
	.q_masonry_blog article.q_masonry_has_image {
		display: flex;
		flex-direction: row-reverse; /* image (1re dans le DOM) renvoyée à droite */
		align-items: center; /* texte centré verticalement par rapport à l'image */
		padding-bottom: 0;
	}
	.q_masonry_blog article.q_masonry_has_image .q_masonry_blog_post_image {
		flex: 0 0 35%;
		max-width: 35%;
		padding: 25px 30px 25px 0;
		box-sizing: border-box;
	}
	.q_masonry_blog article.q_masonry_has_image .q_masonry_blog_post_image a {
		display: block;
	}
	.q_masonry_blog article.q_masonry_has_image .q_masonry_blog_post_image img {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	.q_masonry_blog article.q_masonry_has_image .q_masonry_blog_post_text {
		flex: 1 1 auto;
		min-width: 0; /* évite que le texte déborde en flex */
		padding-bottom: 25px;
	}
}


	



/*** Widget calendrier des événements [calendrier_evenements] ***/
.co-cal-wrap {
	max-width: 1040px;
	margin: 0 auto;
}
.co-cal-multi {
	transition: opacity .2s ease;
}
.co-cal-multi.is-loading {
	opacity: .45;
	pointer-events: none;
}
.co-cal-months {
	display: flex;
	gap: 24px;
	align-items: stretch;
}
.co-cal-month {
	flex: 1 1 0;
	min-width: 0;
	position: relative;
	background: #ffffff;
	border: 1px solid #f0d7e3;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(146, 42, 77, 0.08);
	padding: 22px 24px 28px 24px;
}

.co-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}
.co-cal-title {
	font-size: 22px;
	font-weight: 700;
	color: #922a4d;
	text-transform: capitalize;
	line-height: 1.2;
}
.co-cal-nav {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	background: #f5e3f9;
	color: #862848;
	font-size: 24px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease, color .15s ease;
}
.co-cal-nav:hover {
	background: #862848;
	color: #ffffff;
}
.co-cal-nav-spacer {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
}

.co-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
}
.co-cal-weekdays {
	margin-bottom: 8px;
}
.co-cal-wd {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #b0a3aa;
	padding: 4px 0;
}

.co-cal-day {
	position: relative;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	border-radius: 12px;
	font-family: inherit;
	font-size: 15px;
	color: #3a3a3a;
}
span.co-cal-day {
	cursor: default;
}
.co-cal-day.is-empty {
	visibility: hidden;
}
.co-cal-day.is-today .co-cal-num {
	outline: 2px solid #f0c6d6;
	outline-offset: 3px;
	border-radius: 50%;
}

.co-cal-day.has-event {
	cursor: pointer;
	background: #f5e3f9;
	color: #922a4d;
	font-weight: 700;
	transition: background .15s ease, color .15s ease, transform .1s ease;
}
.co-cal-day.has-event:hover {
	background: #862848;
	color: #ffffff;
	transform: translateY(-1px);
}
.co-cal-day.has-event.is-active {
	background: #862848;
	color: #ffffff;
}
.co-cal-dot {
	position: absolute;
	bottom: 3px;
	left: 50%;
	transform: translateX(-50%);
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #862848;
}
.co-cal-day.has-event:hover .co-cal-dot,
.co-cal-day.has-event.is-active .co-cal-dot {
	background: #ffffff;
}

/* Panneau des événements sous le calendrier */
.co-cal-events {
	margin-top: 24px;
}
.co-cal-events-date {
	margin: 40px 10px 16px 0;
	font-size: 20px;
	font-weight: 700;
	color: #000000;
	text-align: center;
}
.co-cal-event {
	background: #faf7fb;
	border: 2px solid #862848;
	border-radius: 14px;
	padding: 22px 26px;
	margin-bottom: 18px;
}
.co-cal-event-date {
	display: block;
	margin: 0 0 6px 0;
	font-size: 14px;
	font-weight: 700;
	color: #862848;
	text-transform: capitalize;
}
.co-cal-event-title {
	margin: 0 0 10px 0;
	font-size: 19px;
}
.co-cal-event-title a {
	color: #922a4d;
	text-decoration: none;
}
.co-cal-event-title a:hover {
	text-decoration: underline;
}
.co-cal-event-content {
	color: #3a3a3a;
}
/* Carte avec image à la une : texte à gauche, image à droite (comme le widget blog masonry). */
.co-cal-event.has-image {
	display: flex;
	align-items: center;
	gap: 26px;
}
.co-cal-event.has-image .co-cal-event-text {
	flex: 1 1 0;
	min-width: 0;
}
.co-cal-event-image {
	flex: 0 0 42%;
	max-width: 42%;
}
.co-cal-event-image a {
	display: block;
}
.co-cal-event-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}
.co-cal-empty {
	color: #8a8a8a;
	font-style: italic;
}
.co-cal-loading {
	text-align: center;
	color: #862848;
	padding: 20px;
}

/* Les deux agendas s'empilent quand la largeur devient trop juste. */
@media only screen and (max-width: 820px) {
	.co-cal-months {
		flex-direction: column;
		gap: 18px;
	}
	.co-cal-month {
		flex: 1 1 auto;
		width: 100%;
	}
}

@media only screen and (max-width: 480px) {
	.co-cal-month {
		padding: 16px 14px 20px 14px;
		border-radius: 14px;
	}
	.co-cal-grid {
		gap: 3px;
	}
	.co-cal-title {
		font-size: 18px;
	}
	.co-cal-day {
		font-size: 13px;
		border-radius: 9px;
	}
	.co-cal-event {
		padding: 18px 18px;
	}
	.co-cal-event.has-image {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}
	.co-cal-event-image {
		flex-basis: auto;
		max-width: 100%;
	}
}

/* --- Bannière image pleine largeur sous le footer --- */
.co_bottom_banner{
	width:100%;
	margin:0;
	padding:0;
	line-height:0; /* supprime l'espace sous l'image inline */
}
.co_bottom_banner img{
	display:block;
	width:100%;
	height:auto; /* jamais rognée : la hauteur s'adapte à la largeur, desktop comme mobile */
	max-width:100%;
}

.footer_top_holder {
    background-color: #2a0712 !important;
}
/* -------------------------------------------------------------------------
 * Menu mobile : sauter le 1er niveau « La Vie du Cercle Olympe ».
 *
 * Le menu Top Navigation n'a qu'un seul élément de 1er niveau (parent) dont
 * les sous-pages constituent toute la navigation. Sur mobile (burger), Bridge
 * affiche d'abord ce parent qu'il faut déplier d'un 2e clic. On masque donc la
 * ligne du parent et on force l'ouverture de son sous-menu : dès l'appui sur le
 * burger, la liste des pages s'affiche directement.
 * ---------------------------------------------------------------------- */
@media only screen and (max-width: 1000px){
	nav.mobile_menu > ul > li.has_sub > a,
	nav.mobile_menu > ul > li.has_sub > h3,
	nav.mobile_menu > ul > li.has_sub > span.mobile_arrow{
		display:none !important;
	}
	nav.mobile_menu > ul > li.has_sub > ul.sub_menu{
		display:block !important;
	}
	/* Les sous-pages remontent au 1er niveau : on aligne leur retrait à gauche. */
	nav.mobile_menu > ul > li.has_sub > ul.sub_menu > li > a{
		padding-left:0 !important;
	}
}
