body {
  margin: 0;
  display: flex;
  /*justify-content: center;*/
  align-items: center;
  min-height: 100vh;
  background-color: #ffffff; 
  flex-direction: column;	
  padding : 20px;	
}

#menu_home{

    text-align : center;
	
}

.app-logo {
            width: 120px;
            height: 120px;
            border-radius: 24px;
            object-fit: cover;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            margin-bottom: 20px;
        }

#offers{
  /*margin-top : 50px;*/
}

#offres-container{
 margin-bottom : 50px;
}

a {
  color: #685e5e!important;
}

#copy{
   text-align : center!important;
}

#cookies{
   text-align : right!important;
   padding-right : 15px;	
}

#footer{
	margin-top : 30px!important;
	width : 100%;
	/*position : fixed;
	bottom : 100px;*/
	height : 50px;
	margin-bottom : 10px;
}

.container {
  width: 100%;
  /*height: 100vh; */
  background: white;
  text-align: center;
  padding: 20px;
}

#reset_form {  
      margin-top : 100px;
}	

#register_form{
     margin-top : 60px;
}


@media (min-width: 768px) {

  .container {
    width: 800px;      
    height: auto;       
    min-height: 400px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  }

}

#reset_form {  
      
	  margin-bottom : 120px;
}	

/* CSS mobile */
@media (max-width: 767px) {
	
	.card{
	  padding-top : 5px!important;
	}
	
	#offers{
       margin-top : -20px;
    }
	
	body {
	  padding-top : 0px;
	}
	
	.menu-wrapper {           
            top: 6px!important;            
        }
	
	#openBtn{
	  width : 20px!important;
	  height : 20px!important;
	}
	
	.menu-trigger{
	  display : block!important;
	}
	
  .cookie-trigger-didomi {
      width : 80px;
  }	
	
  #reset_form {  
      height: 550px;  
	  
  }	
	
  #register_form{
     height: 750px;  
  }	
	
  #footer{
	margin-top : 5px!important;
	display : block;	
	width : 100%;
	margin-bottom : 15px;  
  }	

  h1{
    font-size: 2rem !important; 
    line-height: 1.1;
    word-wrap: break-word;
  }
	
  #reset_form {
    margin-top : 10px!important;  
  }	
	
  #register_form {
    margin-top : 5px!important;  
  }		

  .container p{
    font-size: 1.2rem !important; 
    line-height: 1.4;
	
  }

  .btn_form {
    padding: 20px !important; 
    font-size: 1.3rem !important; 
  } 
}




h1 { font-size: 2rem; margin-bottom: 10px; color: #1a1a1a; }

p { color: #888; margin-bottom: 30px; }

input {
            font-family: 'Playfair Display', serif;
            width: 100%; padding: 15px; margin-bottom: 20px;
            border: 1px solid #e1e1e1; border-radius: 0; box-sizing: border-box;
}

button {
            font-family: 'Playfair Display', serif;
            background: #1a1a1a; color: white; border: none;
            padding: 15px 40px; cursor: pointer; width: 100%;
            font-weight: 700; letter-spacing: 1px;
            border-radius: 0px 12px 0px 12px;

}

#error_form { border-top: 4px solid #e74c3c; }  

#error_form h1 { color: #e74c3c; }

#error_form a { 
            color: #1a1a1a;            
            font-weight: 500; 
            color: #1a1a1a;
}

#reset_form #msg {
            color: green;
 }

#register_form #msg {
            color: green;
 }

/*Offers*/

.grid {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 2rem;
}

.card {
   background: var(--card);
   padding: 2rem;
   border-radius: 1rem;
   box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
   display: flex;
   flex-direction: column;
   border: 1px solid lightgray ;
   width: 100%;
   max-width: 320px; 
   box-sizing: border-box;
}
.card.featured {
   border-color: var(--primary);
}

.price {
   font-size: 2rem;
   font-weight: bold;
   margin: 1rem 0;
}

.features {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  flex-grow: 1;
}

.features li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  text-align : left;	
}

.features li::before {
  content: "✓";
  color: #666b6a;
  margin-right: 0.5rem;
  font-weight: bold;
}

.btn:hover {
  opacity: 0.9;
}

.cookie-trigger-didomi {
        
        bottom: 20px;
        right: 20px;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 2rem; 
        height: 50px;
        display: flex;
        align-items: center;
        gap: 8px; 
        padding: 0 10px;
        cursor: pointer;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
        z-index: 9999;
        font-family: system-ui, sans-serif;
        font-size: 12px;
        font-weight: 500;
        color: #1e293b;
        transition: transform 0.2s, box-shadow 0.2s;
	    width : 200px;
	    font-size : 12px!important;
}

.cookie-trigger-didomi:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 8px -1px rgba(0, 0, 0, 0.15);
}

.cookie-trigger-didomi svg {
        width: 20px;
        height: 20px;
        fill: #b45309; 
}

.didomi-components-radio__option{
	height : 35px!important;
}

/* menu */
     

	.menu-wrapper {
            /*position: fixed;*/
            top: 24px;
            left: 24px;
            z-index: 1000;
		    width : 100%;			
        }

        
        .menu-trigger {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            border: 1px solid rgba(255, 255, 255, 0.4);
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-radius: 50%;
            cursor: pointer;
            color: #1d1d1f;
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            padding: 0;
        }

        .menu-trigger:hover {
            background: rgba(255, 255, 255, 0.9);
            transform: scale(1.05);
        }

        
        .menu-panel {
            position: absolute;
            top: 0;
            left: 0;
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.5);
            padding: 24px;
            border-radius: 24px;
            min-width: 250px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
            
            
            opacity: 0;
            visibility: hidden;
            transform: scale(0.9) translateY(-10px);
            transform-origin: top left;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

       
        .menu-wrapper.is-open .menu-panel {
            opacity: 1;
            visibility: visible;
            transform: scale(1) translateY(0);
        }

       
        .menu-wrapper.is-open .menu-trigger {
            opacity: 0;
            pointer-events: none;
            transform: scale(0.8);
        }

       
        .menu-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .menu-title {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #86868b;
            margin: 0;
        }

        
        .close-btn {
            background: none;
            border: none;
            cursor: pointer;
            padding: 5px;            
            display : block;
            text-align: right;
            color: #1d1d1f;
            opacity: 0.6;
            transition: opacity 0.2s;
        }

        .close-btn:hover {
            opacity: 1;
        }

        
        .menu-links {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-bottom: 24px;
        }

        .menu-links a {
            text-decoration: none;
            color: #1d1d1f;
            font-size: 1.05rem;
            font-weight: 400;
            transition: color 0.2s, transform 0.2s;
            display: inline-block;
        }

        .menu-links a:hover {
            color: #0071e3;
            transform: translateX(4px);
        }

        
        .menu-divider {
            height: 1px;
            background: rgba(0, 0, 0, 0.08);
            margin: 0 -24px 20px -24px;
        }

        
        .account-section {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

       
        .account-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            color: #515154;
            font-size: 0.95rem;
            font-weight: 400;
            padding: 8px 12px;
            margin: 0 -12px;
            border-radius: 10px;
            transition: background-color 0.2s, color 0.2s;
        }

        .account-link:hover {
            background-color: rgba(0, 0, 0, 0.04);
            color: #0071e3;
        }

        .account-link svg {
            color: #86868b;
            transition: color 0.2s;
        }

        .account-link:hover svg {
            color: #0071e3;
        }

.badge-container {
            display: flex;
            justify-content: center;
            gap: 15px;
            flex-wrap: wrap;
        }
        .badge-link {
            display: inline-block;
            transition: transform 0.2s;
        }
        .badge-link:hover {
            transform: scale(1.05);
        }
        .badge-img {
            height: 45px; 
            width: auto;
        }
 
#stores{
   margin-top : 50px;
   margin-bottom : 160px;	
   padding-top : 60px;	
}

#menu_home{
  text-align : center;
}

 
        