* {
 	margin: 0;
 	padding: 0;
 }
 
 body {
	margin: 0;
	padding: 0;	
}

 :root{
	--m-green: #0a8f3d;
	--m-green-dark: #087835;
	--m-bg: #f4f6f8;
	--m-surface: #ffffff;
	--m-text: #111827;
	--m-muted: #6b7280;
	--m-border: #e5e7eb;
	--m-shadow: 0 10px 30px rgba(0,0,0,0.08);
	--m-shadow-soft: 0 8px 18px rgba(0,0,0,0.06);
 }

 body{
	font-family: 'Inter', Arial, sans-serif;
	color: var(--m-text);
	background: radial-gradient(900px 420px at 50% 0%, rgba(10,143,61,0.10), transparent 60%),
		linear-gradient(180deg, #f7f8fa 0%, var(--m-bg) 60%);
 }

 a{
	color: inherit;
 }
 
 
 
 .container_op {
   max-width: 700px;
   margin: 0 auto;
   align-items: center;
 }
 
 .table_op {
   margin: 0 auto; 
   border-collapse: collapse;
   width: auto; 
 }
 
 .table_op tr {
   height: 60px; 
 }
 
 
 
 .titre-section {
   font-size: 1.25rem;
   font-weight: 600;
   color: #222222;                  
   background-color: #efefef;      
   padding: 12px 18px;              
   margin: 25px 0 15px;            
   border-radius: 6px;              
   box-shadow: 0 1px 2px rgba(0,0,0,0.06); 
   letter-spacing: 0.3px;          
 }
 
 
 .titre-section-telephone {
   display: block;
   font-size: 1.25rem;
   font-weight: 600;
   color: #5bac26;                   
   background-color: #f4f5f6;       
   text-align: center;
   padding: 12px 18px;              
   margin: 25px auto 15px;
   max-width: 480px;                 
   border-radius: 6px;              
   box-shadow: 0 1px 2px rgba(0,0,0,0.06);
   letter-spacing: 0.3px;
 }
 
 
 .fleche {
   margin-left: 20px;
   display: inline-block;
   font-size: 20px;
   color: #5bac26; 
   font-weight: bold;
   position: relative;
   cursor: pointer; 
   transition: transform 0.25s ease, color 0.25s ease;
 }
 
 .fleche.ouvert {
   transform: rotate(90deg);   
   color: #2e7d32; 
 }
 
 .fleche::after {
  /* content: 'Cliquez';*/
   position: absolute;
   top: -24px;
   right: -10px;
   font-size: 12px;
   color: #2e7d32;
   background-color: #e8f5e9;
   padding: 2px 6px;
   border-radius: 4px;
   opacity: 1;   
   transition: opacity 0.3s ease;
   pointer-events: none;
   white-space: nowrap;
   box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 }
 
 .fleche.ouvert::after {
   opacity: 0;
 }
 
 .titre-section:hover .fleche {
   color: #388e3c;
   /*transform: scale(1.2);*/
 }
 
 .contenu-td {
   display: none;
   padding: 8px;
   border-radius: 6px;
 }
 
 .contenu-td.visible {
   display: block;
 }
 
 
 
 
 .contact {
 	float: left;
 	padding-top: 15px;
 	padding-left: 20px;
 }

 .page-title{
	font-size: 20px;
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: 0.2px;
	margin: 0;
 }

 .page-title{
	font-weight: 700;
	color: var(--m-green);
 }

 .header-favicon{
	width: 150px;
	height: auto;
	display: block;
 }

 .header-left{
 	justify-content: flex-start;
 }

 .header-center{
 	justify-content: center;
 }

 .header-logos{
	justify-content: flex-end;
	gap: 10px;
 }

 .header-logos .logo{
 	display: inline-flex;
 	align-items: center;
 }

 .header-logos img{
 	max-height: 34px;
	width: auto;
	height: auto;
 }

 .header-partner-logo{
 	display: block;
 }

 /* Header row alignment */
 #header .row{
 	align-items: center;
 }

 /* Buttons layout: side-by-side like original */
 .half-screen-btn1,
 .half-screen-btn2{
  	width: 50%;
  	flex: 0 0 50%;
 }

 /* Ensure the buttons row never stacks on desktop */
 .form-container .row{
	flex-wrap: nowrap;
 }

 .form-container .column{
 	margin-bottom: 0;
 }

 .form-container .row + .row{
	margin-top: 14px;
 }

 .half-screen-btn1{
	padding-right: 6px;
 }

 .half-screen-btn2{
	padding-left: 6px;
 }

 .ButtonEnvoyer,
 .ButtonAnnuler{
 	width: 100%;
 	min-width: 160px;
 }

 @media (max-width: 480px){
 	.page-title{
 		font-size: 18px;
 		line-height: 1.2;
 		padding: 0 10px;
 	}

 	.header-favicon{
 		width: 150px;
 		height: auto;
 		margin: 0 auto;
 	}

 	#header .row{
 		flex-direction: column;
 		align-items: center;
 	}

 	#header .logo-column{
 		justify-content: center;
 		text-align: center !important;
 		margin-bottom: 10px;
 	}

 	.header-logos{
 		width: 100%;
 		justify-content: center;
 		gap: 14px;
 	}

 	.header-logos img{
 		max-height: 32px;
 	}

 
	.form-container{
		padding: 18px;
		border-radius: 12px;
	}

	.form-group label{
		font-size: 14px;
	}

	.form-group input{
		font-size: 16px;
		padding: 12px 12px;
	}

 	.half-screen-btn1,
 	.half-screen-btn2{
 		width: 100%;
 		flex: 0 0 100%;
 	}

 	.half-screen-btn1,
 	.half-screen-btn2{
 		padding-left: 0;
 		padding-right: 0;
 	}

 	.form-container .row{
 		flex-wrap: wrap;
 	}

 	.form-container .row + .row{
 		margin-top: 14px;
 	}

 	/* Footer mobile layout */
 	#footer .row{
 		flex-direction: column;
 		align-items: flex-start;
 	}

 	#footer .column{
 		margin-bottom: 14px;
 	}
 }

 /* Footer alignment */
 .footer-row{
 	align-items: flex-start;
 }

 .captcha-image-wrap{
 	margin-top: 12px;
 	text-align: center;
 }

 .captcha-image-wrap #captcha{
	display: inline-block;
	max-width: 180px;
	width: 100%;
	height: auto;
	border: 1px solid #e3e3e3;
	border-radius: 6px;
	background: #ffffff;
	padding: 6px 8px;
 }

 .captcha-image-wrap #captcha{
	border-radius: 12px;
	border-color: var(--m-border);
	box-shadow: 0 6px 12px rgba(0,0,0,0.06);
 }

 .error-message{
	display: block;
	min-height: 18px;
	margin-top: 2px;
	font-size: 13px;
	color: #b42318;
 }

 input.error{
	border-color: rgba(180,35,24,0.55);
	box-shadow: 0 0 0 4px rgba(180,35,24,0.10);
 }

 input.valid{
	border-color: rgba(10,143,61,0.55);
	box-shadow: 0 0 0 4px rgba(10,143,61,0.10);
 }
 
 .contact a {
 	color: white;
 }
 
 #contact-mobilis{	 
 	color: #000000;
 	line-height: 2.5em; 
 	font-size: 1.4em;
    font-weight:600;	 
 }
 
 .contact-title{
 	font-weight: bold;
 }
 
 
 .li_num_contact {
   font-size: 0.9em;
   margin: 0;
 }
 
 
 a img {
 	border: none;
 }
 
 span {
 	font-size: 1.2em;	
 	line-height: 1.5em;
 	color: #414143;
 	FONT-FAMILY:  Arial;
 }
 
 #wrapper {
 	width: 982px;
 	margin: auto;
 	position: relative;
 }
 
 
 
 #titreservice {
   float: left;
   width: 512px;
   height: 65px;
   background-color: #fff;
   margin-left: 120px;
   margin-bottom: 10px;
   border-radius: 10px;
 }
 
 
 #titreservice  span {
 	color: #009900;
 	font-size: 2.5em;
 	display: block;
 	text-align: center;
 	line-height: 65px;
     FONT-FAMILY:   Arial,sans-serif;
 }
 
 #logoCIB {
 	float: right;
 	padding-right: 10px;
 }
 
 
 
 #barnotification {
   clear: both;
   height: 60px;
   padding-left: 47px;
   padding-right: 47px;
   border-radius: 10px 10px 0 0; /* coins arrondis en haut */
   background-color: #009900;
   border: 2px solid #D8D8D8;   /* bordure par défaut */
   border-bottom: none;          /* pas de bordure en bas */
 }
 
 #barnotification span {
 	color: white;
 	font-size: 1.2em;
 	display: block;
 	text-align: left;
 	line-height: 60px;
 	FONT-FAMILY:   Arial,sans-serif;
 }
 
 
 
 .ButtonEnvoyer {
   height: 48px;
   width: 130px;
   border-radius: 12px;
   background-color: var(--m-green);
   border: 1px solid var(--m-green);
   color: #fff;
   font-size: 16px;
   font-weight: 600;
   margin: 0;
   cursor: pointer;
   text-align: center;
 }
 
 
 .ButtonCIB {
   height: 45px;   
   width: 160px;
   border-radius: 5px;          /* coins arrondis */
   background-color: #009900;   /* vert principal */
   border: 2px solid #009900;   /* bordure assortie */
   color: #fff;                 /* texte blanc */
   font-size: 1.3em;
   margin: 16px;
   cursor: pointer;             /* main au survol */
   text-align: center;          /* texte centré */
 }
 
 .ButtonDahabia {
   height: 45px;
   width: 195px;
   border-radius: 5px;
   background-color: #009900;
   border: 2px solid #009900;
   color: #fff;
   font-size: 1.3em;
   margin: 16px;
   cursor: pointer;
   text-align: center;
 }
 
 .ButtonAnnuler {
   height: 48px;
   width: 130px;
   border-radius: 12px;
   background-color: #ffffff;
   border: 1px solid rgba(10,143,61,0.35);
   color: var(--m-text);
   font-size: 16px;
   font-weight: 600;
   margin: 0;
   cursor: pointer;
   text-align: center;
 }
 
 
 
 .ButtonEnvoyervimp {
   height: 40px;
   width: auto;
   border-radius: 5px;
   background-color: #009900;
   border: 2px solid #009900;
   color: #fff;
   font-size: 1.3em;
   min-width: 160px;
   padding: 0 5px;
   cursor: pointer;
   text-align: center;
 }
 
 .ButtonAnnulervimp {
   height: 45px;
   width: auto;
   border-radius: 5px;
   background-color: #fff;
   border: 2px solid #009900;
   color: #000;
   font-size: 1.3em;
   margin: 16px;
   padding: 5px;
   cursor: pointer;
   text-align: center;
 }
 
 .ButtonokMsgError {
   height: 30px;
   width: 80px;
   border-radius: 5px;
   background-color: #fff;
   border: 2px solid #009900;
   color: #000;
   font-size: 1.1em;
   margin-top: 13px;
   cursor: pointer;
   text-align: center;
 }
 
 
 #email_client {
   width: 250px;
   height: 35px;
   border-radius: 4px;    
   font-size: 1.2em;
   color: #222222;
   padding-left: 10px;   
   margin-right: 5px;    
 }
 
 
 .titre_email {	
 	font-size: 1.2em;
 	color: #222222;
 	padding-left: 10px;	
 	margin-right:0px;
 	padding-top:10px;
 	margin-top:10px;
 }
  
 #content {
   padding-left: 20px;
   padding-right: 20px;
   background-color: #F3F3F3;
   border-radius: 10px;   
   border-width: 2px;
   border-style: none;
   min-height: 300px;
   height: auto;
   overflow: hidden;
 }
 
  
 
 
 
 .error{
     color: #FF0000;	
 }
 
 
 #leftColumn {
 	float: left;
 	width: 900px;
 	margin-bottom:30px;
 }
 
 
 #reponsesatim {
     width: 900px;
     margin-bottom: 10px;
     margin-top: 10px;   
     padding: 10px;
     height: auto;
 }
 
 
 #content_responsesatim {
     padding-left: 30px;
     padding-right: 20px;
     padding-top: 10px;
     padding-bottom: 30px;
     background-color: #F3F3F3;
     border-radius: 0 0 10px 10px;   
     border-color: #D8D8D8;
     border-width: 2px;
     border-style: none solid solid solid;
     margin-bottom: 30px;
     min-height: 300px;
     height: auto;
     overflow: hidden;
 }
 
 
 
 #rightColumn {
 	float: right;
 	width: 225px;
 }
 
 .labelTD {
 	width: 255px;
 	padding-bottom: 20px;
 }
 
 
 #msisdn {
 	font-size: 1.3em;
 	width: 220px;
 	max-width: 100%;
 }
 
 #code_captha {
 	font-size: 1.3em;
 	width: 220px;
 	max-width: 100%;
 }
 
 
 
 .labelTD span {
 	font-size: 1.2em;
 	display: block;
 	color: #222222;
 	margin-top:18px;
 }
 
 .img_captcha {
 	
 	margin-bottom:12px;
 	float: inherit;
 }
 
 .inputTD input {
     width: 40%;
     height: 44px;
     border-radius: 4px;
     border: 2px solid #B5B5B5;
     font-size: 2.4em;
     color: #222222;
     padding-left: 10px;
     margin-right: 5px;
 }
 
 
 
 
 #conditions_generales {
 	margin-right: 10px;
 }
 
 #conditionsLabel {
 	font-size: 1.2em;
 	color: #222222;
 	display: inline;
 }
 
 
 #message_box{ 
    top:5%;
     position:relative;
  	FONT-SIZE: 11px; 
     FONT-FAMILY: Verdana,Tahoma, Arial,sans-serif;
 	color: #000000;
 	z-index:99999;
 }
 
 
 .tab{
 	max-width:400px;
 	width:auto;
 } 
 
 
 
 #articles{
 	min-height:210px;
 	height:auto ; 
 	text-align:center;
  }
 
 
 #style_articles{	
 	text-align:center;
  }
 
 .ButtonPaiement,
 .ButtonPaiementSelected,
 .ButtonPaiementFact,
 .ButtonPaiementFactSelected,
 .input_paiement_facture,
 .input_aure_paiement_selected,
 input.input_aure_paiement:focus,
 input.input_aure_paiement:disabled {
     border: 2px solid #009900;
     border-radius: 4px;
     cursor: pointer;
     display: inline-block;
     font-size: 1.2em;
     font-weight: bold;
     height: 35px;
 }
 
 /* Specific styles */
 .ButtonPaiement {
     background-color: white;
     color: #414143;
     padding: 2px;
     margin: 7px 5px 7px 0;
 }
 
 .ButtonPaiementSelected {
     background-color: #5bac26;
     color: white;
     padding: 2px;
     margin: 7px 5px 7px 0;
 }
 
 .ButtonPaiementFact {
     background-color: white;
     color: #414143;
     padding: 2px 8px;
     margin: 2px 5px 2px 10px;
 }
 
 .ButtonPaiementFactSelected {
     background-color: #009900;
     color: white;
     padding: 2px 8px;
     margin: 2px 5px 2px 10px;
 }
 
 input.input_aure_paiement:focus {
     color: #000;
     width: 120px;
     font-size: 1.6em;
     font-weight: bold;
     /* use margin-left instead of negative padding */
     margin-left: -10px;
 }
 
 input.input_aure_paiement:disabled {
     color: #000;
     width: 100px !important;
     font-size: 1.6em;
     font-weight: bold;
     margin-left: -10px;
 }
 
 .input_paiement_facture {
     background-color: #fff;
     color: #000;
     width: 150px;
     font-size: 1.6em;
     font-weight: bold;
     margin-left: -10px;
 }
 
 .input_aure_paiement_selected {
     background-color: #fff;
     color: #000;
     width: 80px;
     font-size: 1.6em;
     font-weight: bold;
     margin-left: -10px;
 }
 
 
 .titre_offre{
 	margin:0 0 0 0;
 	text-align:center;
 	color: #5bac26;
 	font-size:26px;
 }
 
 .titre_type_facture{
 	margin:0 0 0 0;
 	text-align:center;
 	color: #000000;
 	font-size:30px;
 	font-weight: bold;
 }
 
 
 .titre_offre_msisdn{
 	margin-right:15px;
 	font-size:18px;
 }
 
 b.titre_type_offre{
 	margin-right:5px;
 }
 
 
 b.titre_paiement_facture{
 	margin-right:5px;
 	font-size:22px;
 }
 
 
 b.titre_paiement_autre_facture{
 	color:#FFFFFF
 }
 
 b.titre_mntant_facture{
 
 }
 
 b.space_mntant_facture_payer{
 	margin:8px
 
 }
 
 
 
 .titre_message_box{
      font-size: 16px;
 	 font-weight: bold;
 	 color:#FFFFFF;
 	 margin-left:10px;
 }
 
 
 a.link_message_box:link {	
     font-size:12px;	    	
 	color:#E61E06;
 	font-weight:bold;
 	text-decoration:none;
 	margin-right:10px;
 	padding-top:0px;
 	margin-top:0px;	
 }
 
 a.link_message_box:visited {
     font-size:12px;	    	
 	color:#E61E06;
 	font-weight:bold;
 	text-decoration:none;
 	margin-right:10px;
 }
 
 a.link_message_box:active {
     font-size:12px;    
 	color:#E61E06;
 	font-weight:bold;
 	text-decoration:none;
 	margin-right:10px;
 }
 
 a.link_message_box:hover {
     font-size:12px;   	
 	color:#FFFFFF;
 	font-weight:bold;
 	text-decoration:none;
 	margin-right:10px;
 	margin-bottom:10px;
 }
 
 .body_messagebox{
      font-size: 12px;
 	 font-weight: bold;
 	 color:#000000;
 	 margin-left:20px;
 	 margin-top:10px;
 }
 
 .tab_reponse{ 
 	border: 1px solid black; 
 	font-family:Verdana, Arial, Helvetica, sans-serif; 
 	font-size:11px;	
 }
 
 .patienter{ 	
 	font-family:Verdana, Arial, Helvetica, sans-serif; 
 	font-size:20px;
 	text-align:center;
 	padding: 5px;
 	margin-right:5px;
 	margin-bottom:7px;
 	margin-top:7px;	
 }
 
 
 #erreur_login_pp{  
     FONT-FAMILY: Verdana,Tahoma, Arial,sans-serif;
 	color: #FF0000;
 	font-size:14px;
 	text-align:center;
 	z-index:99999;
 	padding-top:30px;
 	font-weight: bold;	
 }
 
 #tab_facture{ 	
     border: 1px solid #CCCCCC;
 }
 
 #tab_facture th{ 	
     FONT-FAMILY: Verdana,Tahoma, Arial,sans-serif;
 	color: #FFFFFF;
 	background-color:#5bac26;	
 	height:35px;
 	font-size:14px;
 }
 
 
 #tab_facture td{ 	
     FONT-FAMILY: Verdana,Tahoma, Arial,sans-serif;
 	height:30px;
 	font-size:13px;
 	padding:0px 20px 0px 5px;
 }
 
 
 .form-container {
	max-width: 640px;
	margin: 18px auto;
	padding: 26px;
	border-radius: 12px;
	background: var(--m-surface);
	box-shadow: var(--m-shadow);
	border: 1px solid rgba(229,231,235,0.9);
 }
 
 .form-group {
	margin-bottom: 14px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
 }
 
 .form-group label {
	font-weight: 600;
	display: block;
	color: var(--m-text);
	font-size: 14px;
 }
 
 .form-group input {
	width: 100%;
	padding: 12px 14px 12px 42px;
	margin-top: 0;
	box-sizing: border-box;
	border-radius: 12px;
	border: 1px solid var(--m-border);
	background-color: #ffffff;
	font-size: 16px;
	line-height: 1.2;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
 }

 .form-container .form-group input{
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
 }

 .form-group input::placeholder{
	color: #9ca3af;
 }

 #msisdn{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230a8f3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.86.31 1.7.57 2.5a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.58-1.14a2 2 0 0 1 2.11-.45c.8.26 1.64.45 2.5.57A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 14px 50%;
	background-size: 18px 18px;
 }

 #code_captha{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230a8f3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 14px 50%;
	background-size: 18px 18px;
 }

 .form-group input:hover{
	border-color: #d1d5db;
 }

 .form-group input:focus{
	transform: translateY(-1px);
 }

 .ramadan-offer{
	padding: 24px 0;
 }
 

 .ramadan-offer .ramadan-banner{
	max-width: 260px;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto 14px;
 }

 .ramadan-offer .offer-title{
	margin: 0 0 10px;
 }

 .ramadan-offer .offer-text,
 .ramadan-offer .offer-info{
	max-width: 720px;
	margin: 0 auto 12px;
 }

 .ramadan-offer .reward-box{
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 16px;
	margin: 16px auto;
 }

 .ramadan-offer .reward-item{
	background: #ffffff;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	padding: 14px 16px;
	min-width: 180px;
	max-width: 240px;
	flex: 1 1 200px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
 }

 .ramadan-offer .reward-item img{
	width: 56px;
	height: 56px;
	object-fit: contain;
	display: block;
	margin: 0 auto 8px;
 }

 .ramadan-offer .reward-item h3{
	margin: 0;
	font-size: 18px;
 }

 .offer-note{
	max-width: 600px;
	margin: 14px auto 0;
	padding: 12px 14px;
	border-radius: 10px;
	background: #fff7e6;
	border: 1px solid #ffe3b0;
	color: #6b4e16;
 }

 @media (max-width: 480px){
	.ramadan-offer{
		padding: 18px 0;
	}

	.ramadan-offer .reward-item{
		min-width: 0;
		max-width: 100%;
	}
 }

 .ramadan-offer{
 text-align:center;
 padding:40px 0;
 }

 .ramadan-banner{
 width:260px;
 margin-bottom:20px;
 }

 .offer-title{
 color:#0a8f3d;
 font-size:32px;
 margin-bottom:10px;
 }

 .offer-text{
 font-size:18px;
 margin-bottom:25px;
 }

 .reward-box{
 display:flex;
 justify-content:center;
 gap:40px;
 margin-bottom:25px;
 }

 .reward-item{
 background:#f6f6f6;
 padding:20px;
 border-radius:10px;
 width:160px;
 }

 .reward-item img{
 width:60px;
 margin-bottom:10px;
 }

 .offer-info{
 font-size:16px;
 color:#444;
 }

 .offer-note{
 text-align:center;
 margin-top:20px;
 color:#888;
 font-size:14px;
 }

 .ramadan-offer{
	max-width: 980px;
	margin: 0 auto;
 }

 .offer-title{
	letter-spacing: -0.3px;
 }

 .offer-text{
	color: var(--m-muted);
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
 }

 .offer-info{
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
 }

 .reward-item{
	box-shadow: var(--m-shadow-soft);
	border: 1px solid rgba(229,231,235,0.9);
 }

 @media (max-width: 768px){
	.form-container{
		max-width: 92%;
		padding: 20px;
	}

	.reward-box{
		gap: 18px;
	}
 }

 @media (max-width: 480px){
	.form-container .form-group input{
		max-width: 100%;
	}

	.form-group input{
		padding-left: 40px;
	}

	.reward-item{
		width: 100%;
		max-width: 260px;
	}
 }

 .js-ripple{
 	position: relative;
 	overflow: hidden;
 	transform: translateZ(0);
 }

 .js-ripple .ripple{
 	position: absolute;
 	border-radius: 50%;
 	transform: scale(0);
 	animation: ripple 650ms ease-out;
 	background: rgba(255,255,255,0.55);
 	pointer-events: none;
 }

 @keyframes ripple{
 	to{
 		transform: scale(4);
 		opacity: 0;
 	}
 }

 .ButtonEnvoyer,
 .ButtonAnnuler{
 	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
 }

 .ButtonEnvoyer:hover{
 	transform: translateY(-1px);
 	box-shadow: 0 10px 18px rgba(0,0,0,0.12);
 }

 .ButtonAnnuler:hover{
 	transform: translateY(-1px);
 	box-shadow: 0 10px 18px rgba(0,0,0,0.10);
 }

 .ButtonEnvoyer:active,
 .ButtonAnnuler:active{
 	transform: translateY(0) scale(0.98);
 	filter: brightness(0.98);
 }

 #msisdn:focus,
 #code_captha:focus{
 	outline: none;
 	border-color: #0a8f3d;
 	box-shadow: 0 0 0 4px rgba(10,143,61,0.15);
 }

 @keyframes shake{
 	0%, 100% { transform: translateX(0); }
 	20% { transform: translateX(-6px); }
 	40% { transform: translateX(6px); }
 	60% { transform: translateX(-4px); }
 	80% { transform: translateX(4px); }
 }

 .js-shake{
 	animation: shake 420ms ease;
 }

 .btn-loading{
 	opacity: 0.85;
 	pointer-events: none;
 	position: relative;
 }

 .btn-loading::after{
 	content: '';
 	display: inline-block;
 	width: 14px;
 	height: 14px;
 	border-radius: 50%;
 	border: 2px solid rgba(255,255,255,0.7);
 	border-top-color: rgba(255,255,255,0.0);
 	margin-left: 10px;
 	vertical-align: -2px;
 	animation: spin 900ms linear infinite;
 }

 @keyframes spin{
 	to{ transform: rotate(360deg); }
 }
