/* =====================================
   CONFIGURATEUR ARBRE PREMIUM
   Cible : #votre_arbre
===================================== */

#votre_arbre{
    display:flex;
    flex-direction:column;
    gap:16px;
}

/* =========================
   CARTE BASE
========================= */

#votre_arbre .tmcp-field-wrap-inner{
    background:#f6f3ed;
    border:1px solid #ddd6cc;
    border-radius:18px;
    padding:20px 24px;
    transition:all .35s cubic-bezier(.4,0,.2,1);
    position:relative;
    overflow:hidden;
}

/* Hover subtle */
#votre_arbre .tmcp-field-wrap-inner:hover{
    border-color:#cfc7bb;
    transform:translateY(-2px);
}

/* =========================
   RADIO
========================= */

#votre_arbre input[type="radio"]{
    width:18px;
    height:18px;
    accent-color:#2f5d50;
    margin-top:4px;
}

/* =========================
   TITRE
========================= */

#votre_arbre h4.tc-label-text{
    font-size:18px;
    font-weight:600;
    color:#2f4f44;
    margin-bottom:6px;
}

/* =========================
   PRIX
========================= */

#votre_arbre .tc-price{
    font-weight:600;
    font-size:16px;
    color:#5a4636;
}

#votre_arbre .tc-price-wrap{
    position:absolute;
    top:20px;
    right:24px;
}

/* =========================
   DESCRIPTION FERMEE
========================= */

#votre_arbre .checkbox_info{
    max-height:55px;
    overflow:hidden;
    transition:max-height .45s ease;
}

#votre_arbre .checkbox_info p{
    font-size:14px;
    color:#6d6d6d;
    line-height:1.6;
}

/* =========================
   IMAGE PAR DEFAUT CACHEE
========================= */

#votre_arbre .epo-image-wrapper{
    display:none;
    opacity:0;
    transform:translateY(10px);
    transition:all .4s ease;
    margin-top:14px;
}

#votre_arbre .epo-image-wrapper img{
    width:120px;
}

/* =========================
   ETAT ACTIF (OUVERT)
========================= */

#votre_arbre .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner{
    border:2px solid #2f5d50;
    background:#faf8f3;
    box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

/* Description ouverte */
#votre_arbre .tmcp-field-wrap.tc-active .checkbox_info{
    max-height:800px;
}

/* Image visible */
#votre_arbre .tmcp-field-wrap.tc-active .epo-image-wrapper{
    display:block;
    opacity:1;
    transform:translateY(0);
}

/* =========================
   PETITE FLECHE (OPTIONNEL)
========================= */

#votre_arbre .tmcp-field-wrap-inner{
    position:relative;
}

#votre_arbre .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner::after{
    content:"✓";
    position:absolute;
    top:30px;
    left :30px;
    width:32px;
    height:32px;
    background:#2f5d50;
    color:#ffffff;
    font-size:16px;
    font-weight:600;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 14px rgba(47,93,80,0.25);
    transform:scale(0);
    animation:badgePop .3s ease forwards;
	z-index: 9;
}

/* Animation douce */
@keyframes badgePop{
    to{
        transform:scale(1);
    }
}

#toggle_arbres{
    margin: 0 auto;
  text-decoration: underline;
    text-align:center;
    font-weight:600;
    color:#2f5d50;
    cursor:pointer;
    transition:.3s;
    font-size:15px;
}

#toggle_arbres:hover{
    opacity:.7;
}



/* ===============================
   CONTAINER GLOBAL
=================================*/

#cadeau_supplementaire .tmcp-ul-wrap{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
}

#cadeau_supplementaire .tmcp-field-wrap{
    flex:1;
    min-width:260px;
}

/* ===============================
   CARTE DESIGN
=================================*/

#cadeau_supplementaire .tmcp-field-wrap-inner{
    background:#f7f5f0;
    border:2px solid #e3ded6;
    border-radius:18px;
    padding:2px;
    text-align:center;
    cursor:pointer;
    transition:all .35s cubic-bezier(.4,0,.2,1);
    position:relative;
}

/* Hover */
#cadeau_supplementaire .tmcp-field-wrap-inner:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 30px rgba(0,0,0,0.08);
    border-color:#d2c9bb;
}

/* ===============================
   IMAGE
=================================*/

#cadeau_supplementaire .epo-image-wrapper{
    margin-bottom:2px;
}

#cadeau_supplementaire .epo-image-wrapper img{
    width:180px;
    height:auto;
    transition:transform .4s ease;
}

/* Zoom léger au hover */
#cadeau_supplementaire .tmcp-field-wrap-inner:hover img{
    transform:scale(1.05);
}

/* ===============================
   TITRE
=================================*/

#cadeau_supplementaire h4.tc-label-text{
    font-size:18px;
    font-weight:600;
    color:#2f4f44;
    margin-top:-10px;
}

/* ===============================
   RADIO (caché proprement)
=================================*/

#cadeau_supplementaire input[type="radio"]{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

/* ===============================
   ETAT ACTIF
=================================*/

#cadeau_supplementaire .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner{
    border:2px solid #2f5d50;
    background:#faf8f3;
    box-shadow:0 20px 40px rgba(47,93,80,0.15);
}

/* Petit badge sélection */
#cadeau_supplementaire .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner::after{
    content:"✓";
    position:absolute;
    top:16px;
    right:16px;
    width:28px;
    height:28px;
    background:#2f5d50;
    color:#fff;
    font-size:16px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ===============================
   TITRE SECTION
=================================*/

#cadeau_supplementaire .tm-epo-element-label{
    font-size:20px;
    font-weight:600;
    margin-bottom:20px;
    color:#2f4f44;
}

#cadeau_supplementaire .tm-extra-product-options .tmcp-field-wrap.tc-active .tc-label-wrap .tc-image  {
  border-color: none !important;
  border-width: 0px!important;
}

#cadeau_supplementaire  .tc-active .tc-image {
  border-style: none !important;
	 border-width: 0px!important;
}



/* ======================================
   GRID LAYOUT
====================================== */

#votre_cadeau .tmcp-ul-wrap{
    padding-top:1em;
}

/* ======================================
   CARD DESIGN
====================================== */

#votre_cadeau .tmcp-field-wrap-inner{
    background:#FFF;
    border:2px solid #e3ded6;
    border-radius:18px;
    padding:4px;
    text-align:center;
    position:relative;
    transition:all .35s cubic-bezier(.4,0,.2,1);
    cursor:pointer;
}

/* Hover */
#votre_cadeau .tmcp-field-wrap-inner:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 35px rgba(0,0,0,0.08);
    border-color:#d8cfc2;
}

/* ======================================
   IMAGE
====================================== */

#votre_cadeau .tc-image{
    width:140px;
    height:140px;
    object-fit:contain;
    transition:transform .4s ease;
}

#votre_cadeau .tmcp-field-wrap-inner:hover .tc-image{
    transform:scale(1.05);
}


#votre_cadeau .tm-extra-product-options .tc-active .tc-image {
  border-style: none !important;
}

/* ======================================
   TITLE
====================================== */

#votre_cadeau h4.tc-label-text{
    font-size:15px;
    font-weight:600;
    color:#2f4f44;
    min-height:40px;
	margin:0px ;
}

/* ======================================
   PRICE BADGE
====================================== */

#votre_cadeau .tc-price-wrap{
    position:absolute;
    top:14px;
    right:14px;
}

#votre_cadeau .tc-price{
    background:#2f5d50;
    color:#fff;
    font-size:13px;
    font-weight:600;
    padding:6px 10px;
    border-radius:20px;
}

/* ======================================
   HIDE CHECKBOX
====================================== */

#votre_cadeau input[type="checkbox"]{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

/* ======================================
   ACTIVE STATE
====================================== */

#votre_cadeau .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner{
    border:2px solid #2f5d50;
    background:#faf8f3;
    box-shadow:0 20px 40px rgba(47,93,80,0.15);
}

/* Badge sélection */
#votre_cadeau .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner::after{
    content:"✓";
    position:absolute;
    top:12px;
    left:12px;
    width:28px;
    height:28px;
    background:#2f5d50;
    color:#fff;
    font-size:15px;
    font-weight:600;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 14px rgba(47,93,80,0.25);
    transform:scale(0);
    animation:popCheck .3s ease forwards;
	z-index : 9 ;
}

@keyframes popCheck{
    to{ transform:scale(1); }
}

/* ======================================
   RESPONSIVE
====================================== */

@media(max-width:768px){
    #votre_cadeau .tmcp-ul-wrap{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:480px){
    #votre_cadeau .tmcp-ul-wrap{
        grid-template-columns:1fr;
    }
}




 .tmcp-field-wrap textarea.tmcp-textarea {
    width: 100%;
    min-height: 140px;
    padding: 16px 18px;
    border-radius: 14px;
    border: 1.5px solid #e3e3e3;
    background: #ffffff;
    font-size: 15px;
	  font-weight:500;
    line-height: 1.6;
    color: #2c2c2c;
    transition: all 0.25s ease;
    resize: vertical;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}


.mytextearea .tmcp-field-wrap textarea.tmcp-textarea:hover {
    border-color: #cfcfcf;
}

.mytextearea .tmcp-field-wrap textarea.tmcp-textarea:focus {
    outline: none;
    border-color: #31503c; /* vert naturel */
    box-shadow: 0 0 0 4px rgba(46,109,87,0.12);
    background: #fcfefe;
}

.mytextearea .tmcp-field-wrap textarea.tmcp-textarea::placeholder {
    color: #9a9a9a;
    font-weight: 400;
}

.mytextearea .tmcp-field-wrap .tm-epo-field-label + .tm-epo-element-description,
.mytextearea .tmcp-field-wrap .tc-element-description {
    font-size: 13px;
    color: #777;
    margin-bottom: 8px;
}


/* Container */
#file_upload .tmcp-field-wrap-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 18px 20px;
  background: #fff;
  border: 2px solid #2f5d50;
  border-radius: 16px;
  transition: all 0.25s ease;
}

#file_upload .tmcp-field-wrap-inner:hover{
    border-color:#2f5d50;
}

#file_upload .tmcp-upload{
    font-size:14px;
    cursor:pointer;
}

#file_upload .tmcp-upload::file-selector-button{
    padding:8px 16px;
    border-radius:10px;
    border:none;
    background:#2f5d50;
    color:white;
    font-weight:500;
    margin-right:10px;
    cursor:pointer;
    transition:0.2s;
}

#file_upload .tmcp-upload::file-selector-button:hover{
    background:#24483e;
}

#file_upload .tc-price-wrap{
    font-weight:600;
    color:#c0392b;
}

#file_upload .tc-max-file-size{
    font-size:12px;
    color:#8a8a8a;
    margin-top:6px;
}

/* Price */
#file_upload .tc-price-wrap{
    font-weight:600;
    font-size:15px;
    color:#2f5d50;
}

/* Max file text */
#file_upload .tc-max-file-size{
    display:block;
    font-size:12px;
    color:#8a8a8a;
    margin-top:6px;
}




#votre_arbre{
    display:flex;
    flex-direction:column;
    gap:16px;
}

/* =========================
   CARTE BASE
========================= */



.tm-extra-product-options .tm-toggle.tm-section-label:focus {
  outline: 0px solid;
}

#votre_arbre .tmcp-field-wrap-inner{
    background:#FFF;
    border:1px solid #ddd6cc;
    border-radius:12px;
    padding:0px 18px 10px;
    transition:all .35s cubic-bezier(.4,0,.2,1);
    position:relative;
    overflow:hidden;
}


/* Hover subtle */
#votre_arbre .tmcp-field-wrap-inner:hover{
    border-color:#cfc7bb;
    transform:translateY(-2px);
}

/* =========================
   RADIO
========================= */

#votre_arbre input[type="radio"]{
    width:18px;
    height:18px;
    accent-color:#2f5d50;
    margin-top:4px;
}

/* =========================
   TITRE
========================= */

#votre_arbre h4.tc-label-text{
    font-size:18px;
    font-weight:600;
    color:#2f4f44;
    margin-bottom:6px;
}

/* =========================
   PRIX
========================= */

#votre_arbre .tc-price{
    font-weight:600;
    font-size:16px;
    color:#5a4636;
}

#votre_arbre .tc-price-wrap{
    position:absolute;
    top:60px;
    right:24px;
}

/* Description ouverte */
#votre_arbre .tmcp-field-wrap.tc-active  .tc-price-wrap{
   top:30px;
}
.sub_t {
  font-size: 14px;
  font-weight: 100;
  display: block;
}
.sub_t2 {
  font-size: 16px;
  color: #5a4636;
  font-weight: 700;
  letter-spacing: .5px;
}


/* =========================
   DESCRIPTION FERMEE
========================= */

#votre_arbre .checkbox_info{
    max-height:55px;
    overflow:hidden;
   transition: all .35s ease;
}

#votre_arbre .checkbox_info p{
    font-size:13px;
    color:#6d6d6d;
    line-height:normal;
}

/* =========================
   IMAGE PAR DEFAUT CACHEE
========================= */

#votre_arbre .epo-image-wrapper{
    display:none;
    opacity:0;
    transform:translateY(10px);
    transition:all .4s ease;
    margin-top:14px;
}
#votre_arbre .epo-image-wrapper {
  width: 20%;
}

#votre_arbre .epo-image-wrapper img{
    width:120px;
}

#votre_arbre .epo-image-wrapper h4{
    margin-top:12px;
     font-size: 13px !important;
    font-weight:500;
    text-align:center;
}

/* Optionnel : centre image + titre */
#votre_arbre .epo-image-wrapper{
    text-align:center;
}


/* =========================
   ETAT ACTIF (OUVERT)
========================= */

#votre_arbre .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner{
    border:2px solid #2f5d50;
    background:#FFF;
    box-shadow:0 10px 25px rgba(0,0,0,0.06);
}


/* Mode fermé */
#votre_arbre .tmcp-field-wrap:not(.tc-active) .checkbox_info{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* Description ouverte */
#votre_arbre .tmcp-field-wrap.tc-active .checkbox_info{
    display:block;
}

/* Image visible */
#votre_arbre .tmcp-field-wrap.tc-active .epo-image-wrapper{
    display:block;
    opacity:1;
    transform:translateY(0);
}



#votre_arbre .tm-tooltip.tc-tooltip.tcfa.tcfa-question-circle.tc-epo-style-space {
  display: none;
}

#votre_arbre .tc-image.radio-image.tc-image-inline.tc-right {
  width: 100%;
  height: 200px !important;
  object-fit: contain;
  min-height: 190px;
  border-radius: 10px;
	border: none;
}
#votre_arbre .tc-label-wrap {
  align-items: center !important;
}

.sub_desc {
  margin-top: 15px;
  display: block;
  font-weight: 100;
}


.w-logo .logo img {
    width: 200px;
  }

.center_img img {
  display: block;
  margin: 0 auto;
}
.tc-label-text {
  display: block !important;
}

.tc-label-inner.tcwidth.tcwidth-100.haaaaa {
  display: flex;
  flex-direction: column;
}

.tc-label-inner p {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.ceckdescription {
  margin-top: -1em;
}


 .tm-collapse {
  border: none;
  background-image: none;
}

#votre_cadeau .price.tc-price {
  position: absolute;
  top: -4px;
  right: -4px;
  font-size: 10px !important;
  background: #31503c !important;
  display: block !important;
  padding: 1px 5px !important;
  color: white;
  border-radius: 12px !important;
}

#votre_cadeau .tc-label-inner.tcwidth > * {
  font-size: 15px;
  line-height: normal;
  max-width: 90%;
}
#votre_cadeau .tc-label-wrap {
  background: white;
  border-radius: 10px;
}
#votre_cadeau .tc-label-text {
  min-height: 40px;
}
#votre_cadeau .ceckdescription {
  display: none;
}

#votre_arbre .tmcp-field-wrap{
    transition: all .35s ease;
}

#cadeau_supplementaire .tc-label-text ,
#steep1 .tc-label-text ,#steep1 .cdescription {
  margin: 0;
}
.single-product .price-rating-wrapper {
  display: none;
}

.details-product .information .woocommerce-product-details__short-description {
  border-top: 0px solid;
	border-bottom: 0px solid;
}

.details-product .information .woocommerce-product-details__short-description {
  margin: 0px 0 15px;
  padding: 0; 
}

.woocommerce-product-details__short-description h2 ,.woocommerce-product-details__short-description h3 ,.woocommerce-product-details__short-description h4 {
  font-size: 20px; 
}



.checkbox_info > * {
  font-size: 15px;
  font-weight: 500;
}


.tm-extra-product-options .tc-active .tc-image {
  border-style: none;
	border: 0px solid !important;
}




/* =========================
   GRID 3 Emballage
========================= */

#emballage .tc-row{
    display:block !important;
}

#emballage .tmcp-ul-wrap{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}

#emballage .tmcp-field-wrap{
    float:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

#emballage .tmcp-field-wrap-inner{
    position:relative;
    height:auto !important;
    min-height:auto !important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    background:#ffffff;
    border-radius:18px;
    padding:5px 15px 0px;
    border:1px solid #eee;
    box-shadow:0 8px 25px rgba(0,0,0,0.04);
    transition:all .3s ease;
    cursor:pointer;
	min-width: 180px;
}

#emballage .tmcp-field-wrap-inner:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

#emballage .tc-element-container,
#emballage .tc-container,
#emballage .tc-cell{
    padding:0 !important;
}

#emballage ul{
    margin:0 !important;
    padding:0 !important;
}

#emballage li{
    list-style:none;
}

#emballage .epo-image-wrapper{
    text-align:center;
    margin-bottom:12px;
}

#emballage .tc-image{
    max-height:180px;
    object-fit:contain;
    transition:transform .3s ease;
}

#emballage .tmcp-field-wrap-inner:hover .tc-image{
    transform:scale(1.05);
}

#emballage .tc-label-text{
    font-size:16px;
    font-weight:600;
    color:#2c2c2c;
    margin-top:-1em;
    text-align:center;
}

#emballage .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner{
    border:2px solid #2f5d50;
    box-shadow:0 15px 40px rgba(47,93,80,0.15);
}

#emballage .tmcp-field-wrap.tc-active .tmcp-field-wrap-inner::after{
    content:"✓";
    position:absolute;
    top:14px;
    right:14px;
    width:26px;
    height:26px;
    background:#2f5d50;
    color:#fff;
    font-size:13px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9;
}

@media(max-width:1200px){
    #emballage .tmcp-ul-wrap{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:992px){
    #emballage .tmcp-ul-wrap{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:576px){
    #emballage .tmcp-ul-wrap{
        grid-template-columns:1fr;
    }
}

