/* 
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 */


/*complianz*/

#cmplz-manage-consent .cmplz-manage-consent {
    bottom: 30px !important;
    left: 30px !important;
    border-radius: 100% !important;
    color: #02261a !important;/*CHANGER LA COULEUR*/
    background: #02261a !important;/*CHANGER LA COULEUR*/
    padding: 15px 15px 15px 15px !important;
    min-width: unset !important;
    width: 45px;
    height: 45px !important;
    padding: 0 !important;
    background-image: url(https://kappy-vigne.fr/wp-content/uploads/2026/03/cookie.png) !important;/*CHANGER L'URL*/
    background-position: center;
    background-repeat: no-repeat !important;
}

.grecaptcha-badge { display : none!important; }


/*************HEADER*****************/
.header-sticky {
  position: fixed;
  top: 0;
  transition: background-color 0.3s ease;
  z-index: 1000;
}

.header-sticky.scrolled {
  background-color: #faf6ee!important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* optionnel */
}

.logo-dark {
  display: none;
}

.header-sticky.scrolled .logo-light {
  display: none;
}

.header-sticky.scrolled .logo-dark {
  display: block;
}

/* Couleur des liens du menu */
.header-sticky.scrolled .menu nav ul li a {
  color: var(--e-global-color-primary)!important;
}

/* Couleur du SVG du panier */
.header-sticky.scrolled .panier .e-font-icon-svg, .header-sticky.scrolled .menu-mobile svg, .header-sticky.scrolled .elementor-icon-wrapper svg {
  fill: var(--e-global-color-primary)!important;
}

/***************TELEPHONES ACCUEIL*****************/

.phones{
    overflow:hidden;
}

.phone-wrapper-1 {
  position: absolute;
  right: 314px;
  bottom: 20%;
  animation: floatUpDown 9s ease-in-out infinite;
  z-index: 1;
}

.phone-wrapper-2 {
  position: absolute;
  right: 62px;
  bottom: 10%;
  animation: floatUpDown 7.5s ease-in-out reverse infinite;
}

.phone {
  transition: transform 1.2s ease;
  will-change: transform;
}

@keyframes floatUpDown {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(10px, -30px);
  }
  100% {
    transform: translate(0, 0);
  }
}



/*****************/
/*BOUTONS APP STORE*/
/*****************/


.btn-row {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
      margin-top: 0.4rem;
    }

    .btn-store {
      display: flex;
      align-items: center;
      gap: 10px;
      background: #ffffff2b;
      color: #fff;
      border-radius: 12px;
      padding: 10px 20px;
      text-decoration: none;
      font-size: 0.8rem;
      font-weight: 500;
      transition: transform 0.2s, background 0.2s;
    }

    .btn-store:hover { transform: translateY(-2px); background: #ffffff6b; color:#fff; }

    .btn-store svg {
      width: 20px; height: 20px;
      fill: #fff;
      flex-shrink: 0;
    }

    .btn-store.apple svg{
        width: 25px; height: 25px;
    }

    .btn-store span {
      display: flex;
      flex-direction: column;
    }

    .btn-store .small { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.7; }
    .btn-store .big   { font-size: 0.95rem; font-weight: 700; letter-spacing: -0.01em; }




.scroll-hint {
      position: fixed;
      bottom: 2rem;
      left: 50%;
      transform: translateX(-50%);
      color: #444;
      font-family: sans-serif;
      font-size: 0.75rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      animation: pulse 2s ease-in-out infinite;
    }

    @keyframes pulse {
      0%, 100% { opacity: 0.4; }
      50% { opacity: 1; }
    }

    .title {
          font-size: 78px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    max-width: 900px;
    /* padding: 0 2rem; */
    font-family: 'Agdasima', sans-serif;
    text-transform: uppercase;
    word-spacing: -16px
    }

    .title .word {
      display: inline-block;
      margin-right: 0.25em;
      white-space: nowrap;
    }

    .title .letter {
      display: inline-block;
      color: rgba(42, 42, 42, 0.452);
      transition: color 0.15s ease;
    }

    .title .letter.revealed {
      color: #02261a;
    }






    /* ─── Parent wrapper ─── */
.slides-wrapper,
.slides-wrapper.e-con,
.slides-wrapper > .e-con-inner {
  position: relative !important;
  overflow: visible !important;
  width: 100% !important;
  padding: 0 !important;
}

/* ─── Slide commun ─── */
.slide,
.slide.e-con {
  position: sticky !important;
  top: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  overflow: visible !important;
}

.slide h2,
.slide .elementor-heading-title {
  font-size: 2.25rem;
  font-weight: 700;
}

.slide p,
.slide .elementor-widget-text-editor p {
  margin-top: 0.5rem;
}


/****************TARIFS*****************/

.e-n-tabs-heading {
    background-color: #faf6ee;
    width: fit-content;
    padding: 10px;
    border-radius: 50px;
    align-self: center;
}

.suffixe{
  font-size: 14px;
  color: #a9a9a9;
}

.subscription-details {
  font-size: 14px;
}

.ht{
  font-size: 28px;
}



/*********MORE INFO TARIFS**********/

.elementor-icon-list-text {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
}

.mip-btn {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #aaa;
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 600;
  color: #aaa;
  line-height: 1;
  padding: 0;
  flex-shrink: 0;
  transition: all 0.15s;
}

.mip-btn:hover,
.mip-btn.active {
  border-color: #333;
  color: #fff;
  background: #333;
}

.mip-popover {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  background: #222;
  color: #fff;
  border-radius: 8px;
  padding: 10px 14px;
  width: 220px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 100;
}

.mip-popover.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mip-popover::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 20px;
  border: 6px solid transparent;
  border-top-color: #222;
}

.mip-title {
  font-size: 13px;
  font-weight: 600;
}

.mip-body {
  font-size: 12px;
  opacity: 0.75;
  line-height: 1.5;
}



/*********MON COMPTE*********/

.woocommerce-Button, .woocommerce-info a, .woocommerce-MyAccount-content-wrapper .button, #bouton{
  font-family: var(--e-global-typography-4fa3fc7-font-family);
  font-size: 17px!important;
  font-weight: var(--e-global-typography-4fa3fc7-font-weight);
  line-height: var(--e-global-typography-4fa3fc7-line-height);
  letter-spacing: var(--e-global-typography-4fa3fc7-letter-spacing);
  text-transform: var(--e-global-typography-4fa3fc7-text-transform);
  color: #fff!important ;
  background-color: var(--e-global-color-primary)!important;
  border-radius: 50px!important;
  border: 2px solid var(--e-global-color-primary)!important;
  padding:10px 22px !important;
}


.woocommerce-Button:hover, .woocommerce-info a:hover, .woocommerce-MyAccount-content-wrapper .button:hover, #bouton:hover{
  background-color: var(--e-global-color-8f0a542)!important;
  color: #fff!important;
  border: 2px solid var(--e-global-color-8f0a542)!important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message{
  font-family: var(--e-global-typography-text-font-family);
  font-size: var(--e-global-typography-text-font-size)!important;
  background-color: #fff;
  border-radius: 30px;
}

.woocommerce-info {
    border-top-color: #f4cb19;
}

.woocommerce-info::before {
    color: #f4cb19;
}

.woocommerce-Address-title a{
  font-size: 20px!important;
  word-spacing: 1px;
}



.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Address .edit, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Addresses .edit{
      float: inline-start;
    margin-top: var(--edit-link-margin-top, 10px);
    margin-bottom: 20px;
    position: relative;
    background-color: var(--e-global-color-primary);
    color:#fff;
    padding: 10px 20px;
    border-radius: 30px;
    letter-spacing: 1.2px;
    font-size: 16px !important;
}




/***********PRODUITS***********/

.woocommerce ul.products li.product a img{
      width: 100px;
          justify-self: center;
}


.oadsc-configurator p {
    display: flex;
    flex-direction: row-reverse;
      justify-content: flex-end;
      gap: 10px;
}

.oadsc-configurator input[type=number]{
    width:76px;
    background-color: #faf6ee;
    border-radius: 30px;
    border:none!important;
}

.oadsc-configurator label{
  align-content: center;
}


form.cart{
  flex-direction: column;
}

.csgv-sc-configurator h4{
  font-family: var(--e-global-typography-4fa3fc7-font-family);
  font-weight:600;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--e-global-color-primary);
  margin-bottom: 20px;
}

.csgv-sc-configurator p{
  font-family: var(--e-global-typography-text-font-family);
  font-size: var(--e-global-typography-text-font-size);
  color: var(--e-global-color-primary)
}

.csgv-sc-configurator label{
  font-weight:600;
}

.csgv-sc-configurator input{
  background-color: #fff;
  border-radius: 30px;
  border:none!important;
}

.csgv-sc-configurator{
  margin: 25px 0;
  background-color:#faf6ee;
  padding :30px;
  border-radius: 20px;
}

.elementor-widget-woocommerce-product-price p{
  text-align:center;
}



/*PRODUIT : Changement d'abonnement*/

.postid-1181 .single_add_to_cart_button, .postid-1181 .woocommerce-grouped-product-list-item__quantity{
  display:none!important;
}


.woocommerce-grouped-product-list-item__label a{
    font-family: 'Agdasima';
    font-size: 22px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--e-global-color-primary);
    background-color: var(--e-global-color-secondary) !important;
    padding: 8px 23px;
    border-radius: 30px;
}

.woocommerce-grouped-product-list-item__label a:hover{
background-color: var(--e-global-color-accent)!important;
}



.woocommerce-grouped-product-list-item__price .woocommerce-Price-amount{
font-family: "Rubik", Sans-serif;
    font-size: 21px;
    font-weight: 400;
    color: var(--e-global-color-primary)!important;
}

.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label{
      border-radius: 40px 0 0 40px !important;
}

.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__price{
      border-radius: 0 40px 40px 0 !important;
}


.woocommerce div.product form.cart .group_table td{
  background-color : #faf6ee;
      padding: 2em 2em !important;
    align-content: center;
}

.woocommerce div.product form.cart table {
    border-spacing: 0 18px !important;
    border-collapse: separate;
}


.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__price{
      text-align: right;
}



/*FOrmulaire contact*/


#short-contact-form{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#short-contact-form p:nth-child(1), #short-contact-form p:nth-child(2), #short-contact-form p:nth-child(3), #short-contact-form p:nth-child(4){
	width: 48%;
    display: inline-block;
}

#short-contact-form p:nth-child(5), #short-contact-form p:nth-child(6){
    width:100%;
}

input[type=email], input[type=text], select, textarea, input[type=tel], input[type=password]{
	width: 100%;
	border:none;
	background-color:#faf6ee;
  color: #000;
    border-radius: 30px;
    padding: 0.5rem 1rem;
    transition: all .3s;
	font-weight: 300;
	padding: 15px;
    margin-bottom: 20px;
	outline : none;
	font-size : 14.5px;
	font-family : var(--e-global-typography-text-font-family);
}


a.politique-lien{
	color: var(--e-global-color-primary)!important;
}

select {
	color: #676767;
}

.checkbox-contact {
	font-family : var(--e-global-typography-text-font-family);
	font-size: 13px;
	font-weight : 400;
    color: #a9a9a9;
}



.wpcf7 form.sent .wpcf7-response-output{
	border-color: none;
	color:#ffffff!important;
}
     

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
    padding: 0;
    margin: 30px 0;
    font-weight: 500;
    color: #000;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
    border-color: #f4cb19;
    border-radius: 10px;
}

.error404 .container{
	height:100vh;
	top:0px!important;
}



/*formaulaire inscription*/

#csgv-registration-form, fieldset{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#csgv-registration-form p{
  min-width: 48%;
  display: inline-block;
  font-family: var(--e-global-typography-text-font-family)
}


#csgv-registration-form p:nth-child(6), fieldset{
    width:100%;
}

fieldset p:nth-child(6){
  width:48%!important;
}

#csgv-registration-form button:not(#csgv_toggle_password) {
  font-family: var(--e-global-typography-4fa3fc7-font-family);
  font-size: 17px!important;
  font-weight: var(--e-global-typography-4fa3fc7-font-weight);
  line-height: var(--e-global-typography-4fa3fc7-line-height);
  letter-spacing: var(--e-global-typography-4fa3fc7-letter-spacing);
  text-transform: var(--e-global-typography-4fa3fc7-text-transform);
  color: #fff!important ;
  background-color: var(--e-global-color-primary)!important;
  border-radius: 50px!important;
  border: 2px solid var(--e-global-color-primary)!important;
  padding:10px 22px !important;
}


#csgv-registration-form button:hover:not(#csgv_toggle_password ){
  background-color: var(--e-global-color-8f0a542)!important;
  color: #fff!important;
  border: 2px solid var(--e-global-color-8f0a542)!important;
}



/**************PANIER*****************/

.elementor-menu-cart__product{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.elementor-menu-cart__product-image img{
  width:40px;
}

.elementor-menu-cart__product-name{
  padding-inline-start: 0px!important;
}


/*
.woocommerce-notices-wrapper{ 
    position: absolute;
    z-index: 9999;
    top: 31%;
    border-radius: 50px;
}*/

/*
 .recurring-totals, .order-total{
  display:none;
}*/

.order-total.recurring-total{
  display:table-row;
}

.e-coupon-anchor{
  display: table-row!important;
}


.woocommerce form .form-row .input-text, .woocommerce form .form-row select{
      height: 100%!important;
      padding: 1em!important;
      border-radius:30px!important;

}


.woocommerce-notices-wrapper {
    position: fixed;
    bottom: 0;
    z-index: 99;
    right: 0;
}








@media screen and (max-width: 1566px) {
  .phone-1 img, .phone-2 img {
        width: 334px!important;
  }
}

@media screen and (max-width: 1360px) {
  .phone-wrapper-1 {
    right: 175px!important;
    bottom: -92px!important;
  }

  .phone-wrapper-2 {
    right: -39px;
        bottom: 0;
  }

  .title {
    font-size: 55px;
    word-spacing: -8px;
  }
}

@media screen and (max-width: 1360px) {
    .elementor-1011 .elementor-element.elementor-element-dd96ff7{
            --width: 80%;
        }
}
    

@media screen and (max-width: 1024px) {
  .btn-row {
      justify-content: center;
  }

  .phone-wrapper-1 {
    left: -2px !important;
    bottom: 16% !important;
  }

      .phone-wrapper-2 {
        right: 20%!important;
        bottom: 10%!important;
    }

    .title {
    font-size: 50px;
    word-spacing: -8px;
  }

  .elementor-1011 .elementor-element.elementor-element-dd96ff7{
            --width: 100%;
        }
}

@media screen and (max-width: 832px) {
  .phone-1 img, .phone-2 img {
        width: 334px!important;
  }
}

@media screen and (max-width: 768px) {
  .title {
    font-size: 40px;
    word-spacing: -8px;
  }

  .phone-wrapper-1{
        left: -89px !important;
        bottom: -109px !important;
  }

    .phone-wrapper-2 {
                right: -17% !important;
        bottom: -2% !important;
    }

    @media screen and (max-width: 768px) {
  .handwrite {
    font-size: var(--e-global-typography-8d89bf4-font-size);
  }

  .handwrite.title {
    font-size: 57px!important;
}

.container {
    height: 1200px;
  }


  /*CONTACT*/
    #short-contact-form p:nth-child(1), #short-contact-form p:nth-child(2), #short-contact-form p:nth-child(3), #short-contact-form p:nth-child(4),#csgv-registration-form p{
	    width: 100%!important;
      min-width:100%!important;
    }

    span.wpcf7-form-control-wrap{
    	display: flex;
    	flex-direction: column;
	}

	input[type=email], input[type=text], select, textarea{
		width:100%;
	}

}
}


@media screen and (max-width: 648px) {

  tr.woocommerce-grouped-product-list-item {
    display: flex;
    flex-direction: column;
    margin-top: 30px !important;
  }

      .woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label{
          border-radius: 40px 40px 0 0 !important;
    }

    .woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__price{
          border-radius: 0 0 40px 40px !important;
    }

    .woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label, .woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__price {
            text-align: center;
    }

    .woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__price{
      padding: 0em 1em 2em 1em !important 
    }
}


@media screen and (max-width: 398px) {
.phone-1 img, .phone-2 img {
        width: 264px !important;
    }

}