/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


:root {
  /* Couleurs principales */
  --color-cta: rgb(216, 162, 40);      /* liens + CTA */
  --color-bg: rgb(242, 237, 231);      /* fond principal */
  --color-bg-alt: rgb(139, 168, 156);  /* fond secondaire */

  /* Optionnel : texte et accents */
  --color-text: #333333;
  --color-accent: var(--color-cta);
}
#header-top {
  position: relative;
  transition: box-shadow 0.3s ease;
}
#header-top.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background: #F2EDE7;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08); /* shadow légère */
}

body.sticky-active {
  padding-top: 80px; /* adapte à la hauteur réelle */
}
#custom-logo p{
  margin-bottom: 0px;
}
html {
  scroll-behavior: smooth;
}

#planning{
  scroll-margin-top: 200px;
}



main {
  min-height: 700px;
}
.woocommerce-checkout  main,.woocommerce-cart main{
    padding-top:100px
}
.text-section-1-home{

  padding-bottom: 30px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-radius: 10px;
}


/* ####################################   post atelier   ############################*/
.atelier-vent-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin: 0 -10px;
}

.atelier-vent-card {
    max-width: 100%; /* 2 cards par ligne sur desktop */
    flex: 1 1 100%;
    background: var(--color-bg-alt);
    border: 1px solid #ddd;
    box-sizing: border-box;
    display: flex; /* image à gauche, texte à droite */
    flex-direction: row;
    overflow: hidden;
    align-items: stretch; /* l'image prend toute la hauteur du bloc texte */
}

.atelier-vent-card .card-image-wrapper {
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
    flex-basis: 30%;

}

.card-image-wrapper img.card-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* remplit le wrapper */
}

.card-no-image {
    width: 100%;
    height: 100%;
    background: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
}

.card-content {
    flex: 1; /* prend le reste de l'espace pour texte et bouton */
    display: flex;
    flex-direction: column;
    background: var(--color-bg-alt); /* couleur de fond du texte */
    padding: 35px 50px; /* padding autour du texte */
    box-sizing: border-box;
    color: #fff;
}

.card-title {
    font-size: 18px;
    margin: 0 0 0 0;
    color:#000;
    margin-bottom: 50px;
    background:#fff;
    padding: 7px 15px;

}

.card-title a {
    text-decoration: none;
    color:#000;
    font-weight: 600;
    padding: 7px 18px;
    width: 100%;
    display: block;
    text-align: center;
    color: #000;
    font-family:"Fahkwang", Sans-serif!important;
}

.card-excerpt {
    flex-grow: 1;
    font-size: 14px;
    margin-bottom: 50px;
}

.card-link {
    align-self: flex-end;
    text-decoration: none!important;
    color: #fff;
    background-color: var(--color-cta);
    padding: 10px 18px;
    border-radius: 4px;
    font-size: 14px;
    border-radius: 20px;

}
.atelier-vent-card {
    display: flex;
    gap: 30px;
    align-items: center;
}

.atelier-vent-card.reverse {
    flex-direction: row-reverse;
}

/* responsive */
@media (max-width: 768px) {
    .atelier-vent-card,
    .atelier-vent-card.reverse {
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .atelier-vent-card{
        max-width: 100%;
        flex-basis: 100%;

    }

    .card-image-wrapper img.card-image{
        max-width: 100%;
    }
}


/*********************** Planniing   ******************/

#swipe-based-planning p{
    margin-bottom: 3px;
}
/* WRAPPER */
.planning-wrapper {
    overflow-x: auto;
    padding-bottom: 10px;
}

/* GRID DES JOURS */
.planning-days {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    gap: 15px;
}

/* COLONNE JOUR */
.day {
    background: #f8f8f8;
    border-radius: 10px;
    padding: 15px;
}

/* TITRE JOUR */
.day h3 {
    text-align: center;
    margin-bottom: 10px;
    color:#000;
    font-size: 18px;
}

/* CARTE COURS */
.course {
    background: white;
    padding: 12px;
    margin-bottom: 12px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* HEURE */
.time {
    font-weight: bold;
    color: #000;
    margin-bottom: 5px;
}

/* TITRE */
.title {
    font-weight: bold;
    font-size: 15px;
}

/* META */
.meta {
    font-size: 13px;
    color: #666;
    margin-bottom: 5px;
}

/* BOUTON */
.course a {
    font-size: 13px;
    color: #000;
    font-weight: bold;
    text-decoration: none;
}

.course a:hover {
    text-decoration: underline;
}

.course-charavines{

    color: #000;
}
.course-charavines .meta{
    color: #000;
}

.meta+a{
    padding: 7px 18px;
    background: var(--color-cta);
    color: #fff;
    border-radius: 9px;
    margin-left: auto;
    display: block;


}

/* MOBILE */
@media (max-width: 768px) {
    .planning-days {
        display: flex;
        gap: 10px;
    }

    .day {
        min-width: 260px;
    }
}

/*********************** formulaire contact    ************************/



.wpcf7 form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  flex-direction: column;
}


.wpcf7 form p{
    margin-bottom: 0px;
}

.wpcf7 form  label{

    font-size: 14px;
}

.nom-prenom{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.nom-prenom>div{
    max-width: 40% ;
}
/* Bloc droit */
.message {
  flex: 1 1 60%;
}


.message label{
    width: 100%;
    margin-top: 25px;
    margin-bottom: 15px;
}
/* Bouton en dessous */


/* Champs */
.wpcf7 input,
.wpcf7 textarea {

  padding: 5.5px 14px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fff;
  transition: 0.3s;
}
.wpcf7 textarea{
    height:  90px;
}
/* Focus */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: var(--color-cta);
  box-shadow: 0 0 0 2px rgba(69, 184, 172, 0.15);
  outline: none;
}

/* Bouton */
input[type="submit"] {
  background: var(--color-cta);
  color: #fff;
  border: none;
  padding: 12px 30px;
  border-radius: 20px;
  cursor: pointer;
  transition: 0.3s;
  align-self: end;
  float: right;
  font-family:"Wix Madefor Text", Sans-serif;
}

input[type="submit"]:hover {
  background: #000
}

/*******   page cours yoga    ******************/




.cours-yoga-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}


@media (min-width: 13890px) {
    wrapper-menu{

    }


}


/* Tablette */
@media (min-width: 600px) and (max-width: 1390px) {

    #bouton-hero{
        margin-bottom: 50px;
    }


    #hero-title{
        margin-top: 10px;
    }



    #h1-home  .h1-home{
        margin-top: 35px;
    }

    .menu-item a{
        font-size: 15px;
        font-weight: 400!important;
    }

    #logo-text a{

        font-size: 28px;
    }

    #charavine-hero{
        margin-top: 25px;
    }

    #hero-header{
        background-size: cover;    /* toute l'image visible */
        background-position: center center;

        min-height:600px
    }

    #charavine-hero,#hero-img-charavines{
        max-height: 480px;
        min-height: 480px;
    }
    #btn-hero-charavines{
        margin-bottom: 80px;
    }

}




/******   menu   ***/
.rmp-menu-item-link{

    font-family:"Fahkwang", Sans-serif!important;

}


.rmp-menu-title-link span{
    font-family:"Style Script", Sans-serif!important;
}
/* Tablette */
@media (min-width: 600px) and (max-width: 1230px) {
    .cours-yoga-cards {
        grid-template-columns: repeat(2, 1fr);
    }


    .menu-item a{
        font-size: 14px;
        padding: 15px 7px!important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .cours-yoga-cards {
        grid-template-columns: 1fr;
    }
}
.cours-yoga-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
}

.cours-yoga-card  .card-image {
    width: 100%;
    height: auto;
    display: block;
}
.cours-yoga-card  .card-image-wrapper{
    width: 100%;
    height: 540px;
}
.cours-yoga-card  .card-image img{

    object-fit: cover;
}

.cours-yoga-card  .card-content {
    padding: 20px 40px;
}

.cours-yoga-card  .card-title {
    font-size: 18px;
    margin-bottom: 10px;
}

.cours-yoga-card  .card-button {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 12px;
    background: var(--color-cta);
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    width: 50%;
    margin: 0 auto;
    text-align: center;
}



.cours-yoga-card  .card-excerpt{

    font-size: 17px;
}

.resume-cours ul{

    padding-left: 0px;
}

.booking-btn{


    padding: 10px 20px;
    color: #fff;
    background: var(--color-cta);
    border-radius: 20px;
    text-decoration: none!important;
    float: right;
}

#link-account{

    display: flex;
    align-items: center;
}

#link-account a{
    color: #555;
    padding: 8px 16px;
    border: 1px solid var(--color-cta);
    border-radius: 7px;
    font-size: 14px;
}

#link-account p{
    margin-bottom: 0px;
}

@media (max-width: 600px) {


    #swipe-based-planning {
  overflow: hidden;
}

#swipe-based-planning .e-con-inner {
  display: flex;
  flex-wrap: nowrap!important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

#swipe-based-planning .e-con-inner > div {
  flex: 0 0 70%;
  scroll-snap-align: start;

}

    .rmp-menu{
        padding-left: 10px;
    }

    #hero-img-charavines{
        background-size: contain;    /* toute l'image visible */
        background-position: center center;

        min-height:400px
    }

    #hero-header{
        background-size: contain;    /* toute l'image visible */
        background-position: center center;

        min-height:750px
    }
    .atelier-vent-card {
        flex-direction: column; /* image au-dessus sur mobile */
        max-width: 100%;
    }
    .card-image-wrapper {
        width: 100%;
        height: 300px!important; /* hauteur fixe sur mobile */
    }

    #mobile-header{
        max-height: 85px!important;
    }
    #custom-logo-mobile p{
        margin-bottom: 0px;
    }


    .rmp-menu-additional-content a{
        color: #000!important;
    }

    #action-menu-mobile{

        display: flex;
        gap: 20px;
        margin-top: 35px;
        margin-bottom: 20px;
    }
    .btn-booking-menu-mobile a{
        padding: 7px 18px;
        background: var(--color-cta);
        border-radius: 7px;
        color: #fff!important;
        font-size: 16px;
        font-family: "Montserrat", sans-serif;
    } 
    .btn-login-menu-mobile a{
        padding: 7px 18px;
        background: #000;
        border-radius: 7px;
        color: #fff!important;
        font-size: 16px;
        font-family: "Montserrat", sans-serif;
    } 

    #h1-home  .h1-home{
        margin-top: 0px!important;
    }

    #bouton-hero{

        margin-top: -50px;
    }
}


/* Responsive */
@media (max-width: 1024px) {
    .atelier-vent-card {
        flex-direction: column; /* image au-dessus sur tablette */
        max-width: 100%;
    }
    .card-image-wrapper {
        width: 100%;
        height: 180px; /* hauteur fixe sur tablette pour garder proportion */
    }



}




/************************  reset password   **********************/



.im-reset-password {
    max-width: 420px;
    margin: 60px auto;
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    font-family: Arial, sans-serif;
}

.im-reset-password h2 {
    margin-bottom: 15px;
    font-size: 22px;
    color: #333;
    text-align: center;
}

.im-reset-password p.intro {
    font-size: 14px;
    color: #666;
    text-align: center;
    margin-bottom: 20px;
}

.im-reset-password input[type="password"] {
    width: 100%;
    padding: 12px;
    margin-top: 10px;
    border-radius: 6px;
    border: 1px solid #ddd;
    font-size: 14px;
}

.im-reset-password button {
    width: 100%;
    margin-top: 20px;
    padding: 12px;
    background: #d8a228;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.3s;
}

.im-reset-password button:hover {
    background: #c3921f;
}

.im-reset-password .success {
    color: green;
    text-align: center;
    margin-top: 15px;
}

.im-reset-password .error {
    color: red;
    text-align: center;
    margin-top: 15px;
}




/*****************  Woocommerce    ****************/


.wc-block-components-product-details__name{
    display: none!important;
}

.title-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.custom-product-title {
    margin: 0;
}

.price-inline {
    font-size: 26px;
    font-weight: bold;
}



.woocommerce-breadcrumb{
    display: none;
}


.bookacti-calendar-title{
    display: none;
}

.summary.entry-summary{
    float: left!important;
    margin-top: 40px;
    width: 100%!important;
}




.summary.entry-summary h2 {
    margin-bottom: 10px;
}

.summary.entry-summary .price {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 15px;
}

.summary.entry-summary .reservation-instructions {
    background: #f8f8f8;
    padding: 15px;
    margin: 15px 0;
    border-left: 4px solid #000;  
    display: flex;
    justify-content: space-between;
}

.product_meta{
    display: none;
}

.bookacti-wc-fullwidth-cart-form .single_add_to_cart_button,.single_add_to_cart_button  {
    background: var(--color-cta)!important;
    border-radius: 20px!important;
    float: right!important;
    margin-bottom: 15px!important;
    font-size: 20px!important;
    font-weight: 400!important;
    
}

.woocommerce-Price-amount bdi{

    color: #000;
}

.woocommerce-notices-wrapper{

    margin-top: 50px;
}


.custom-cart-button{
    display: flex;
    justify-content:end}



    .woocommerce-product-details__short-description{
        background: #f8f8f8;
        padding: 15px;
        margin: 15px 0;
        border-left: 4px solid #000;

    }
/******    Mon compte     ******/

.bookacti-form-field-login-field-container,.bookacti-form-field-name-quantity {
    display: none!important;
}

.bookacti-booking-system-container{
    display: flex;
    flex-direction: column;
}

.bookacti-picked-events{
    order: 1;
}

.bookacti-picked-events{
    order: 2;
}
.bookacti-tooltips-container{
    order: 3;
}
.bookacti-booking-system {
    order: 4;
}

.bookacti-booking-form{
    display: flex;
    flex-direction: column;
}

.bookacti-form-field-name-submit{

    order: 1;
}
.bookacti-form-field-name-calendar{
    order: 2;
}
.bookacti-form-field-name-login ,.woocommerce-account  .bookacti-form-field-name-quantity {

    display: none;
}

/* Conteneur du menu */
.woocommerce-MyAccount-navigation {
    background: #fff;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    margin-top: 100px;
}

/* Liste */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Items */
.woocommerce-MyAccount-navigation li {
    margin-bottom: 8px;
}

/* Liens */
.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    transition: all 0.2s ease;
}

/* Hover */
.woocommerce-MyAccount-navigation a:hover {
    background: #f5f5f5;
}

/* Item actif */
.woocommerce-MyAccount-navigation .is-active a {
    background: var(--color-cta); /* ta couleur principale */
    color: #fff;
}



.woocommerce-MyAccount-navigation {
    background: #111;
}

.woocommerce-MyAccount-navigation a {
    color: #fff;
}

.woocommerce-MyAccount-navigation a:hover {
    background: rgba(255,255,255,0.1);
}

.woocommerce-MyAccount-navigation .is-active a {
    background: var(--color-cta);
}

.woocommerce-account .woocommerce {
    padding-bottom:  100px;
}



/* ===== DESKTOP ===== */
.woocommerce-MyAccount-navigation ul {
    display: block;
}


.mobile-bottom-bar {
    display: none;
}

.bookacti-picked-events{

    margin-bottom: 30px;
}


.wc-block-cart__submit-button:hover{
    color: #fff!important;
}

.wc-block-components-checkout-place-order-button{
    border: 1px solid #000;
    color: #000;

}
.wc-block-components-checkout-place-order-button:hover{
    background: #000;
    
}
@media (max-width: 768px) {

    .custom-product-title {
        margin: 0!important;
        font-size: 25px;
    }

    .title-price-row{
        padding: 0 15px;
    }

    .mobile-bottom-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;
        background: #fff;
        border-top: 1px solid #ddd;
        display: flex;
        justify-content: space-around;
        align-items: center;
        z-index: 9999;
    }

    .mobile-bar-item {
        text-align: center;
        font-size: 14px;
        color: #333;
        text-decoration: none;
    }

    .mobile-bar-item span {
        display: block;
        font-size: 12px;
    }

    /* évite que le contenu soit caché derrière */
    body {
        padding-bottom: 70px;
    }

    .wp-block-woocommerce-cart.alignwide{
        margin-inline: 0px!important;
    }


    .custom-cart-button {
        display: none;
    }
    .woocommerce-cart  main, .woocommerce main{
        margin-top: 150px;
    }
    .woocommerce-account main{
        margin-top: 75px;
    }
    .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow-x: auto; /* scroll horizontal */
        white-space: nowrap;
        gap: 10px;

    }

    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
        margin-bottom: 0px;
    }

    .woocommerce-MyAccount-navigation li a {
        display: block;
        padding: 10px 15px;

        border-radius: 20px;
        font-size: 14px;
    }

}

.back_formules {
    text-align: center;
}

.back_formules a {

    padding: 7px 15px;
    background: var(--color-cta);
    color: #fff!important;
    border-radius: 8px;


}