/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


body {
      font-family: "Poppins", sans-serif;
}

.ast-builder-menu-1 .main-header-menu,
.ast-below-header-bar {
  background-color: #101828;
}



.width1240 {
        width: 100%;
        margin: auto;
		padding: 0 1rem;
}
@media (min-width: 1240px) {
	.width1240 {
        width: 1240px;
        margin: auto;
		padding: unset;
	}
}

.page-template-frontpage #primary,
.page-template-profmed #primary,
.page-template-proftns #primary   {
    margin-top: 0 !important;
}



.page-template-frontpage h1,
 .page-template-profmed h1,
 .page-template-proftns h1 {
    margin: auto;
    padding: 3rem 0;
}
@media (max-width: 768px) {
	.page-template-frontpage h1,
	.page-template-profmed h1,
	.page-template-proftns h1 {
    margin: auto;
    padding: 1rem 0;
	text-align: center;
	font-size: 1.3rem;
	}
}


@media (min-width: 922px) {
  .site-content .ast-container {
    display: block;
  }
}


h1 {
	 margin: auto;
    padding: 0 0 3rem 0;
}

h2 {
    padding: 2rem 0;
    font-size: 2rem;
	margin-bottom: 0px !important;
}

h4 {
    font-size: 1.1rem;
}



@media (max-width: 768px) {

	.ast-logo-title-inline .ast-site-identity {
		display: block !important;
	}

	.site-title {
		font-size: 1rem;
	}
	
	.ast-site-title-wrap {
		width: 100vw;
		margin-left: calc(-35vw + 50%);
		overflow: hidden;
		margin-top: 1rem;
	}
}


.full-width-section {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
    background-color: #fff;
}

.bg1 {
    background: #edf4ff;
}

.topHome {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#edf4ff+91,ffffff+100 */
    background: linear-gradient(to bottom,  #edf4ff 91%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    padding: 3rem 0 4rem 0;
}

.flex {
    display: block;
}
@media (min-width: 768px) {
	.flex {
    display: flex !important;
	}
}


.flex1 {
    flex: 1;
}

.flex2 {
	flex:2;
}

.flex3 {
	flex:3;
}

.topGuide {
	margin-bottom: 5rem;
}

.formTop {
    gap: 4rem;
}

.FontL {
    font-size: 2.4rem;
    font-weight: 900;
    margin-bottom: 2rem;
    line-height: 3rem;
}
@media (max-width: 768px) {
.FontL {
    font-size: 2.4rem;
    font-weight: 900;
    margin-bottom: 2rem;
    line-height: 3rem;
	text-align: center;
}
}

.colorTxt1 {
    color: #1cbdce;
}

.flexIcon {
    gap: 1rem;
    margin: 2rem 0;
	display: flex;

}
@media (min-width: 768px) {
	.flexIcon {
		gap: 2rem;
		margin: 2rem 0 0 0;
	}
}


.flexIcon > div {
    display: flex;
    align-items: center; /* centre verticalement */
    gap: 8px; /* espace entre l’icône et le texte */
}

.padding-Bot3 {
	padding: 0 0 3rem 0;
}

/************************************/
	FORMULAIRE ETAPE
/************************************/
	

    .formetape {
        width: 100%;
        margin-top: 80px !important;
    }
    @media (min-width: 1000px) {
        .formetape {
        margin-top: 0px !important;
        }
    }
	.formetapeBlanc {
		background: #fff;
		border-radius: 20px;
		box-shadow: 0 20px 40px rgba(0,0,0,0.1);
		overflow: hidden;

	 } 
	.form-card {
		padding: 30px;
	}

	
	.step-indicators {
		display: flex;
		justify-content: center;
		//margin-bottom: 40px;
	}
	
	.step-indicator {
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background: #e0e0e0;
		margin: 0 0.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		transition: all 0.3s ease;
	}
	
	.step-indicator.active {
		background: #4facfe;
		color: white;
	}
	
	.step-indicator.completed {
		background: #00ff88;
		color: white;
	}
	
	.step-indicator.completed::after {
		content: "✓";
		font-weight: bold;
	}
	
	.form-step {
		display: none;
		animation: fadeIn 0.5s ease;
	}
	
	.form-step.active {
		display: block;
	}
	
	@keyframes fadeIn {
		from { opacity: 0; transform: translateX(20px); }
		to { opacity: 1; transform: translateX(0); }
	}
	
	.form-title {
		text-align: center;
		color: #333;
		margin-bottom: 30px;
		font-size: 1.5rem;
	}

	
	
	.radio-groupe {
		display: flex;
		gap: 20px;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.radio-option {
		//flex: 1;
		//min-width: 150px;
	}
	
	.radio-option input[type="radio"] {
		display: none;
	}
	
	.radio-option label {
		display: block;
		padding: 20px;
		border: 2px solid #e0e0e0;
		border-radius: 15px;
		text-align: center;
		cursor: pointer;
		transition: all 0.3s ease;
		background: white;
	}
	
	.radio-option label:hover {
		border-color: #4facfe;
		transform: translateY(-2px);
		box-shadow: 0 5px 15px rgba(79, 172, 254, 0.2);
	}
	
	.radio-option input[type="radio"]:checked + label {
		border-color: #4facfe;
		background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
		color: white;
	}
	
	.radio-icon {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	.caisseEtape {
  display: flex;
  flex-wrap: wrap;
}
	
   
	.caisseEtape input[type="radio"] {
		display: none;
	}
	
	.caisseEtape label {
		border: solid 2px #eee !important;
		border-radius: 1rem;
		padding: 10px;
		width: auto;
	}
	
	.caisseEtape label:hover {
		background-color: #4facfe;
		box-shadow: 0 2px 10px rgba(79, 172, 254, 0.2);
		border: solid 2px #4facfe !important;
		color: #fff;
	}
	
	.caisseEtape input[type="radio"]:checked + label {
		border-color: #4facfe;
		background: #4facfe;
		border: solid 2px #4facfe !important;
		color: #fff;
	}
	
	.caisseEtape img {
		width: 40px;
		height: 40px;
		object-fit: contain;
		margin-left: 10px;
	}
	
	.form-group {
		margin-bottom: 10px;
	}
	
	.form-group label {
		display: block;
		margin-bottom: 8px;
		color: #333;
		font-weight: 600;
	}
	
	.form-group input,
	.form-group select {
		width: 90%;
		padding: 9px 15px;
		border: 2px solid #e0e0e0;
		border-radius: 10px;
		font-size: 16px;
		transition: border-color 0.3s ease;
	}
	
	.form-group input:focus,
	.form-group select:focus {
		outline: none;
		border-color: #4facfe;
		box-shadow: 0 0 0 3px rgba(79, 172, 254, 0.1);
	}

	.form-group-flex {
		display: block;
	}
	@media only screen and (min-width: 768px) {
		.form-group-flex {
			display: flex;
			justify-content: space-between;
			//margin-top: 20px;
			gap: 15px;
		}
	}

	.form-group-flex .form-group {
		flex: 1;
	}
	
	.form-buttons {
		display: flex;
		justify-content: space-between;
		margin-top: 20px;
		gap: 15px;
	}

	#nextBtn, #prevBtn {
		flex: 1;
	}

	#prevBtn {
		background: #aaa;
	}


/****************************************/



.midtxt {
    font-size: 1.2rem;
    text-align: center;
    width: 80%;
    margin: auto;
}

.flexList {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.2rem;
}


.homeAvantage {
    margin: 4rem auto;
    gap: 2rem;
}

.alignCenter {
    text-align: center;
}

.avantHome {
    display: block;
    gap: 2rem;
    width: 100%;
    margin: auto;
}
@media only screen and (min-width: 768px) {
	.avantHome {
		display: flex;
		gap: 2rem;
		width: 80%;
		margin: auto;
	}
}

.avantHome > div {
    padding: 1rem;
    border: solid 1px #aaa;
    border-radius: 1rem;
	margin-bottom: 2rem;
}
@media only screen and (min-width: 768px) {
	.avantHome > div {
		padding: 1rem;
		border: solid 1px #aaa;
		border-radius: 1rem;
		margin-bottom: 0;
	}
}

.avantHome h4 {
    margin-bottom: 1rem;
}

.margeBot1 {
    margin-bottom: 1rem;
}

.icol1 {
    stroke: #046bd2;
}

.icol2 {
    stroke: #27ae13;
}

.icol3 {
    stroke: #9810fa;
}


.btnProfil {
	padding: 1rem;
	display: flex;
	gap: 2rem;
	width: 80%;
	margin: auto;
	background: #fbfbfb;
	box-shadow: 0px 1px 2px 2px #eee;
	align-items: center;
	font-weight: 700;
	color: #1e293b;
  	border-radius: 1rem;
}
}



/*****************************/

.comparateurHome {
    background: #f9fafb;
    margin-top: 4rem;
    margin-bottom: 4em;
}

.comparator-header h2 {
    margin: 0;
}

.compagnies {
    margin-top: 2rem;
}

.compagnies a {
    text-align: right;
  display: block;
  font-size: 1em;
  margin-right: 110px;
}

.compagnies img {
    width: 100px;
  margin: 10px 15px;
}




.marquee-wrapper {
  width: 100%;
  overflow: hidden;
  background: #fff; /* facultatif */
  padding: 10px 0;
}

.marquee {
  display: flex;
  gap: 2rem;
  width: max-content;
  animation: scroll-left 30s linear infinite;
}

.marquee img {
  //height: 50px;
  width: 100px;
  object-fit: contain;
}

/* Animation */
@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}


/********************************/


.btnComp {
    display: block;
    padding: 0.5rem 1rem 0.5rem 4rem;
    background-color: #045cb4;
    color: #fff;
    border-radius: 1rem;
    margin: 1rem auto;
    background-image: url('https://comparateur-prevoyance.com/wp-content/themes/twentyseventeen-child/images/openBook.png');
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: 1rem;
    }

.comparator-header {
    display: none;
}

.page-template-profmed .filter-contract-category,
.page-template-proftns .filter-contract-category {
    display: none !important;
}

.lexique-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.lexique {
	display: block;
	padding: 1rem;
	background: #1cbdce;
	border-radius: 6px;
	text-align: center;
	text-decoration: none !important;
	color: #222;
	transition: background 0.2s;
}

.lexique:hover {
  background: #e1e4e8;
}

.flexBox {
	display: flex;
	gap: 2rem;
	margin: 3rem auto;
}

.flexBox .flex1 {
	border: solid 1px #aaa;
	border-radius: 1rem;
	padding: 1rem;
}

.boxInfo {
	padding: 2rem;
  background: #033138;
  color: #fff;
  border-radius: 1rem;
  margin: 3rem auto;
}

.btnDevis {
	display: inline-block;
	padding: 1rem 2rem;
	text-decoration: none;
  background: #ff796c;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 1rem;
}

.btnComparateur {
		display: inline-block;
	padding: 1rem 2rem;
	text-decoration: none;
  background: #1cbdce;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 1rem;
}

button:hover, button:focus {
	//background-color: transparent !important;
}

.wp-comparator-single-container .btn-more-info {
	background-color: #0073aa;
  padding: 0.6rem 1rem;
  color: #fff;
  text-decoration: none;
}

.wp-comparator-single-container .btn-more-info:hover {
	background-color: #0a374d;
}


.page-id-169 .comparator-filters,
.page-id-169 .compare-checkbox {
	display: none;
}

.textArrow {
	display: flex;
  gap: 0.5rem;
  font-weight: 900;
  font-size: 1.2rem;
  justify-content: center;
  background: #1cbdce;
  padding: 2rem;
  border-radius: 1rem;
  color: #fff;
}

.marge3 {
	margin: 3rem auto;
}

.page-id-169   .wp-comparator-grid-container-Box {
    grid-template-columns: none;
    align-items: start;
  }

  .btn1 {
	background: #1cbdce;
	padding: 1rem;
	border-radius: 0.5rem;
	display: block;
	margin: 3rem auto;
	color: #fff;
	font-weight: 800;
	text-decoration: none !important;
	text-align: center;
	font-size: 1.2rem;
  }
  @media (min-width: 768px) {
	.btn1 {
		width: 40%;
	}
  }

  .btnConsult {
		background: #1cbdce;
	padding: 1rem;
	border-radius: 0.5rem;
	display: block;
	margin: 3rem auto;
	color: #fff;
	font-weight: 800;
	text-decoration: none !important;
	width: 40%;
	text-align: center;
	font-size: 1.2rem;
  }

  .boxOmbre {
	flex:1;
	display: inline-block;
    width: 49%;
    padding: 1rem;
    border-radius: 20px;
	color: #212121;
  box-shadow: 0 0 20px 0 rgba(11,16,79,.1);
  }

  .form-contact input, .form-contact textarea {
  padding: 0.7rem 1rem;
  border: solid 1px #aaa;
  border-radius: 1rem;
  width: 80%;
  display: block;
  margin: auto;
}

.form-contact label {
  display: none;
}

/**********************************************/

.page-template-page-comparaison .field-value,
.page-template-page-comparaison .field-value {
	padding: 0;
}


.page-template-page-contrat-single .category-section-top .fields-list .field-row:first-child .field-label,
.page-template-page-comparaison .category-section-top .fields-list .field-row:first-child .field-label {
	display: none;
}

.page-template-page-contrat-single .fields-list .field-row,
.page-template-page-comparaison .fields-list .field-row {
	display: flex;
}

.page-template-page-contrat-single .category-title,
.page-template-page-comparaison .category-title {
	text-align: center;
	background: #1bbdce;
  	border-radius: 1rem;
	color: #fff;
}

.page-template-page-contrat-single .category-section-top .fields-list .field-row:first-child .field-value,
.page-template-page-comparaison .category-section-top .fields-list .field-row:first-child .field-value {
	text-align: center;
}

.page-template-page-contrat-single .category-section,
.page-template-page-comparaison .category-section {
	border: none !important;
}

.page-template-page-contrat-single .field-row,
.page-template-page-comparaison .field-row {
	border: solid 1px #aaa;
  	margin: 1rem auto;
	border-radius: 1rem;
}

.page-template-page-contrat-single .field-label,
.page-template-page-comparaison .field-label {
	border-radius: 1rem  1rem 0 0;
}
@media (min-width: 768px) {
	.page-template-page-contrat-single .field-label,
	.page-template-page-comparaison .field-label {
		border-radius: 1rem 0 0 1rem;
	}
}

.page-template-page-contrat-single .info-btn,
.page-template-page-comparaison .info-btn {
	color: #fff !important;
}

.page-template-page-comparaison .comparison-category {
	box-shadow: none;
}

.wp-comparator-grid-container .button-document {
	display: none;
}

.wp-comparator-single-container .button-document {
	display: block;
}
@media (min-width: 768px) {
.button-document {
	width: 50%;
}
}

.category-title {
	border-bottom: none;
}

/*
.page-template-page-comparaison .comparison-category .comparison-table .table-row {
	margin: 1rem;
}

.page-template-page-comparaison .comparison-category .comparison-table .table-row > :nth-child(1 of .item-column) {
	background: #f1ffff !important;
}
.page-template-page-comparaison .comparison-category .comparison-table .table-row > :nth-child(2 of .item-column) {
	background: #fff9f1 !important;
}
	*/


.comparison-header {
  text-align: center;
  margin-bottom: 40px;
  padding: 30px;
  border-radius: 12px;
  background: #1cbcce !important;
}

.comparison-intro {
  font-size: 1.6em !important;
  color: #fff !important;
  line-height: 1.6;
  max-width: 100% !important;
  margin: 0 auto;
  background: transparent !important;
  padding: 20px;
  border-radius: 8px;
  border-left: none !important;
  font-weight: 800;
}


/***********************************************/
/**************** site footer ******************/
/***********************************************/

.widget-title {
    margin:0 0 1rem 0;
    text-align: left;
    color: #bbb;
}

.flexIconFooter {
    display: flex;
    gap: 5px;
    align-items: center;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
    background-color: transparent;
}

.site-footer {
    background-color: #101828 !important;
	padding: 1rem;
}

.site-below-footer-wrap {
    background-color: #101828 !important;
    border: none !important;
}

.site-footer .menu-link {
    color: #bbb;
}

.site-footer-primary-section-3 a {
    color: #bbb;
}

.btnFoot {
    background-color: #fff;
    color: #101828 !important;
    padding: 0.5rem 1rem;
    border-radius: 1rem;
    margin: 1rem auto;
    display: block;
}

.minitxtfooter {
	background: #101828;
  color: #aaa;
  padding: 2rem;
  font-size: 0.8rem;
}
@media only screen and (min-width: 768px) {
	.minitxtfooter {
		background: #101828;
	color: #aaa;
	padding: 0 12rem 5rem 12rem;
	font-size: 0.8rem;
	}
}
