/*!
Theme Name: Vault Child
Theme URI: https://uicore.co
Description: Multi-Purpose Elementor WordPress Theme
Author: UiCore
Author URI: https://uicore.co
Template: vault
Version: 1.0.0
Text Domain: vault
*/

 /* Add your custom style here */

header.uicore.uicore-page-title.uicore-section.uicore-box {
  position: relative; /* important pour le pseudo-élément */
  overflow: hidden;   /* pour ne pas dépasser */
}

header.uicore.uicore-page-title.uicore-section.uicore-box::after {
  content: "";
  position: absolute;
  bottom: 0; /* place les vagues en bas */
  left: 0;
  width: 100%;
  height: 100px; /* hauteur de tes vagues */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;

  /* Intégration de ton SVG en background */
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 500 150' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'><path fill='%23ffffff' d='M-1.12,75.48 C182.28,192.92 344.24,-17.27 507.89,123.84 L500.00,150.00 L0.00,150.00 Z'></path></svg>");
}

.custom-submenu h3 {
	margin-top: 0px;
}

.custom-submenu .submenu-title a {
  font-family: Bebas Neue;
  letter-spacing: 2.11px;
  padding-bottom: 10px;
  font-weight: 500;
  color: #878787 !important;
  border-bottom: 3px solid #878787 !important;
  font-size: 20px;
  text-transform: uppercase;
}

.custom-submenu .submenu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.custom-submenu .submenu-list li {
 padding-bottom: 15px;
}

.custom-submenu .submenu-sublist li {
 padding-bottom: 3px;
}

.custom-submenu .submenu-list li a {
  text-decoration: none;
  color: #2A2929;
  font-size: 19px;
}
.custom-submenu .submenu-list li a:hover {
  color: var(--uicore-primary-color); /* highlight active page */
}

.custom-submenu .submenu-list li.active a {
  color: var(--uicore-primary-color); /* highlight active page */
}


.sermon-item .sermon-title a {
  font-size: 26px;
  font-weight: 600;
  color: #272727;
  padding-bottom: 5px;
}

.sermon-item .sermon-title a:hover {
  color: var(--uicore-primary-color); /* highlight active page */
}

.sermon-item .sermon-meta a {
  color: var(--uicore-primary-color); /* highlight active page */
  text-decoration: none;
}

.sermon-archive, .sermon-single, .events-archive {
    max-width: var(--content-width) !important;
}

.events-archive-container {
  margin-bottom: 50px !important;
}

.btn-back-archive {
    letter-spacing: 2px;
    font-size: 14px;
    padding: 15px 20px;
    border-radius: 35px;
    color: #2a2929;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    margin-bottom: 30px;
    display: inline-block;
}


/* CONTENT SERMON ARCHIVE */


.sermon-top {
    display:flex;
    justify-content:space-between;
    align-items: center;
    border-bottom:1px solid #eee;
    padding:30px 0;
}

.sermon-item:last-of-type .sermon-top{
  border-bottom: none;
}

.sermon-title {
    margin:0 0 4px;
}
.sermon-meta {
    font-size:14px;
    color:#555;
}
.sermon-actions-inline {
    display:flex;
    flex-shrink:0;
    gap:10px;
    align-items:center;
    margin-left:15px;
}
.sermon-listen-btn {
    background:#f7f7f7;
    border:none;
    padding:14px 24px;
    border-radius:25px;
    cursor:pointer;
    font-size:14px;
    text-transform: uppercase;
    font-weight:600;
    color:rgba(0,0,0,.4);
}
.sermon-download-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:45px;
    height:45px;
    border-radius:100%;
    background:#f7f7f7;
    color:rgba(0,0,0,.4);
    transition:background .2s;
}
.sermon-download-btn:hover, .sermon-listen-btn:hover  {
    background: var(--uicore-primary-color);
    color: white;
}

/* PLAYER FLOTTANT */
.floating-player {
    position:fixed;
    bottom:20px;
    right:20px;
    width:320px;
    background:#fff;
    border:1px solid #ccc;
    border-radius:8px;
    padding:12px;
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
    z-index:9999;
}
.fp-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:8px;
}
.fp-title {
    font-size:16px;
    font-weight:bold;
}
.fp-close {
    cursor:pointer;
    font-size:18px;
    color:#999;
}
.fp-meta {
    font-size:13px;
    color:#555;
    margin-bottom:8px;
    line-height:1.4;
}
.fp-audio {
    width:100%;
}

.latest-sermon .sermon-actions-inline button, .latest-sermon .sermon-actions-inline svg {
    color: var(--uicore-primary-color);
}

.latest-sermon .sermon-actions-inline button:hover, .latest-sermon .sermon-actions-inline .sermon-download-btn:hover svg {
  color: white;
}

.latest-sermon, .latest-sermon h3 a {
  color: white !important;
}

.latest-sermon h3 a:hover {
  text-decoration: underline;
}

.latest-sermon .sermon-top {
  border: none;
}

.latest-sermon .sermon-date {
    display: block;
    font-family: Bebas Neue;
    font-weight: 400;
    font-size: 24px;
    letter-spacing: 2px;
    line-height: 33px;
    margin-bottom: 15px;
}

/* SINGLE SERMON */

.sermon-single .sermon-date {
  font-weight: 600;
}

.sermon-single .sermon-actions-inline {
  margin-left: 0px;
  margin-top: 20px;
}

.uicore-page-title h1.uicore-title {
  font-weight: 400;
  font-size: 50px;
}

@media screen and (max-width: 1200px) {
  .custom-submenu {
    display: none;
  }
}

.custom-submenu ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}


.custom-submenu ul.submenu-sublist li a {
    font-size: 15px;
}


.filter-columns .filter-column {
  width: 50%;
}

.filter-columns .filter-column h4, .filter-column.speakers h4, .filter-column.topics h4, .date-filter-column h4 {
  background-color: #272727;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 4px;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 35px;
  height: 35px;
  border-radius: 4px;
  color: white;
}

.filter-columns.scriptures ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

.filter-columns .filter-column a {
  color: var(--uicore-primary-color);
  font-weight: 600;
  font-size: 17px;
}

.filter-columns .filter-column .count, .filter-column.topics .count {
  color: #fff;
  background-color: #d4d4d4;
  margin-left: 10px;
  padding: 2px 7px;
  font-size: 11px;
  border-radius: 3px;
  top: -1px;
  vertical-align: middle;
}

.speaker-button:hover {
  background-color: var(--uicore-primary-color);
  border: 1px solid var(--uicore-primary-color);
  color: white !important;
  text-decoration: none !important;
}

.speaker-button {
  font-weight: 600;
  font-size: 15px;
  border: 1px solid #d9d9d9;
  color: #2a2929 !important;
  text-decoration: none;
  padding: 8px 22px;
  border-radius: 6px;
}

.filter-column.speakers ul li {
  padding: 30px 0px;
  border-bottom: 1px solid #e5e5e5;
}

.filter-column.speakers ul li:last-child {
  border-bottom: none;
}

.filter-column.speakers ul li span {
  font-size: 25px;
  font-weight: 600;
}

.filter-column.topics ul li a:first-of-type {
  color: var(--uicore-primary-color);
  font-weight: 600;
}

.filter-column.topics ul li a:first-of-type:hover {
  color: black;
  text-decoration: none !important;
}

.filter-column.topics ul li {
  float: left;
  padding-right: 20px;
}

.date-filter-column {
  max-width: 48%;
  min-width: 48%;
}

.date-filter-columns {
  flex-wrap: wrap;
}

.series {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 30px;
}

.series .series-group {
    cursor: pointer;
    display: inline-table;
    margin-bottom: 0;
    padding-right: 0;
    width: 100%;
}

.series .series-group .series-group-name {
  text-align: center;
  color: #2a2929;
  font-weight: 600;
  font-size: 16px;

}

.series-group a img {
  transition: transform 0.3s ease;
  transform: scale(1);
  width: 100%;
}

.series-group a:hover img {
  transform: scale(0.9); /* Zoom out */
}

.sermon-filters-tabs {
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  flex-wrap:wrap; 
  margin-bottom:40px;
}

.sermon-tabs {
  display: none !important;
}

.sermon-tabs .tab:first-child {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-top: 3px solid #2A2929;
    border-left: 3px solid #2A2929;
    border-bottom: 3px solid #2A2929;
    border-right: 1px solid #2A2929;
}

.sermon-tabs .tab:last-child {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top: 3px solid #2A2929;
    border-right: 3px solid #2A2929;
    border-bottom: 3px solid #2A2929;
    border-left: 1px solid #2A2929;
}

.sermon-tabs .tab {
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    color: #272727;
    padding: 17px 15px 15px 24px;
}

.filter-by-wrapper span {
    font-weight: 600;
    font-size: 16px;
    line-height: 49px;
    color: #272727;
}


.sermon-tabs .tab, .filter-tabs .filter-tab {
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 4px;
}

.filter-tabs {
    border: 3px solid rgba(0, 0, 0, .12);
    border-radius: 30px;
    padding: 3px !important;
    color: #2a2929;
    font-size: 14px;
    font-weight: 500;
}

.filter-tabs .filter-tab:hover {
    background: var(--uicore-primary-color);
    border-radius: 30px;
    color: white;
}

.filter-tabs .filter-tab.active {
    background: rgba(0, 0, 0, .12);
    border-radius: 30px;
    color: white;
}

.sermon-tabs .tab.active, .filter-tabs .filter-tab.active {
  background-color: #272727;
  color: white;
  font-weight: bold;
}
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}
.filter-list ul {
  list-style:none;
  padding-left:0;
}
.filter-list ul li {
  margin-bottom: 6px;
}
.filter-list ul li a {
  text-decoration:none;
  color:#0366d6;
}
.filter-list ul li a:hover {
  text-decoration: underline;
}
.btn-back-to-sermons {
  cursor: pointer;
  border: 1px solid #ccc;
  letter-spacing: 2px;
  font-size: 14px;
  padding: 15px 20px;
  float: center;
  border-radius: 35px;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: #2a2929;
}

.view-all-year-button {
    transition: all .1s linear;
    margin: 5px auto 0 auto;
    display: block;
    width: 160px;
    height: 35px;
    font-size: 14px;
    font-weight: 600;
    line-height: 35px;
    text-align: center;
    border-radius: 5px;
    color: #2a2929;
    background: #fff;
    border: 1px solid #d9d9d9;
}


.view-all-year-button:hover {
  color: white;
  background: var(--uicore-primary-color);
  border-color: var(--uicore-primary-color);
}


.sermon-description {
  border-top: 1px solid #ebebeb;
  padding-top: 20px;
  margin-top: 20px;
}

.nav-links {
  border-radius: 25px;
  font-size: 13px;
  letter-spacing: 1.3px;
  font-family: Metropolis, sans-serif;
  font-weight: 800;
  color: #36333b;
  border: 2px solid #dfdfdf;
}

.nav-links .page-numbers {
  padding: 12px 20px 10px 20px;
}

/* Container principal de la pagination */
.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 40px 0;
    /* background: #f8f9fa; */
    border-radius: 50px;
    padding: 5px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

/* Style pour tous les éléments de pagination */
.nav-links .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 15px;
    border: none;
    background: transparent;
    color: var(--uicore-primary-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.3s ease;
    border-radius: 0;
    padding-top: 3px;
    margin: 0;
}

/* Style pour la page courante */
.nav-links .page-numbers.current {
    background: var(--uicore-primary-color);
    color: white;
    border-radius: 50px;
    transform: scale(1.05);
}

/* Hover sur les liens */
.nav-links .page-numbers:not(.current):hover {
    background: rgba(0, 124, 186, 0.1);
    color: #005a87;
    border-radius: 50px;
}

/* Style spécial pour le bouton Next */
.nav-links .next.page-numbers {
    color: var(--uicore-primary-color);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
    padding-left: 20px;
    position: relative;
}

/* Flèche pour le bouton Next */
.nav-links .next.page-numbers::after {
    content: '→';
    margin-left: 8px;
    font-size: 16px;
    transition: transform 0.3s ease;
}

/* Animation de la flèche au hover */
.nav-links .next.page-numbers:hover::after {
    transform: translateX(3px);
}

/* Style pour le bouton Previous si présent */
.nav-links .prev.page-numbers {
    color: var(--uicore-primary-color);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
    padding-right: 20px;
    position: relative;
}

/* Flèche pour le bouton Previous */
.nav-links .prev.page-numbers::before {
    content: '←';
    margin-right: 8px;
    font-size: 16px;
    transition: transform 0.3s ease;
}

/* Animation de la flèche au hover */
.nav-links .prev.page-numbers:hover::before {
    transform: translateX(-3px);
}

/* Points de suspension si présents */
.nav-links .dots {
    color: #999;
    padding: 0 10px;
    font-weight: 600;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .nav-links {
        padding: 6px;
        border-radius: 40px;
    }
    
    .nav-links .page-numbers {
        min-width: 40px;
        height: 40px;
        font-size: 14px;
        padding: 0 10px;
    }
    
    .nav-links .next.page-numbers,
    .nav-links .prev.page-numbers {
        font-size: 12px;
        padding-left: 15px;
        padding-right: 15px;
    }
	
	.uicore-page-title .uicore h1.uicore-title {
		font-size: 26px;
		padding-bottom: 40px;
	}
	
	.uicore-navigation-wrapper .uicore-menu-container ul .menu-item.DesktopMenuCalendar {
		display: none !important;
	}

	.uicore-navigation-wrapper .uicore-menu-container ul .menu-item.MobileMenuCalendar {
		display: block !important;
	}
}

.uicore-navigation-wrapper .uicore-menu-container ul .menu-item.DesktopMenuCalendar {
	display: block;
}

.uicore-navigation-wrapper .uicore-menu-container ul .menu-item.MobileMenuCalendar, .uicore-navbar:not(.uicore-left-menu) li.menu-item.MobileMenuCalendar {
	display: none;
}

