/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */

.lieux-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.lieux-carousel {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

.lieux-carousel .lieu-card {
    min-width: 30%;
    scroll-snap-align: start;
}

/*.lieu-card {
    background: #fff;
    padding: 16px;
    border-radius: 12px;
}
*/
.lieu-img img {
    width: 100%;
    height: 190px;
    border-radius: 8px 8px 0 0;
    object-fit: cover;
}
.lieu-content h3 {
    font-weight: 600;
    font-size: 1.2em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 10px 0 0 !important;
    color: #ffff;
}

.lieu-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lieu-filter {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.lieu-filter button {
    cursor: pointer;
    border-radius: 5px;
    background: var(--global-palette2);
    color: #ffff;
    font-size: .95em;
    font-weight: 500;
    transition: all .5s;
    padding: 8px 25px;
}

.lieu-filter button:hover ,.lieu-filter button.active {
    background: var(--global-palette-btn-bg);
    color: var(--global-palette2);
}


.lieu-desc p {
    margin: 0 !important;
}

.lieu-desc {
   font-size: .85em;
    color: #9B9AA2;
}
p.lieu-capacite {
        margin: 0 !important;
    color: #ffff;
    font-size: 1em;
    font-weight: 300;
}
p.lieu-capacite span {
    font-weight: 600;
}
.lieu-content {
    padding: 15px;
}
.flex-content-lieu {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
    margin-top: 15px;
}
.lieu-more {
    display: inline-block;
    margin-top: 10px;
    background: #fff;
    font-size: .9em;
    font-weight: 500;
    padding: 8px 15px;
    border-radius: 5px;
    transition: all .5s;
    color: #171616;
    display: inline-block;
}
.lieu-card {
    background: #171616;
    border-radius: 8px;
   

}

.hover-style{
     position: relative;
  transition: background 0.3s;
}

/*.lieu-card {
  position: relative;
  padding: 2rem;
  border-radius: 16px;
  background-color: #171616;
  transition: background 0.2s ease;
}*/

.hover-style:hover {
  background:
    radial-gradient(
      600px circle at var(--x, 50%) var(--y, 50%),
      rgba(255, 255, 255, 0.22),
      transparent 45%
    ),
    #171616;
}
.swiper-button-next, .swiper-button-prev {
    width: 32px !important;
    height: 32px !important;
}
.swiper-button-next:after, .swiper-button-prev:after {
    color: #fff;
    background: #171616;
    border-radius: 100px;
    width: 32px !important;
    font-size: 15px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: -40px;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: -40px;
}

section.lieu-galerie {
  position: relative;
}

section.lieu-galerie::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    background: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 100%);
    pointer-events: none;
}

.lieu-gallery-swiper img {
        width: 100%;
    border-radius: 8px;
    height: 420px;
    object-fit: cover;
}

.lieu-infos p,
.lieu-capacites p {
    margin-bottom: 8px;
}

.lieu-map iframe {
    width: 100% !important;
    height: 270px;
    border-radius: 8px;
    box-shadow: -1px 0px 3px 0px #e1e1e1;
    margin-top: 15px;
}

.swiper-pagination-bullet-active {
    background: var(--global-palette1);
    opacity: 1 !important;
}
.swiper-pagination-bullet {
    width: 15px;
    height: 5px;
    display: inline-block;
    border-radius: 5px;
    opacity: 0.6;
}

.infos-lieu_top {
    background: var(--global-palette2);
    color: #ffff;
    max-width: 1024px;
    margin: 3em auto 3em;
    padding: 60px;
    border-radius: 8px;
}

.titre-lieu {
    color: var(--global-palette1);
    text-align: center;
    font-weight: 500;
    font-size: 2.2em;
}

.flex-infos_lieu {
    display: flex;
    gap: 20px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 800px;
    margin: 20px auto 0;
}

.card-infos span {
    display: block;
}
span.light-t {
    font-size: 12px;
}
span.bold-number {
    font-size: 30px;
    font-weight: 600;
}

.cols-lieu {
    max-width: 1290px;
    margin: auto;
    padding: 0 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
}
.left-lieu, .right-lieu {
    flex-basis: 50%;
}
.lg-t_lieu {
    font-size: 24px;
    font-weight: 600;
}
.normal-t_lieu {
    font-size: 18px;
    font-weight: 600;
}
.lieu-description p {
    margin: 0 !important;
}

.lieu-description {
    margin-bottom: 1.5em;
    font-size: .95em;
    margin-top: 0.5em;
}
.lieu-adresse {
    text-align: center;
    font-size: 15px;
    font-style: italic;
    font-weight: 400;
}
p.lieu-acces {
    margin: 0 0 15px;
}
.capacite-flex {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
    gap: 20px;
    margin-top: 15px;
    margin-bottom: 2em;
}
.capacite-card {
    background: var(--global-palette2);
    color: #ffff;
    padding: 25px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
}

.capacite-card svg {
    stroke: var(--global-palette1);
    margin-bottom: 15px;
}

.capacite-card span{
    font-weight: 400;
}
.right-lieu {
    padding-left: 30px;
    position: relative;

}
.bg-form {
    background: var(--global-palette2);
    padding: 30px;
    border-radius: 8px;
    position: sticky;
    top: 0;
}
main.single-lieu {
    margin-bottom: 3em;
}

.frm-fluent-form label {
    color: #ffff;
    font-size: 14px;
    font-weight: 500 !important;
    font-family: var(--global-body-font-family) !important;
}
.frm-fluent-form label:after {
    color: #ffff !important;
}
.ff-default .ff-el-form-control::placeholder{
    color: #A2A2AB !important;
}
.ff-default .ff-el-form-control {
    border: 1px solid #28282B !important;
    background: #28282b7d !important;
    color: #ffff !important;
    font-size: 0.9em !important;
}

.ff-default .ff-el-form-control:focus {
    border-color: #A2A2AB !important;
}
select.ff-el-form-control:not([size]):not([multiple]){
    color: #ffff !important;
}
.resa {
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
}
.ff-el-group.ff-text-left.ff_submit_btn_wrapper {
    margin-bottom: 0;
    display: flex;
    justify-content: center;
}
form .ff-btn-submit{
    background: #ffff !important;
    color: #000 !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    border-radius: 5px !important;
    transition: all .5s !important;
}
form#fluentform_3 {
    margin-bottom: 0;
}
form .ff-btn-submit:hover {
    background: var(--global-palette-btn-bg) !important;
    color: #000 !important;
  
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected:first-child label>span {
    border-left-color: var(--global-palette1) !important;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected label>span {
    background-color: var(--global-palette1) !important;
    border-color: var(--global-palette1) !important;
    color: #000 !important;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check label>span:hover {
    color: #000 !important;
}
.under-l span:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 5px;
    background: var(--global-palette1);
    bottom: 0;
    border-radius: 100px;
}
.under-l span {
    position: relative;
}
.confience img {
    width: 48px;
    object-fit: contain;
    height: 50px;
}

.color-t span {
    color: var(--global-palette1) !important;
}
.titre-green {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.image-h {
  /*width: 400px;
  height: 300px;*/
  perspective: 1000px;
  overflow: hidden;
}

.image-h img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-style: preserve-3d;
  transition: transform 0.15s ease-out;
  will-change: transform;
}
.site-header-row-container-inner {
    --scroll-progress: 0%;
    position: relative;
}

.site-header-row-container-inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: var(--scroll-progress);
    background: var(--global-palette1);
}
.evenement-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.evenement-item {
    background: #171616;
    border-radius: 8px;
    color: #fff;
}
.evenement-thumb img {
    width: 100%;
    height: 256px;
    border-radius: 8px 8px 0 0;
    object-fit: cover;
}
.thumb-content {
    position: relative;
}
img.evenement-logo {
    position: absolute;
    width: 48px;
    height: 48px;
    bottom: 10px;
    right: 10px;
    padding: 10px;
    background: rgb(0 0 0 / 44%);
    object-fit: contain;
    border-radius: 5px;
}
.evenement-categories {
    position: absolute;
    top: 10px;
    left: 10px;
    color: #000;
    background: var(--global-palette-btn-bg);
    border-radius: 100px;
    padding: 1px 10px;
    font-size: 14px;
    font-weight: 500;
}
.flex-content-event {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    align-items: center;
}
.flex-content-event svg {
    width: 15px;
}
.item-ev {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #a1a1aa;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
    min-height: 45px;
}
.evenement-content {
    padding: 20px 20px 30px;
}
.evenement-title {
    color: #ffff;
    font-size: 20px;
}
.evenement-description {
    color: #a1a1aa;
    font-size: .9em;
    margin-top: 5px !important;
}
/*tablette */
@media (max-width: 991.98px) {  

.lieux-grid {
    grid-template-columns: repeat(2, 1fr);

}
.left-lieu, .right-lieu {
    flex-basis: 100%;
}

.infos-lieu_top {
    margin: 2em 20px 2em;
    padding: 30px;
}
.right-lieu {
    padding-left: 0;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 0;
    top: var(--swiper-navigation-top-offset, 40%);
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 0;
    top: var(--swiper-navigation-top-offset, 40%);
}
.evenement-list {
    grid-template-columns: repeat(2, 1fr);
} 

}


/*Mobile */
@media (max-width: 575.98px) { 


.evenement-list {
    grid-template-columns: repeat(1, 1fr);
} 

.lieux-grid {
    grid-template-columns: repeat(1, 1fr);

}
.lieu-gallery-swiper img {
    height: 350px;
}
.titre-lieu {
    font-size: 1.5em;
}
.card-infos {
    flex-basis: 100%;
    text-align: center;
}
.capacite-flex {
    grid-template-columns: repeat(2, 1fr);
}
.infos-lieu_top {
        margin: 2em 10px 2em;
}
.cols-lieu {
    padding: 0 10px;
}

}




































