/* === VARIABLES CSS === */
:root {
  --color-primary: #BC0A15;
  --color-primary-hover: #d93a3a;
  --color-secondary: #ffffff;
  --color-button-hover: #F0F0F0;
  --color-accent: #3B6F59;
  --color-accent-hover: #4F8C70;
  --color-bg: #FAF9F6;
  --color-font: #1E1E1E;
}

/* === BACKGROUND GÉNÉRAL === */
#page-container{
  overflow-x: hidden;
}

body,
.et_pb_section {
  background: var(--color-bg) !important;
}

.et_builder_inner_content {
  background: var(--color-bg) !important;
}

/* === ANIMATIONS ET TRANSITIONS === */
/* Effet hover scaling sur les boutons */
.et_pb_button,
.tribe-events-widget-events-list__view-more-link {
  transition: all 0.3s ease-out;
}

.et_pb_button:hover,
.tribe-events-widget-events-list__view-more-link:hover {
  transform: scale(1.02);
}

/* === RESPONSIVE MOBILE === */
/* Espacement des colonnes en mobile */
@media only screen and (max-width: 980px) {
  .mobile-columns .et_pb_column {
    margin-bottom: 2.5em !important;
  }
  
  .mobile-columns .et_pb_section {
    padding: 0 !important;
  }
  
  .mobile-columns .et_pb_column:last-of-type {
    margin-bottom: 0 !important;
  }

  @media (max-width: 980px) {
    .et_pb_section {
        padding: 20px 0;
    }
  }
  
  /* Gestion filtres mobile/desktop */
  .sidebar-categories {
    display: none !important;
  }
  
  .mobile-filter {
    display: block !important;
  }
}

@media only screen and (min-width: 981px) {
  .sidebar-categories {
    display: block !important;
  }
  
  .mobile-filter {
    display: none !important;
  }
}

/* === FILTRES MOBILES === */
.mobile-filer-div {
  display: flex;
  justify-content: space-between;
}

#toggle-filter,
#toggle-all {
  background: var(--color-secondary) !important;
  color: var(--color-font) !important;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  font-weight: bold;
}

#filter-content ul {
  list-style: none;
  display: flex;
  gap: 1em;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

#filter-content ul li a {
  background: var(--color-secondary) !important;
  border: none;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  padding: .5em 1em;
  color: #1e1e1e !important;
  transition: all 0.3s ease-out;
}

/* === SIDEBAR ÉVÉNEMENTS === */
/* Bouton "Voir plus" de la sidebar */
.tribe-events-widget-events-list__view-more.tribe-common-b1.tribe-common-b2--min-medium {
  display: flex;
  justify-content: center;
}

.tribe-events-widget-events-list__view-more.tribe-common-b1.tribe-common-b2--min-medium a {
  color: var(--color-bg) !important;
  padding: .3em 1em !important;
  font-size: 16px !important;
  font-family: 'Kodchasan', Helvetica, Arial, Lucida, sans-serif;
  background-color: var(--color-primary) !important;
  border-radius: 8px !important;
  line-height: 1.7em !important;
  font-weight: 500 !important;
  transition: all 300ms ease 0ms !important;
}

.tribe-events-widget-events-list__view-more.tribe-common-b1.tribe-common-b2--min-medium a:hover {
  background-color: var(--color-primary-hover) !important;
}

/* Style général de la sidebar */
.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) {
  background: var(--color-secondary);
  padding: 1.5rem;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget-events-list__header-title.tribe-common-h6.tribe-common-h--alt {
  font-family: 'Kodchasan', Helvetica, Arial, Lucida, sans-serif;
  font-size: 1.3rem;
  color: var(--color-font);
  background: none;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget-events-list__event-datetime-wrapper {
  display: flex !important;
  align-items: center;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget-events-list__event-datetime-wrapper span {
  font-size: 13px !important;
  color: var(--color-font) !important;
  font-weight: normal !important;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget .tribe-events-widget-events-list__event-date-tag-datetime {
  display: block !important;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget-events-list__event-date-tag-datetime:after {
  content: '-';
  margin-right: 5px;
  background: none !important;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-common-g-row.tribe-events-widget-events-list__event-row {
  transition: border-left-width 0.3s ease;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-common-g-row.tribe-events-widget-events-list__event-row:hover {
  border-left-width: 20px !important;
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget-events-list__event-row {
	padding: 0 0.5em
}

.et_pb_widget_area.et_pb_widget_area_left.et_pb_bg_layout_light:not(.homeEvent) .tribe-events-widget-events-list__event-date-tag-datetime {
	border: none !important;
}

/* === SIDEBAR CATÉGORIES === */
.sidebar-categories {
  background: var(--color-secondary);
  padding: 1.5rem;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  font-family: "Segoe UI", sans-serif;
}

.sidebar-categories h3 {
  margin-bottom: 1rem;
  font-size: 1.3rem;
  color: var(--color-font);
}

.sidebar-categories ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-categories li {
  border-bottom: 1px solid #ccc;
  padding: 0.5rem 0;
}

.sidebar-categories li:last-child {
  border-bottom: none;
}

.sidebar-categories a {
  text-transform: capitalize;
  text-decoration: none;
  color: var(--color-font) !important;
  font-size: 1rem;
  transition: color 0.2s;
}

.sidebar-categories a:hover {
  color: var(--color-accent) !important;
}

/* === GRILLE D'ARTICLES === */
.articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
}

.articles-grid h2 {
    margin-bottom: 10px;
}

/* === PAGINATION === */
.pagination-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin: 2rem auto;
}

.pagination-wrapper a,
.pagination-wrapper span {
  font-size: 1.1rem;
  padding: 0.7rem 1.2rem;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  text-decoration: none;
  font-weight: bold;
  transition: 0.2s;
}

.pagination-wrapper a {
  background-color: var(--color-secondary);
  color: #1E1E1E;
}

.pagination-wrapper a:hover {
  background-color: var(--color-button-hover);
}

.pagination-wrapper span {
  background-color: #9DBF9E;
  color: #FAF9F6;
}

/* === STYLES DYNAMIQUES HEADER === */
.mobile_menu_bar:before {
  transition: color 0.3s ease;
}

/* === GROUPE ICÔNES MENU === */
.menu-icons-group {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* === CONTRAST HEADER STICKY === */
.et_pb_sticky--top .et_pb_row--with-menu {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

	/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}


/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: #BC0A15;
	background: #FAF9F6;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	display: block;
	bottom: 10px;
	line-height: 0;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

/* === PADDING OF HERO SECTION === */
.hero-section {
	padding-top: 220px !important;
	background: var(--color-accent) !important;
}

@media only screen and (max-width: 980px) {
	.hero-section {
		padding-top: 120px !important;
	}
}

@media only screen and (max-width: 767px) {
	.hero-section {
		padding-top: 110px !important;
	}
}

/* === PADDING WOOCOMERCE MSG === */
#main-content > .woocommerce-notices-wrapper [role="alert"] {
        padding-top: 250px !important;
        margin: 0 !important;
        background: var(--color-accent) !important;
}

#main-content > .woocommerce-notices-wrapper [role="alert"]:not(:has(ul)) {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
	align-items: center;
}

#main-content > .woocommerce-notices-wrapper [role="alert"] li {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
	align-items: center;
}

@media only screen and (max-width: 980px) {
        #main-content > .woocommerce-notices-wrapper [role="alert"] {
                padding-top: 130px !important;
        }
}

@media only screen and (max-width: 980px) {
        #main-content > .woocommerce-notices-wrapper [role="alert"] {
                padding-top: 120px !important
        }
}
