* {

margin: 0;
padding: 0;

} 

.home .vivre-marrakech-durable, .open_close_menu, .thematiques .news-section {
	
display : none	
	
}

body:not(.home) .navbar {
	
position : absolute;
z-index : 4	
	
}

.bloc-news .call-to-action {
		
	overflow : visible;	
		
	}


.bloc-news .wrrp_image {
	
    height: 208px;	
	
}

.bloc-news {
	
height: auto;	
	
}




.bloc-news  .frame-1000003621 {
	
height: 490px;	
/* padding-bottom: 150px;	 */
	
}

.bloc-news  .frame-1000003621 .contenu-bloc-2 {
	
height: 420px;	
    justify-content: space-between;	
	
}



.wpcf7-form-control-wrap.your-file {

	width: 50%;
  position: absolute;
	
}

.wpcf7-form-control-wrap.your-file .wpcf7-form-control-wrap {
	
position: absolute;
  left: 0;
  top: -30px;
  width: 100%;
  height: 60px;
  cursor: pointer;	
	
}


.wpcf7-form-control-wrap.your-file .wpcf7-not-valid-tip {

position: relative;
  top: 35px;	
	
}


.swiper-button-next, .swiper-button-prev {
	
position : relative	!important;
left : unset !important;
right : unset !important;
top : unset !important	
	
}

.button-style-2, .button-style-3, .button-style-4, .button-style-5, .button-style-6, .button-style-7 {
	
font-weight : 600	
	
}


html {

scroll-behavior: smooth;

}
.home .hm,
.page-template-thematiques .tmtq, .single-thematique .tmtq,
.page-template-activites .actvt, .single-activite .actvt,
.page-template-marrakech-durable .mrkc_drbl,
.page-template-bibliotheque .bbltq{
 font-weight : 600	
}

/* .wpcf7-form-control-wrap {
	
position : unset !important	
	
} */

.home .bibliothque .button-style-7 {
	
overflow : initial !important	
	
}

.wrrp_form .submit-wrapper button {

background : none;	

	
}


.wrrp_form .submit-wrapper button div {
	
font-weight : 500	
	
}

 /* Start Select from */

.wrrpr_civ {
	
grid-column: 1 / 3;	
	
}

    .input-group.input-groupt-select {
        cursor: pointer;
        position: relative;
		width : 375px;
    }

    .input-group.input-groupt-select input {
        cursor: pointer;
        width: 100%;
    }

    .input-group.input-groupt-select .icon {
        position: absolute;
        top: 16px;
        right: 20px;
        transform: rotate(0deg);
        transition: transform 0.5s ease-in-out;
    }

    .input-group.input-groupt-select .options {
        position: absolute;
        box-shadow: 0px 10px 30px rgba(55, 84, 129, 0.16);
        background-color: #FFF;
        top: 56px;
        z-index: 2;
        width: 100%;
        display: flex;
        flex-direction: column;
        border-radius: 0 0 10px 10px;
        height: 0;
        overflow: hidden;
        transition: height 0.4s ease-in-out;
    }

    .input-group.input-groupt-select .options div {
        width: 100%;
        cursor: pointer;
        background-color: transparent;
        color: #38594D;
        padding: 16px 20px;
        font-weight: 400;
        font-size: 14px;
        letter-spacing: 0.05em;
        transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out;
    }

    .input-group.input-groupt-select .options div:hover,
    .input-group.input-groupt-select .options div.active {
        background-color: #38594D;
        color: #FFF;
        font-weight: 500;
    }

    .input-group.input-groupt-select.active .options {
        height: 103px;
    }

    .input-group.input-groupt-select.active .icon {
        transform: rotate(180deg);
    }

.big_wrapper_submit {
	
width : 100%;
display : flex;
/* justify-content : flex-end;	 */
margin-top : 25px;	
justify-content : space-between;	
margin-top : 70px
	
}

.big_wrapper_submit .button-style {
	
margin-top : 0;	
	
}

.big_wrapper_submit input[type="checkbox"] {
  appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 15px;
  height: 15px;
  border: 0.15em solid #E79D81;
  border-radius: 0.15em;
  transform: translateY(-0.075em);
}

.big_wrapper_submit .form-control + .form-control {
  margin-top: 1em;
}

.big_wrapper_submit input[type="checkbox"] {
  /* ...existing styles */
  display: grid;
  place-content: center;
	    margin-top: 4px;
}

.big_wrapper_submit input[type="checkbox"]::before {
  content: "";
  width: 11px;
  height: 11px;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-control-color);
	 background-color: #E79D81;
}

.big_wrapper_submit input[type="checkbox"]:checked::before {
  transform: scale(1);
}


.big_wrapper_submit .wpcf7-acceptance {
	
background : none !important;	
padding : 0 !important;
	
}


.big_wrapper_submit .wpcf7-acceptance .wpcf7-list-item {
	
margin : 0 !important	
	
}


.big_wrapper_submit .wpcf7-acceptance label {

display : flex;	
gap : 15px	
	
}


.big_wrapper_submit .wpcf7-acceptance label .wpcf7-list-item-label {
   
	
font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 12px;
line-height: 130%;
color : #38594D;

	
}


.big_wrapper_submit .wpcf7-acceptance label .wpcf7-list-item-label a {
	
color : #1EA561;	
	
}

.big_wrapper_submit .field-check {
	
width : 48%;	
	
}

.big_wrapper_submit .field-check.simulation {
	
width : 100%;	
margin-bottom : 50px;	
}


.big_wrapper_submit .field-check.simulation input[type="checkbox"] {
	
display : inline-block;	
position: relative;
    top: 3px;
	
}



.big_wrapper_submit .simulation input[type="checkbox"] {
	
margin-right : 5px	
	
}

.big_wrapper_submit .simulation input[type="checkbox"]::before {
	
position : absolute;
top : 0	
	
}


.navbar .frame-6 {
	
height : 50px;
background : #20947C;

	
}

.navbar .frame-6 .button-style-2 {
	
color : #ECF5F3		
	
}


.label_section {

font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;
color: #E79D81;
margin: 0;
padding: 0;

}

.button-style {
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
  overflow: hidden;
  margin-top: 35px;
}

.frame-6 {
  grid-column-gap: 10px;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  background-color: #E79D81;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
/*   height: 30px; */
  padding: 15px 30px;
  text-decoration: none;
  display: flex;



}

.button-style-2 {
color: #38594D ;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 150%;
  text-decoration: none;

  font-family: 'General Sans', sans-serif;

font-weight: 600;
font-size: 12px;
line-height: 150%;
letter-spacing: 6%;
text-align: center;
text-transform: uppercase;

}

.vector {
  object-fit: cover;
}

.marrakech_durable .hero {

height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background-color: #FBF4F2;

}


.marrakech_durable .activites {

padding: 80px 0;

}


.marrakech_durable .contner {

display: flex;
width : 1240px;
display: flex;
justify-content: space-between;
margin: auto;
max-width : 100%	

}

.home .contner {
	
margin: auto;	
width : 1240px;	
	max-width : 100%;
	
	
}


.home .bibliothque .contner {
	
margin: auto;
    width: 1380px;
    display: flex;
    justify-content: space-between;	
	max-width : 100%;
	
}


.marrakech_durable .activites .contner .left img {

width : 498px;
max-width: 100%;

}

.marrakech_durable .activites .contner .right  {

width : 661px;
max-width: 100%;

}

.marrakech_durable .activites .contner .right h1 {

font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
color: #20947C;

}


.marrakech_durable .activites .contner .right .description {

font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;

}

.marrakech_durable .activites .contner .right .description a {
	
color: #38594D;
text-decoration : none;
	
}


.marrakech_durable .thematiques {


background-color: #FBF4F2;
border-top: 1px solid #20947C;
border-bottom: 1px solid #E79D81;
padding: 100px 0;


}



.marrakech_durable .thematiques .contner .left {

width : 590px;
max-width: 100%;

}

.marrakech_durable .thematiques .contner .left h2 {


font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
color: #20947C; 

}


.marrakech_durable .thematiques .contner .left .description {


font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;

}


.marrakech_durable .thematiques .contner .right .wrppr_cards {


display: grid;
grid-template-columns: repeat(2, auto);
gap : 10px;
width : 590px;

}


.marrakech_durable .thematiques .contner .right .wrppr_cards .card {

padding: 20px;
background: white;
color: #20947C;
height: 240px;
display: flex;
justify-content: space-between;
flex-direction: column;

}

.marrakech_durable .thematiques .contner .right .wrppr_cards .card:first-child {

background: #E79D81;
color: #FBF4F2;


}

.marrakech_durable .thematiques .contner .right .wrppr_cards .card:last-child {

background: #20947C;
color: #ECF5F3 ;


}

.marrakech_durable .thematiques .contner .right .wrppr_cards .card:last-child p, .marrakech_durable .thematiques .contner .right .wrppr_cards .card:first-child p {

	color : #ECF5F3 !important
	
}


.marrakech_durable .thematiques .contner .right .wrppr_cards .card span {

font-family: General Sans;
font-weight: 300;
font-size: 22px;
line-height: 120%;


}


.marrakech_durable .thematiques .contner .right .wrppr_cards .card p {

font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;


    
}


.marrakech_durable .contcatez_nous {

padding: 50px 0 80px 0;

}


.marrakech_durable .contcatez_nous .contner .left {

width : 620px;
max-width: 100%;

}

.marrakech_durable .contcatez_nous .contner .right {

width: 590px;
    max-width: 100%;


}


.marrakech_durable .contcatez_nous .contner .right .equipes_bars .items {
	
display : flex !important;
flex-wrap : wrap !important	
	
}


.marrakech_durable .contcatez_nous .contner .right .equipes_bars .image_logo {
	
width : 100%;
height : auto;
justify-content : flex-start;
padding : 0 15px; 
	
}


.marrakech_durable .contcatez_nous .contner .right .equipes_bars .image_logo p {

margin : 0;
color : #38594D;
padding : 10px 0	
	
}


.marrakech_durable .contcatez_nous .contner .right .bar .items {
	
grid-template-columns : repeat(4, 1fr);
display : grid;	
gap : 25px;
padding-bottom : 25px	
	
}


.marrakech_durable .contcatez_nous .contner .right .bar .items img {
	
max-width : 72%	
	
}



.marrakech_durable .contcatez_nous .contner .left h2 {

    font-family: 'General Sans', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 122%;
    color: #20947C;

}


.marrakech_durable .contcatez_nous .contner .left .description {


font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;

}


.marrakech_durable .contcatez_nous .contner .wrppr_bars .heading {


display: flex;
justify-content: space-between;
border-top: 1px solid #20947C ;
padding-top: 28px ;
    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 22px;
line-height: 140%;
letter-spacing: 0%;
color: #20947C;
margin-bottom: 25px;;
}


.marrakech_durable .contcatez_nous .contner .items .image_logo {


background: #ECF5F3;
width : 110px;
height: 137px;
display: flex;
justify-content: center;
align-items: center;

}


.marrakech_durable .contcatez_nous .contner .items .image img {

object-fit: cover;

}


.marrakech_durable .manifeste {

  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap : 66px;
  padding: 110px 20px 50px 20px;
position: relative;
	


}

.marrakech_durable .manifeste::after {
content: "";
  position: absolute;
top: 0;
left: 0;
background: linear-gradient(250.86deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
/* background: red; */
z-index : 0;
width : 100%;
height : 100%;
}


.marrakech_durable .manifeste *  {
	
position : relative;
z-index : 1;
	
}


.marrakech_durable .manifeste h2 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 44px;
line-height: 122%;
color: white;
margin: 0;
text-align : center;	

}

.marrakech_durable .manifeste .hidden_text h3 {
	
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 44px;
line-height: 122%;
letter-spacing: 0%;
color: white;
margin: 0;	
text-align: center;
	
}


.marrakech_durable .manifeste .hidden_text p {
	
font-family: General Sans;
font-weight: 400;
font-size: 32px;
line-height: 135%;
text-align: center;
	color: white;
	
	
}

.marrakech_durable .manifeste .hidden_text p:first-of-type {
	
margin-top : 55px	
	
}

.marrakech_durable .manifeste .hidden_text p {
	
margin-bottom : 25px	
	
}


.marrakech_durable .manifeste .button-style .frame-6 {

background: white;

}

.marrakech_durable .manifeste .button-style .frame-6 .button-style-2 {

color : #5887A0;


}


.marrakech_durable .manifeste .button-style {

margin: 0;
cursor : pointer

}


.thematiques .hero {

padding-bottom: 80px;
padding-top: 220px;

}

.thematiques .contner {

width: 1240px;
    margin: auto;
	max-width : 100%

}

   .thematiques .hero .top {

    max-width: 100%;
  width: 940px;
  margin: auto;
  margin-bottom: 120px;

   }


  .thematiques .hero .top h1 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 63px;
line-height: 112.99999999999999%;
  color: #20947C;
margin: 35px 0;
  }

  .thematiques .hero .top span {

    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-style: Medium;
font-size: 22px;
line-height: 140%;
letter-spacing: 0%;
vertical-align: bottom;
color: #20947C;

  }


    /* --- GRID CONTAINER --- */
  .thematiques .hero .grid-container {
        display: grid;
        /* Creates 4 equal columns */
        grid-template-columns: repeat(4, 1fr); 
        /* Creates 4 rows with a minimum height, but allows them to grow */
        grid-template-rows: repeat(4, minmax(180px, auto)); 
        gap: 10px; /* The space between boxes */
        max-width: 1240px;
        margin: 0 auto;
    }

.thematiques .hero .grid-container a {

text-decoration : none	
	
}

    /* --- CARD STYLING --- */
    .thematiques .hero .card {
        background-color: #eff8f6; /* Light cyan background */
        border: 2px solid #86cbbc; /* Teal border */
        padding: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-between; /* Pushes number to top, text to bottom */
        font-size: 16px;
        font-weight: 400;
         color: #2b9e8b; /* Teal text color */
         font-family: Inter;
    }

    .thematiques .hero .number {
        font-size: 22px;
        font-weight: 300;
        opacity: 0.7;
    font-family: 'General Sans', sans-serif;

    }

    /* --- GRID PLACEMENT (The Masonry Logic) --- */

    /* Top Left - Big Box */
    .thematiques .hero .item-1 {
        grid-column: span 2;
        grid-row: span 2;
    }

    /* Top Middle - Stacked Small Boxes */
    .thematiques .hero .item-2 {
        grid-column: 3;
        grid-row: 1;
    }

    .thematiques .hero .item-3 {
        grid-column: 3;
        grid-row: 2;
    }

    /* Top Right - Tall Box */
    .thematiques .hero .item-4 {
        grid-column: 4;
        grid-row: span 2;
    }

    /* Bottom Left - Stacked Small Boxes */
    .thematiques .hero .item-5 {
/*         grid-column: 1; */
		grid-column: span 2;
        grid-row: 3;
    }

    .thematiques .hero .item-6 {
/*         grid-column: 1; */
		  grid-column: span 2;
        grid-row: 4;
    }

    /* Bottom Middle - Tall Box */
    .thematiques .hero .item-7 {
/*         grid-column: 2;
        grid-row: span 2; */
		grid-column: span 2;
    grid-row: span 2;
    }

    /* Bottom Right - Big Box */
    .thematiques .hero .item-8 {
        grid-column: span 2; /* Spans col 3 and 4 */
        grid-row: span 2;    /* Spans row 3 and 4 */
    }

    /* --- RESPONSIVE (Mobile) --- */
    @media (max-width: 768px) {
       .thematiques .hero .grid-container {
            grid-template-columns: 1fr; /* Single column on mobile */
            grid-template-rows: auto;
        }
        
        /* Reset all spans for mobile so they stack naturally */
       .thematiques .hero .card {
            grid-column: auto !important;
            grid-row: auto !important;
            min-height: 200px;
        }
    }


    /* General Reset and Fonts */






/* Section Wrapper */
 .thematiques .news-section {
    background-color: #38594D;
    padding: 80px 100px;
}



/* Header Styling */
 .thematiques .section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 45px;
    flex-wrap: wrap;
    gap: 20px;
}


.thematiques .section-header .header-content {

    line-height: 65px;

}

 .thematiques .header-content .eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 0.5rem;
    letter-spacing: 0.5px;
}

 .thematiques .header-content h2 {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
letter-spacing: 0%;
color: #ECF5F3;
margin : 0	 

}



 .thematiques .news-section .label_section {

color: #ECF5F3;

 }

 .thematiques .news-section .button-style .frame-6 {

  background: #ECF5F3;
  
 }

  .thematiques .news-section .button-style-2 {

    color: #20947C;

  }



/* Cards Grid */
 .thematiques .cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 10px;
}

/* Individual Card Styling */
 .thematiques .card {
    background-color: #ECF5F3;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Keeps images within border */
    /* Optional: Subtle shadow */
    

}

 .thematiques .card-image {
    height: 230px;
    width: 100%;
    overflow: hidden;
}

 .thematiques .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

 .thematiques .card:hover .card-image img {
    transform: scale(1.05);
}

 .thematiques .card-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
}

 .thematiques .card .date {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 12px;
line-height: 122%;
letter-spacing: 0%;
text-transform: uppercase;
color : #20947C;

}

 .thematiques .card h3 {
    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 24px;
line-height: 120%;
letter-spacing: 0%;
color : #20947C;
margin: 20px 0 25px 0;

}

 .thematiques .card p {
font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
letter-spacing: 0%;
color: #38594D;

}

/* Card Arrow Button */
 .thematiques .card-footer {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
    margin-top: 25px;
}

 .thematiques .card-arrow {
    
    background-color: var(--accent-green);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

 .thematiques .card-arrow svg {
    stroke: white;
    transform: rotate(-45deg);
}

 .thematiques .card-arrow:hover {
    background-color: #147a66;
    transform: rotate(45deg) scale(1.1);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
	
	.big_wrapper_submit {
		
	flex-direction : column;
	gap : 30px	
	}
	
	.big_wrapper_submit .field-check {
		
	width : 100% !important	
		
	}
	
     .thematiques .section-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
     .thematiques .header-content h2 {
        font-size: 2rem;
    }
}





/* Main Component Container */
.promo-card {
    background-color: #E89F86;
   padding: 30px;
}

.promo-card .card-inner {
    display: flex;
    background-color: #FBF4F2;
    min-height: 500px;
    /* Determine how the split works */
    flex-direction: column; 
    width: 1380px ;
    max-width: 100%;
}

/* Desktop View: Split 50/50 */
@media (min-width: 768px) {
    .promo-card .card-inner {
        flex-direction: row;
    }
}

/* --- Left Side Styling --- */
.promo-card .content-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.promo-card .content-side .wrppr {

padding: 80px 100px 95px 100px;

}


.promo-card .label {
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--c-text-label);
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.promo-card .headline {
     font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
color: #20947C;
margin-top: 20px;
margin-bottom: 45px;

}

.promo-card .description {
    font-family: Inter;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 0%;
color: #38594D;
width: 490px;
max-width: 100%;

}

.promo-card .button-style {

margin-top: 40px;

}

/* Button Styling */
.promo-card .cta-button {
    display: inline-flex;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.promo-card .cta-button:hover {
    transform: translateX(5px);
}

.promo-card .btn-text {
    background-color: #E39B83;
    color: #fff; /* White text looks better on this peach, originally it might be dark grey */
    color: #4a4a4a; 
    font-size: 0.8rem;
    font-weight: 700;
    padding: 15px 25px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
}

.promo-card .btn-icon {
    background-color: #2D917D;
    color: white;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Optional: Use clip-path if you want a slanted edge, 
       but standard rectangle is used in the image */
}

/* --- Right Side Styling --- */
.promo-card .image-side {
    flex: 1;
    background-image: url('images/koutoubia.jpg'); /* Placeholder Marrakech Image */
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    min-height: 300px; /* Ensure height on mobile */
  display: flex;
  justify-content: center;
  align-items: center;
  }

/* Overlay Text Styling */
.promo-card .typographic-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 0.85;
    pointer-events: none; /* Let clicks pass through to image if needed */
}

.promo-card .typographic-overlay span {
    font-size: 5rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 5px;
}

.promo-card .typographic-overlay .sub-text {
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 2px;
    margin-top: 10px;
}

/* Responsive adjustments for text size */
@media (max-width: 900px) {
    .promo-card .headline { font-size: 2rem; }
   .promo-card .content-side { padding: 40px; }
   .promo-card .typographic-overlay span { font-size: 3rem; }
}



/* --- Hero Section --- */


.single_thematique {

background: linear-gradient(180deg, #ECF5F3 0%, #FFFFFF 100%);


}

.single_thematique .single-thematique-hero {
    /* Replace with your actual bike image URL */
    background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('https://images.unsplash.com/photo-1541625602330-2277a4c46182?auto=format&fit=crop&q=80&w=1600'); 
    background-size: cover;
    background-position: center;
    /* height: 350px; */
    display: flex;
    align-items: center;
    color: #fff;
    position: relative;
    padding: 195px 0 95px 0;
}


.single_thematique .single-thematique-hero::after {
	
background-color: #0000004D;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;	
	
}

.single_thematique .contner {

position : relative;
z-index : 1	
	
}


.single_thematique .contner {

width: 1240px;
    margin: auto;

}

/* .single_thematique .hero-text-group {
    position: relative;
    z-index: 2;
    top: 40px; 
} */

.single_thematique .hero-text-group .label_section {
  
 color : #FBF4F2;   

}

.single_thematique .main-title {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 44px;
line-height: 122%;
 color : #FBF4F2;

}

/* --- Content Body --- */
.single_thematique .content-body {
 
    padding: 100px 0 80px 0;
}

/* Text Layout */
.single_thematique .text-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr; /* Left col slightly smaller than right */
    gap: 60px;
    margin-bottom: 60px;
}

.single_thematique .text-grid .button-style  {
	
width : max-content;
margin-bottom : 15px;
margin-top : 15px;	
	
}


.read-more-arrow {
    display: block;
    margin: 15px auto;
    transition: transform 0.4s ease;
	 transform: rotate(90deg);
}

.read-more-arrow.rotated {
    transform: rotate(270deg);
}



.single_thematique .intro-column h2 {
font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 22px;
line-height: 140%;
color: #20947C;
margin-top : 0
}

.single_thematique .body-column p {
    font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;

}


.single_thematique .body-column ul {
	
padding-left : 18px;	
	
}




.single_thematique .body-column ul li {
	
font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;	
position : relative;
padding-left : 0px;	
	
}


.single_thematique .body-column ul li::after {
	
content:"";
position : absolute;
left : 	0;
top : 8px;
border-radius : 50%;
background : #38594D	
	
}


/* --- Partners Section --- */
.single_thematique .label_section {
    color: #20947C;
}

.single_thematique .partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 42px ;
}

.single_thematique .partner-card {
    background-color: #ECF5F3; /* Slightly lighter than main bg */
    padding: 40px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* Optional: creates the subtle box effect seen in image */
    border: 1px solid rgba(0,0,0,0.02); 
}

.single_thematique .partner-card img {
/*     max-width: 80px; */
    height: auto;
    margin-bottom: 15px;
    opacity: 0.8; /* Simulate the logo blend */
}

.single_thematique .partner-name {
    font-size: 0.6rem;
    text-transform: uppercase;
    color: #333;
    line-height: 1.4;
}

/* --- Responsive Design (Mobile) --- */
@media (max-width: 768px) {
   .single_thematique .mobility-hero {
        height: 250px;
    }
    
    .single_thematique .text-grid {
        grid-template-columns: 1fr; /* Stack columns */
        gap: 30px;
    }

    .single_thematique .partners-grid {
        grid-template-columns: 1fr; /* Stack partners */
    }
}


/* --- Activités Section Styles --- */

.single_thematique .activites {
    padding: 80px 0;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Header */
.single_thematique .activites-header {
    text-align: center;
    margin-bottom: 50px;
}

.single_thematique .activites-header .label_section {
    color: #E79D81;
    margin-bottom: 20px;
    display: block;
}

.single_thematique .activites-header .activites-title {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
text-align: center;
color: #20947C;

}

/* Grid Layout */
.single_thematique .activites-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 60px;
}

/* Card Styling */
.single_thematique .activity-card {
    position: relative;
    height: 400px;
    overflow: hidden;
    color: #fff;
    padding: 30px;
}

.single_thematique .card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.single_thematique .activity-card:hover .card-bg {
    transform: scale(1.05);
}

/* Gradient Overlay */
.single_thematique .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
}

.single_thematique .card-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.single_thematique .card-tag {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
vertical-align: middle;

}

.single_thematique .card-title {
    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 24px;
line-height: 120%;
margin-top: 20px;

}

/* Card Footer */
.single_thematique .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single_thematique .project-status {
    display: flex;
    flex-direction: column;
}

.single_thematique .status-label {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;
   color:#FBF4F2;
   margin-bottom: 10px;
}

.single_thematique .status-value {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;


}

/* Diamond Arrow */
.single_thematique .card-arrow-box {

    /* background-color: #fff; */
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    margin-bottom: 10px;
    margin-right: 10px;
    transition: background-color 0.3s;
    cursor: pointer;
}

.single_thematique .card-arrow-box svg {
    transform: rotate(-45deg);
    /* width: 20px; */
}

/* .single_thematique .activity-card:hover .card-arrow-box {
    background-color: #3a9d83;
    color: #fff;
} */


.single_thematique .activity-card svg path {
	
 transition: background-color 0.3s;	
	
}



.single_thematique .activity-card:hover svg path {

fill : #E79D81	
	
}


/* --- Bottom Button --- */
.single_thematique .activites-bottom-action {
    display: flex;
    justify-content: center;
    align-items: center;
}



/* Responsive */
@media (max-width: 900px) {
    .single_thematique .activites-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
}



.single_thematique .other_thematiques .autres-thematiques-title {

    font-family: 'General Sans', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 122%;
    text-align: center;
    color: #20947C;
    

}

.single_thematique .autres_thematiques-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 60px;
    margin-top: 60px;
}

.single_thematique .autres_thematiques-grid a {
	
text-decoration : none	
	
}


.single_thematique .autres_thematiques-grid .card-title {

font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
letter-spacing: 0%;
position: relative;
z-index: 1;

}

.single_thematique .autres_thematiques-grid .activity-card {

height : 289px;
position: relative;

}

.single_thematique .activity-card::after {

content: "";
position: absolute;
left: 0;
top : 0;
 background: rgba(0, 0, 0, 0.4);
z-index: 0;
width: 100%;
height: 100%;

}




.activites_page .hero {

padding-bottom: 80px;
padding-top: 220px;

}

.activites_page .contner {

width: 1240px;
    margin: auto;
	max-width : 100%;


}


.activites_page .contner.card-inner {

width : 1380px

}


   .activites_page .hero .top {

    max-width: 100%;
  width: 940px;
  margin: auto;
  margin-bottom: 35px;

   }


  .activites_page .hero .top h1 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 63px;
line-height: 112.99999999999999%;
  color: #20947C;
margin: 35px 0;
  }

  .activites_page .hero .top span {

    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-style: Medium;
font-size: 22px;
line-height: 140%;
letter-spacing: 0%;
vertical-align: bottom;
color: #20947C;

  }


  .activites_page .filter-container {
    background-color: #E8F3F1;
    width: 256px;
    padding: 30px;
}

.activites_page .filter-section {
    margin-bottom: 30px;
}

.activites_page .filter-section:last-child {
    margin-bottom: 0;
}

.activites_page .filter-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: #20947C;
    margin-bottom: 16px;
}

.activites_page .filter-option {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
}

.activites_page .filter-option:last-child {
    margin-bottom: 0;
}

.activites_page .filter-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    border: 2px solid #20947C;
    border-radius: 2px;
    position: relative;
}

.activites_page .filter-option input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    color: #20947C;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.activites_page .filter-option label {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #4A5568;
    cursor: pointer;
    user-select: none;
}

.activites_page .activites_wrpper .contner {

display: flex;
justify-content: space-between;

}

.activites_page .activites_wrpper {
	
margin-bottom : 100px	
	
}



.activites_page .activites_wrpper .activites-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 80px;
    width: 924px;
    max-width: 100%;
}

/* Card Styling */
.activites_page .activites_wrpper .activity-card {
    position: relative;
    height: 400px;
    overflow: hidden;
    color: #fff;
/*     padding: 30px; */
	padding : 29px;
}

.activites-grid a {
	
text-decoration : none;	
	
}

.activites_page .activites_wrpper .card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.activites_page .activites_wrpper .activity-card:hover .card-bg {
    transform: scale(1.05);
}

/* Gradient Overlay */
.activites_page .activites_wrpper .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
}

.activites_page .activites_wrpper .card-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.activites_page .activites_wrpper .card-tag {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
	

}



.activites_page .activites_wrpper .card-title {
    font-family: 'General Sans', sans-serif;
font-weight: 500;
/* font-size: 22px; */
	font-size : 20px;
line-height: 120%;
margin-top: 20px;

}



.activites_page .activites_wrpper .card-tag a {
	
color : #FBF4F2;
pointer-events : none;
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
text-decoration : none;	

	
	
}


.activites_page .activites_wrpper .activity-card::after {

    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 0;
    width: 100%;
    height: 100%;

}


/* Card Footer */
.activites_page .activites_wrpper .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.activites_page .activites_wrpper .project-status {
    display: flex;
    flex-direction: column;
}

.activites_page .activites_wrpper .status-label {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;
   color:#FBF4F2;
   margin-bottom: 10px;
}

.activites_page .activites_wrpper .status-value {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;


}

/* Diamond Arrow */
.activites_page .activites_wrpper .card-arrow-box {

    /* background-color: #fff; */
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    margin-bottom: 10px;
    margin-right: 10px;
    transition: background-color 0.3s;
    cursor: pointer;
}

.activites_page .activites_wrpper .card-arrow-box svg {
    transform: rotate(-45deg);
    /* width: 20px; */
	 transition: background-color 0.3s;
}

.activites_page .activites_wrpper .card-arrow-box svg path {
	
 transition: background-color 0.3s;	
	
}

/* .activites_page .activites_wrpper .activity-card:hover .card-arrow-box {
    background-color: #3a9d83;
    color: #fff;
} */


.activites_page .activites_wrpper .activity-card:hover .card-arrow-box svg path {

fill : #E79D81
	
}


.activites_page .promo-card, .single_activite_page .promo-card, .vivre_marrakesh_durable_page .promo-card, .bibliotheque_page .promo-card  {

background: #20947C;

}


.activites_page .promo-card .image-side, .single_activite_page .promo-card .image-side, .vivre_marrakesh_durable_page .promo-card .image-side, .bibliotheque_page .promo-card .image-side {

    background-image: url(images/imgfooter.png);

}



.single_activite_page .single-activite-hero {
    /* Replace with your actual bike image URL */
    background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('images/jamaaelfena.jpg'); 
    background-size: cover;
    background-position: center;
    /* height: 350px; */
    display: flex;
    align-items: center;
    color: #fff;
    position: relative;
    padding: 195px 0 95px 0;
}


.single_activite_page .single-activite-hero::after {
	
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 0;
    width: 100%;
    height: 100%;	
	
}


.single_activite_page .single-activite-hero .contner {
	
z-index : 1;
position : relative	
	
}


.single_activite_page .contner {

width: 1240px;
    margin: auto;
	max-width : 100%

}

/* .single_thematique .hero-text-group {
    position: relative;
    z-index: 2;
    top: 40px; 
} */

.single_activite_page .hero-text-group .label_section {
  
 color : #FBF4F2;   

}

.single_activite_page .main-title {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 44px;
line-height: 122%;
 color : #FBF4F2;

}


.single_activite_page .content-side .top_cards {

display: grid;
gap: 20px;
grid-template-columns: repeat(4, auto);


}


.single_activite_page .content-side {

padding-top: 70px;

}

.single_activite_page .content-side .top_cards .box {

background-color: #ECF5F3;
color: #20947C;
padding: 51px 40px;
font-family: Inter;
font-size: 16px;
line-height: 150%;
text-align: center;
width: 315px;


}


.single_activite_page .content-side .caroussel_images {

background-color: #ECF5F3;
position: relative;
}





.single_activite_page .content-side .caroussel_images img {

width : 100%;
margin: auto;

}


.single_activite_page .content-side .caroussel_images .swiper-button-prev {

left : -50px;

}

.single_activite_page .content-side .caroussel_images .swiper-button-next {

right : -50px;

}


.single_activite_page .content-side .caroussel_images .the_carrousel {

overflow: hidden;

}

.single_activite_page .content-side .caroussel_images .arrows {
	
margin : auto;
display : flex;
justify-content : center;
gap : 15px;
margin-top : 30px	
	
}


.swiper-button-prev {

transform: rotate(180deg);

}


.swiper-button-next, .swiper-button-prev {

width : auto !important;
height : auto !important;
background: none;
outline: none !important;
border: none !important;

}

.swiper-button-next::after, .swiper-button-prev::after {

content: none !important;

}

.single_activite_page .content-side .caroussel_images  .swiper-wrapper {


align-items: center;

}

.masory_blocks {

display: flex;
justify-content: space-between;
gap: 20px;
margin: 20px 0;

}

.masory_blocks .left, .masory_blocks .right {

width : 50%;
gap: 20px;
display: flex;
flex-direction: column;

}




.masory_blocks .box {


padding: 40px;

}


.masory_blocks .box span.question {

font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 22px;
line-height: 140%;
color: #E79D81 ;
display: block;
margin-bottom: 30px;

}


.masory_blocks .box.left {

background-color: #ECF5F3;


}

.masory_blocks .box.left .description {

font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 22px;
line-height: 140%;
color: #20947C;

}


.masory_blocks .right .box {

background-color: #FBF4F2;

}

.masory_blocks .right .box .description {
font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #20947C;

}


/* --- Partners Section --- */
.single_activite_page .partners-wrapper .label_section {
    color: #20947C;
    margin-top: 42px;
}

.single_activite_page .partners-wrapper .partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 42px ;
}

.single_activite_page .partners-wrapper .partner-card {
    background-color: #ECF5F3; /* Slightly lighter than main bg */
    padding: 40px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* Optional: creates the subtle box effect seen in image */
    border: 1px solid rgba(0,0,0,0.02); 
}

.single_activite_page .partners-wrapper .partner-card img {
/*     max-width: 80px; */
    height: auto;
    margin-bottom: 15px;
    opacity: 0.8; /* Simulate the logo blend */
}

.single_activite_page .partners-wrapper .partner-name {
    font-size: 0.6rem;
    text-transform: uppercase;
    color: #333;
    line-height: 1.4;
}

/* --- Responsive Design (Mobile) --- */
@media (max-width: 768px) {
   .single_activite_page .partners-wrapper .mobility-hero {
        height: 250px;
    }
    
    .single_activite_page .partners-wrapper .text-grid {
        grid-template-columns: 1fr; /* Stack columns */
        gap: 30px;
    }

    .single_activite_page .partners-wrapper .partners-grid {
        grid-template-columns: 1fr; /* Stack partners */
    }
}





/* --- Activités Section Styles --- */

.single_activite_page .activites {
    padding: 80px 0;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    border-top: 1px solid #E79D81;
    background-color: #FBF4F2;
    margin-top: 80px;
}

/* Header */
.single_activite_page .activites-header {
    text-align: center;
    margin-bottom: 50px;
}

.single_activite_page .activites-header .label_section {
    color: #E79D81;
    margin-bottom: 20px;
    display: block;
}

.single_activite_page .activites-header .activites-title {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
text-align: center;
color: #20947C;

}

/* Grid Layout */
.single_activite_page .activites-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 60px;
}


.single_activite_page .activites-grid a {
	
text-decoration : none;	
	
}

/* Card Styling */
.single_activite_page .activity-card {
    position: relative;
    height: 400px;
    overflow: hidden;
    color: #fff;
    padding: 30px;
}

.single_activite_page .card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.single_activite_page .activity-card:hover .card-bg {
    transform: scale(1.05);
}

/* Gradient Overlay */
.single_activite_page .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
}

.single_activite_page .card-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.single_activite_page .card-tag {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
vertical-align: middle;

}

.single_activite_page .card-title {
    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 24px;
line-height: 120%;
margin-top: 20px;

}

/* Card Footer */
.single_activite_page .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single_activite_page .project-status {
    display: flex;
    flex-direction: column;
}

.single_activite_page .status-label {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;
   color:#FBF4F2;
   margin-bottom: 10px;
}

.single_activite_page .status-value {
    font-family: 'General Sans', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 122%;
text-transform: uppercase;


}

/* Diamond Arrow */
.single_activite_page .card-arrow-box {

    /* background-color: #fff; */
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    margin-bottom: 10px;
    margin-right: 10px;
    transition: background-color 0.3s;
    cursor: pointer;
}

.single_activite_page .card-arrow-box svg {
    transform: rotate(-45deg);
    /* width: 20px; */
}

.single_activite_page .activity-card:hover .card-arrow-box {
    background-color: #3a9d83;
    color: #fff;
}

/* --- Bottom Button --- */
.single_activite_page .activites-bottom-action {
    display: flex;
    justify-content: center;
    align-items: center;
}


.single_activite_page .activity-card::after {

    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 0;
    width: 100%;
    height: 100%;

}


.activites_page .promo-card .headline, .single_activite_page .promo-card .headline {

margin-top: 0;

}


.single_activite_page .content-side.interne {

padding: 0;

}


.single_activite_page .contner {

width : 1340px

}





/* Responsive */
@media (max-width: 900px) {
    .single_activite_page .activites-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
}

.news_page .contner {


width : 1240px;
margin: auto;

}

.news_page .news-section {
    padding: 80px 20px;
    background-color: #ffffff;
}

.news_page .container {
    max-width: 1200px;
    margin: 0 auto;
}

.news_page p.label_section {
    text-align: center;
    color: #FF8B6D;
    margin-bottom: 16px;
}

.news_page .section-title {
    font-family: 'General Sans', sans-serif;
    color: #20947C;
    margin-bottom: 40px;
    text-align: center;
font-weight: 400;
font-size: 44px;
line-height: 122%;

}

.news_page .news-card {
    display: flex;
    gap: 0;
    background-color: #ffffff;  
    overflow: hidden;
}


.news_page .left {

width : 610px;
max-width: 100%;

}


.news_page .news-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news_page .right {
    padding: 40px 40px 40px 60px    ;
    background-color: #E8F3F1;
    display: flex;
    flex-direction: column;
    justify-content: center;
        width: 530px;
}

.news_page .news-meta {
    display: flex;
    align-items: center;
    gap: 42px;
    margin-bottom: 20px;
}

.news_page .news-meta .label_section {

    font-family: 'General Sans', sans-serif;

font-weight: 600;
font-size: 12px;
line-height: 122%;


}


.news_page .news-date {
    font-family: 'General Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #20947C;
    text-transform: uppercase;
}

.news_page .news-title {
    font-family: 'General Sans', sans-serif;
    color: #20947C;
    margin-bottom: 20px;
font-weight: 400;
font-size: 32px;
line-height: 122%;

}

.news_page .news-description {

    font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;

}



 .news_page .filter-container {
    /* background-color: #E8F3F1; */
   width: 100%;
    padding: 30px 0px;
    border: 1px solid #ECF5F3;
    border-radius: 1px;
}

.news_page .filter-section {
    margin-bottom: 30px;
    padding-left: 40px;
    padding-right: 40px;
}

.news_page .filter-section:last-child {
    margin-bottom: 0;
}

.news_page .filter-section {

display: flex;
justify-content: space-between;
align-items: center;

}

.news_page .filter-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: #20947C;
}

.news_page .filter-option {
    display: flex;
    align-items: flex-start;
}

.news_page .filter-option:last-child {
    margin-bottom: 0;
}

.news_page .filter-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    border: 2px solid #20947C;
    border-radius: 2px;
    position: relative;
}

.news_page .filter-option input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    color: #20947C;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.news_page .filter-option label {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #20947C;
    cursor: pointer;
    user-select: none;
}

.news_page .les_news {

padding-bottom: 80px;

}


/* Cards Grid */
.news_page .cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 10px;
    margin-top: 45px;
}

/* Individual Card Styling */
.news_page .card {
    background-color: #ECF5F3;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Keeps images within border */
    /* Optional: Subtle shadow */
    
}

.news_page .card-image {
    height: 230px;
    width: 100%;
    overflow: hidden;
}

.news_page .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.news_page .card:hover .card-image img {
    transform: scale(1.05);
}

.news_page .card-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
}

.news_page .card .date {
    font-family: 'General Sans', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 122%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: #20947C;
}

.news_page .card h3 {
    font-family: 'General Sans', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #20947C;
    margin: 20px 0 25px 0;
}

.news_page .card p {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #38594D;
}

/* Card Arrow Button */
.news_page .card-footer {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
    margin-top: 25px;
}

.news_page .card-arrow {
    background-color: var(--accent-green);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.news_page .card-arrow svg {
    stroke: white;
    transform: rotate(-45deg);
}

.news_page .card-arrow:hover {
    background-color: #147a66;
    transform: rotate(45deg) scale(1.1);
}




@media (max-width: 968px) {
    .news_page .news-card {
        flex-direction: column;
    }

    .news_page .left,
    .news_page .right {
        flex: 1 1 100%;
    }

    .news_page .right {
        padding: 32px 24px;
    }

    .news_page .section-title {
        font-size: 28px;
    }

    .news_page .news-title {
        font-size: 24px;
    }
}


.single_news_page {

padding-top: 180px;

}

.single_news_page .contner.smaller {

width : 880px;
margin: auto;

}

.single_news_page .img_wrrp {

width : 100%;
height: 428px;

}


.single_news_page .img_wrrp img {

    width: 100%;
    height: 100%;
    object-fit: cover;

}


.single_news_page .contner h2 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 44px;
line-height: 122%;
color: #20947C;


}


.single_news_page .contner .auteur {

font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
margin-bottom: 45px;
margin-top: 16px;
display: block;


}


.single_news_page .contner .texte {

font-family: Inter;
font-weight: 400;
font-size: 16px;
line-height: 150%;
margin-top: 45px;
color: #38594D;
padding-bottom: 80px;
}

.single_news_page .contner .texte p {

margin-bottom: 15px;

}


.single_news_page .contner .texte p:first-child {

    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-size: 22px;
line-height: 140%;


}

.single_news_page .filter-container {
    /* background-color: #E8F3F1; */
    width: 100%;
    padding: 30px 0px;
    border: 1px solid #20947C;
    border-radius: 1px;
}

.single_news_page .filter-section {
    margin-bottom: 30px;
    padding-left: 40px;
    padding-right: 40px;
}

.single_news_page .filter-section:last-child {
    margin-bottom: 0;
}

.single_news_page .filter-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single_news_page .filter-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: #20947C;
}

.single_news_page .filter-option {
    display: flex;
    align-items: center;
    gap : 10px

}

.single_news_page .filter-option:last-child {
    margin-bottom: 0;
}

.single_news_page .filter-option label {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #20947C;
    cursor: pointer;
    user-select: none;
}


.single_news_page .filtre {

margin-bottom: 50px;

}


.single_news_page .rs {

display: flex;
justify-content: flex-end;
gap: 80px;


}


.single_news_page .activites {
    padding: 80px 0;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    border-top: 1px solid #E79D81;
    background-color: #FBF4F2;
    margin-top: 80px;
}



.single_news_page .news_partie {

padding-bottom: 80px;

}



.single_news_page .news_partie .contner {

margin: auto;
width : 1240px;
max-width: 100%;

}


.single_news_page .news_partie .title {

    font-family: 'General Sans', sans-serif;

font-weight: 400;
font-size: 32px;
line-height: 122%;
text-align: center;
color: #20947C;
margin-bottom: 45px;


}


/* Cards Grid */
.single_news_page .cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 10px;
}

/* Individual Card Styling */
.single_news_page .card {
    background-color: #ECF5F3;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Keeps images within border */
}

.single_news_page .card-image {
    height: 230px;
    width: 100%;
    overflow: hidden;
}

.single_news_page .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.single_news_page .card:hover .card-image img {
    transform: scale(1.05);
}

.single_news_page .card-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
}

.single_news_page .card .date {
    font-family: 'General Sans', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 122%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: #20947C;
}

.single_news_page .card h3 {
    font-family: 'General Sans', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #20947C;
    margin: 20px 0 25px 0;
}

.single_news_page .card p {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #38594D;
}

/* Card Arrow Button */
.single_news_page .card-footer {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
    margin-top: 25px;
}

.single_news_page .card-arrow {
    background-color: var(--accent-green);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.single_news_page .card-arrow svg {
    stroke: white;
    transform: rotate(-45deg);
}

.single_news_page .card-arrow:hover {
    background-color: #147a66;
    transform: rotate(45deg) scale(1.1);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .single_news_page .section-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .single_news_page .header-content h2 {
        font-size: 2rem;
    }
}





.vivre_marrakesh_durable_page .hero-section {
        position: relative;
        width: 100%;
        height: 100vh;
        background-image: url('images/Photo_homme.png');
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Arial', sans-serif;
    }

  .vivre_marrakesh_durable_page  .container {
        width: 100%;
        max-width: 1104px;
        padding: 0 20px;
    }

  .vivre_marrakesh_durable_page  .hero-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1));
    }

   .vivre_marrakesh_durable_page .hero-content {
        position: relative;
        z-index: 1;
        color: white;
    }

   .vivre_marrakesh_durable_page .hero-title {
        font-size: 80px;
        font-weight: 300;
        letter-spacing: 12px;
        line-height: 1.1;
        margin: 0 0 20px 0;
        text-transform: uppercase;
    }

    .vivre_marrakesh_durable_page .hero-subtitle {
    font-family: 'General Sans', sans-serif;
    font-weight: 400;
    font-size: 44px;
    line-height: 122%;
    margin-top: 50px;

    }

    @media (max-width: 768px) {
        .vivre_marrakesh_durable_page .container {
            padding: 0 40px;
        }

        .vivre_marrakesh_durable_page .hero-title {
            font-size: 50px;
            letter-spacing: 8px;
        }

        .vivre_marrakesh_durable_page .hero-subtitle {
            font-size: 18px;
        }
    }


    .vivre_marrakesh_durable_page .testimonials-section {
    background-color: #F5F5F5;
    padding: 80px 20px;
}

.vivre_marrakesh_durable_page .container {
    max-width: 1240px;
    margin: 0 auto;
}

.vivre_marrakesh_durable_page .section-header {
    text-align: center;
    margin-bottom: 60px;
}

.vivre_marrakesh_durable_page .section-tag {
    color: #E79D81;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-weight: 600;
}

.vivre_marrakesh_durable_page .section-title {
    color: #20947C;
    font-size: 44px;
    line-height: 122%;
    margin: 0 0 30px 0;
    font-weight: 400;
}

.vivre_marrakesh_durable_page .section-subtitle {
    color: #20947C;
    font-size: 20px;
    line-height: 1.6;
    margin: 0;
    font-weight: 300;
}

.vivre_marrakesh_durable_page .testimonials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px;
}

.vivre_marrakesh_durable_page .testimonial {
    text-align: center;
}

.vivre_marrakesh_durable_page .testimonial-avatar {
    width: 100px;
    height: 100px;
    background-color: #E79D81;
    border-radius: 50%;
    margin: 0 auto 30px;
}

.vivre_marrakesh_durable_page .testimonial-quote {
    color: #20947C;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
    font-weight: 400;
}

.vivre_marrakesh_durable_page .testimonial-author {
    color: #20947C;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}

.vivre_marrakesh_durable_page .testimonial-role {
    color: #20947C;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4;
}

.vivre_marrakesh_durable_page .guides-section {
    background-color: #EAE7E3;
    padding: 80px 20px;
}

.vivre_marrakesh_durable_page .guides-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.vivre_marrakesh_durable_page .guide-card {
    background-color: #E79D81;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 350px;
    position: relative;
}

.vivre_marrakesh_durable_page .guide-card.green-primary {
    background-color: #20947C;
}

.vivre_marrakesh_durable_page .guide-card.green-light {
    background-color: #E8F4F1;
}

.vivre_marrakesh_durable_page .guide-card.green-dark {
    background-color: #3D5A54;
}

.vivre_marrakesh_durable_page .guide-tag {
    color: white;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 40px;
    font-weight: 600;
}

.vivre_marrakesh_durable_page .guide-card.green-light .guide-tag {
    color: #20947C;
}

.vivre_marrakesh_durable_page .guide-content h3 {
    color: white;
    font-size: 24px;
    line-height: 1.3;
    margin: 0 0 20px 0;
    font-weight: 600;
}

.vivre_marrakesh_durable_page .guide-card.green-light h3 {
    color: #20947C;
}

.vivre_marrakesh_durable_page .guide-description {
    color: white;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    font-weight: 300;
}

.vivre_marrakesh_durable_page .guide-card.green-light .guide-description {
    color: #20947C;
}

.vivre_marrakesh_durable_page .guide-icon {
    width: 50px;
    height: 50px;
    background-color: white;
    transform: rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    align-self: center;
}

.vivre_marrakesh_durable_page .guide-icon svg {
    transform: rotate(-45deg);
    width: 24px;
    height: 24px;
}

.vivre_marrakesh_durable_page .guide-card.green-light .guide-icon {
    background-color: #20947C;
}

.vivre_marrakesh_durable_page .guide-card.green-light .guide-icon svg {
    stroke: white;
}

@media (max-width: 1024px) {
    .vivre_marrakesh_durable_page .guides-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 968px) {
    .vivre_marrakesh_durable_page .testimonials {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .vivre_marrakesh_durable_page .section-title {
        font-size: 36px;
    }
}

@media (max-width: 768px) {
    .vivre_marrakesh_durable_page .section-title {
        font-size: 32px;
    }

    .vivre_marrakesh_durable_page .testimonials-section {
        padding: 60px 20px;
    }
}

@media (max-width: 640px) {
    .vivre_marrakesh_durable_page .guides-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .vivre_marrakesh_durable_page .guides-section {
        padding: 60px 20px;
    }

    .vivre_marrakesh_durable_page .guide-card {
        min-height: 300px;
        padding: 30px 25px;
    }
}


.vivre_marrakesh_durable_page .explor-section {

background-image : url("images/bg_explore.jpg");
background-size: cover;
background-position: 100% 80%;
position: relative;


}


.vivre_marrakesh_durable_page .explor-section::after {

content: "";
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(250.86deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
top: 0;
left: 0;
z-index: 0;


}


.vivre_marrakesh_durable_page .explor-section h2 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 63px;
line-height: 112.99999999999999%;
text-align: center;
padding: 109px 0;
color: #FBF4F2;
z-index: 1;
position: relative;

}


.vivre_marrakesh_durable_page .promo-card .contner {

margin: auto;
width : 1340px;
max-width: 100%;

}




.single_thematique {

background: linear-gradient(180deg, #ECF5F3 0%, #FFFFFF 100%);


}

.bibliotheque_page .biblio-hero {
    /* Replace with your actual bike image URL */
    background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('https://images.unsplash.com/photo-1541625602330-2277a4c46182?auto=format&fit=crop&q=80&w=1600'); 
    background-size: cover;
    background-position: center;
    /* height: 350px; */
    display: flex;
    align-items: center;
    color: #fff;
    position: relative;
    padding: 180px 0 110px 0;
}


.bibliotheque_page .contner {

width: 1240px;
    margin: auto;

}


.bibliotheque_page .hero-text-group .label_section {
  
 color : #FBF4F2;   

}

.bibliotheque_page .main-title {
    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 44px;
line-height: 122%;
 color : #FBF4F2;

}


.bibliotheque_page .livres_wrpper {

padding: 95px 0 80px 0;

}



.bibliotheque_page .livres_wrpper .contner {

display: flex;
justify-content: space-between;

}


.bibliotheque_page .livres_wrpper .livres-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 60px;
    width: 924px;
    max-width: 100%;
}

/* Card Styling */
.bibliotheque_page .livres_wrpper .livre-card {
    position: relative;
    height: 405px;
    overflow: hidden;
    color: #fff;
    padding: 33px 10px 33px 10px;
    background-color: #FBF4F2;
	text-decoration : none
}

.bibliotheque_page .livres_wrpper .card-image {
    
width: 200px;
height : 279px;
margin: auto;
background-size : contain;
background-repeat : no-repeat;
    
}

.bibliotheque_page .livre-card,
.activites_page .activity-card {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.livre-card.visible,
.activity-card.visible {
    opacity: 1;
    transform: translateY(0);
}




.bibliotheque_page .livres_wrpper .titre_livre {

    font-family: 'General Sans', sans-serif;
font-weight: 500;
font-style: Medium;
font-size: 16px;
line-height: 150%;
letter-spacing: 0%;
text-align: center;
color: #20947C;
display: block;
margin-top: 19px ;


}



.bibliotheque_page .filter-container {
    background-color: #FBF4F2;
    width: 196px;
    padding: 30px;
}

.bibliotheque_page .filter-section {
    margin-bottom: 30px;
}

.bibliotheque_page .filter-section:last-child {
    margin-bottom: 0;
}

.bibliotheque_page .filter-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: #E79D81;
    margin-bottom: 16px;
}

.bibliotheque_page .filter-option {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
}

.bibliotheque_page .filter-option:last-child {
    margin-bottom: 0;
}

.bibliotheque_page .filter-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    border: 2px solid #E79D81;
    border-radius: 2px;
    position: relative;
}

.bibliotheque_page .filter-option input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    color: #E79D81;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.bibliotheque_page .filter-option label {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #4A5568;
    cursor: pointer;
    user-select: none;
}

.bibliotheque_page .promo-card .contner {

    width: 1380px;

}


.reclamation_page {
	
padding-top : 180px;
background : #ECF5F3;
padding-bottom : 108px;	
}


.reclamation_page main .contner {


margin: auto;
width: 1240px;
max-width: max-content;
background: white;
padding: 40px 37px;


}


.reclamation_page main .contner h1 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
color: #E79D81;
margin-bottom: 16px;


}

.reclamation_page main .contner h2 {

    font-family: 'General Sans', sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 122%;
color: #20947C;

margin-top: 20px;
margin-bottom : 40px;

}

.reclamation_page main .contner h2.infos_perso {
	
font-size : 14px;
margin-bottom : 0;
margin-top : 0;
font-weight: 600;
line-height: 100%;
}


.reclamation_page main .contner .description {


font-family: 'Inter', sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 150%;
margin-bottom: 40px;
   


}




.reclamation_page main .filter-container .wrrp_filters_bottom {

display: flex;
gap : 40px;


}

.reclamation_page main .filter-container {
    background-color: #ECF5F3;
   width: 100%;
    padding: 30px 0px;
    /* border: 1px solid #ECF5F3; */
    border-radius: 1px;
}

.reclamation_page main .filter-section {
    margin-bottom: 30px;
    padding-left: 40px;
    padding-right: 40px;
    /* display: flex;
justify-content: space-between;
align-items: center; */
}

.reclamation_page main .filter-section:last-child {
    margin-bottom: 0;
}


.reclamation_page main .filter-title {
   font-family: 'Inter', sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;
margin-bottom: 20px;
margin-top : 0	

}

.reclamation_page main .filter-option {
    display: flex;
    align-items: flex-start;
}



.reclamation_page main .filter-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    border: 2px solid #E79D81;
    border-radius: 2px;
    position: relative;
}

.reclamation_page main .filter-option input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    color: #20947C;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.reclamation_page main .filter-option label, .reclamation_page main .filter-option .wpcf7-list-item-label {
       font-family: 'Inter', sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 150%;
color: #38594D;

}

.reclamation_page main .filter-option span {
	
padding: 0;
  margin: 0;	
	
}


.reclamation_page main .wpcf7-checkbox .wpcf7-list-item {
	
display: flex;
  align-items: center;
  width: max-content;
	
}

.reclamation_page main .wpcf7-checkbox {
	
display: flex;
gap: 40px;	
}




/* Scoped styles within .wrrp_form only */
        .wrrp_form {
            --primary-bg: #EDF6F5; /* Light teal background for inputs */
            --text-color: #5e6d6d; /* Dark grey for text */
            --placeholder-color: #9ab0ad; /* Lighter grey for placeholders */
            --accent-color: #E5987E; /* Orange/Peach for button */
            --border-radius: 4px;
            --font-family: 'General Sans', sans-serif;
            
            font-family: var(--font-family);
            
            margin: 0 auto;
            padding: 0;
            box-sizing: border-box;
            color: #333;
        }


.wrrp_form .top {
	
display : flex;	
align-items : center;
justify-content : space-between;
margin-top : 30px;
margin-bottom : 30px
	
}

.wrrp_form .top .line_ocre {
	
display: flex;
  align-items: center;
/*   height: 20px; */
  width: 83%;
margin-top: 4px;	
}

.wrrp_form .form-grid {
	
display : flex;
flex-direction : column;
gap : 40px
	
}

#nature-demande-hidden {
	
opacity : 0;
visibility : hidden;
position : absolute;
z-index : -1;
	
}

        /* Grid Layout System */
         .wrrp_form .grid_one, .wrrp_form .grid_two  {
            display: grid;
            grid-template-columns: 1fr 1fr;
            column-gap: 30px;
            row-gap: 25px;
			 padding : 30px;
			 border: 1px solid #FBF4F2
        }

        /* Full width elements */
        .wrrp_form .full-width {
            grid-column: 1 / -1;
        }

        /* Top Civility Dropdown - constrained width mostly */
        .wrrp_form .civilite-wrapper {
            grid-column: 1 / 2; 
        }

        /* Label Styling */
        .wrrp_form label {
            display: block;
            margin-bottom: 8px;
            font-weight: 500;
            font-size: 15px;
            color: #555;
        }

        /* Input & Select & Textarea Base Styles */
        .wrrp_form .wpcf7-form-control {
            width: 100%;
            background-color: var(--primary-bg);
            border: 1px solid transparent; /* Subtle border for focus state */
            padding: 15px 20px;
            font-size: 15px;
            color: var(--text-color);
            border-radius: var(--border-radius);
            font-family: var(--font-family);
            box-sizing: border-box;
            transition: border-color 0.3s ease;
        }

        .wrrp_form .wpcf7-form-control:focus {
            outline: none;
            border-color: #ccc;
        }

        .wrrp_form ::placeholder {
            color: var(--placeholder-color);
            opacity: 1;
        }

        /* Specific Input Heights */
        .wrrp_form input[type="text"],
        .wrrp_form input[type="email"],
        .wrrp_form input[type="tel"],
        .wrrp_form select {
            height: 55px;
        }

        /* Custom Select Dropdown Styling */
        .wrrp_form select.wpcf7-select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23368f8b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
            background-repeat: no-repeat;
            background-position: right 20px center;
            background-size: 16px;
            cursor: pointer;
            color: var(--placeholder-color); /* Initial state color */
        }
        
        .wrrp_form select.wpcf7-select.has-value {
            color: var(--text-color);
        }

        /* Textarea Styling */
        .wrrp_form textarea.wpcf7-textarea {
            resize: vertical;
            min-height: 150px;
			resize : none
        }

        /* File Upload Styling */
        .wrrp_form .file-upload-wrapper {
            position: relative;
            background-color: var(--primary-bg);
            border-radius: var(--border-radius);
            padding: 20px;
            display: flex;
            align-items: center;
            cursor: pointer;
            color: #368f8b; /* Teal color for icon and text */
        }

        .wrrp_form .file-upload-wrapper input[type="file"] {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            cursor: pointer;
        }

        .wrrp_form .file-icon {
            margin-right: 12px;
            display: flex;
            align-items: center;
        }
        
        .wrrp_form .file-label-text {
            font-weight: 500;
            color: #3f8f86;
        }

        /* Footer: Checkbox & Submit */
        .wrrp_form .form-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 30px;
            flex-wrap: wrap;
            gap: 20px;
        }

        /* Checkbox Styling */
        .wrrp_form .gdpr-consent {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            font-size: 11px;
            color: #666;
            max-width: 60%;
            line-height: 1.4;
        }

        .wrrp_form .gdpr-consent input[type="checkbox"] {
            margin-top: 2px;
            width: 16px;
            height: 16px;
            border: 1px solid #ccc;
        }
        
        .wrrp_form .gdpr-consent a {
            color: #666;
            text-decoration: underline;
        }

        /* Submit Button Styling */
        .wrrp_form button.wpcf7-submit, 
        .wrrp_form input[type="submit"] {
            background-color: var(--accent-color);
            color: white;
            border: none;
            padding: 15px 40px;
            font-weight: 700;
            font-size: 13px;
            letter-spacing: 1px;
            text-transform: uppercase;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 10px;
            position: relative;
            /* To allow pseudo element arrow */
        }

        /* Wrapper for the button to add the arrow icon via HTML/CSS trickery if using pure input, 
           but here we use a button element for flexibility */
        .wrrp_form .submit-wrapper {
            position: relative;
            display: inline-block;
        }
        
        .wrrp_form .submit-btn-inner {
            display: flex;
            align-items: center;
            background-color: var(--accent-color);
            color: white;
            padding: 15px 25px 15px 35px;
            font-weight: 700;
            font-size: 12px;
            letter-spacing: 1px;
            text-transform: uppercase;
            cursor: pointer;
            border: none;
            transition: background 0.3s;
        }

        .wrrp_form .submit-btn-inner:hover {
            background-color: #d8866b;
        }

        .wrrp_form .arrow-box {
            background-color: #0d7a72; /* Dark teal arrow bg */
            height: 100%;
            width: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            right: 0;
            top: 0;
            pointer-events: none;
        }

        /* Mobile Responsive */
        @media (max-width: 768px) {
            .wrrp_form .wpcf7-form-control {
                flex-direction: column;
                gap: 20px !important;
            }
            .wrrp_form .form-grid {
                grid-template-columns: 1fr;
            }
            .wrrp_form .civilite-wrapper {
                grid-column: 1 / -1;
            }
            .wrrp_form .form-footer {
                flex-direction: column;
                align-items: flex-start;
            }
            .wrrp_form .gdpr-consent {
                max-width: 100%;
            }
            .wrrp_form .submit-wrapper {
                width: 100%;
				justify-content: flex-end;
        display: flex;
            }
            .wrrp_form .submit-btn-inner {
                width: 100%;
                justify-content: center;
            }
        }






.page-template-mentions-legales .content-section {
	
background : #fff;
border : none;
padding-top : 0	
	
}


.single_news_page .contner.smaller {
	
max-width : 100%	
	
}

.single_news_page .contner.smaller h3 {
	
margin-top : 35px	
	
}

/** Start Page Not Found Styles **/

.pageNotFound {
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fbf4f2;
  color: #20947c;
  position: relative;
  z-index: 1;
}

.pageNotFound:after {
  content: "";
  width: 900px;
  max-width: 100%;
  height: 780px;
background-image: url("data:image/svg+xml,%3Csvg width='1746' height='1746' viewBox='0 0 1746 1746' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_2050_2016' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='1746' height='1746'%3E%3Crect width='1746' height='1746' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_2050_2016)'%3E%3Cpath d='M1468.16 1185.65V1701.24H1636.32V1185.65L1552.3 1005.06L1468.16 1185.65Z' fill='white'/%3E%3Cpath d='M102.305 1201.11V1716.69H270.579V1201.11L186.442 1020.51L102.305 1201.11Z' fill='white'/%3E%3Cpath d='M645.297 918.253L859.279 1275.63H883.267L1097.73 917.658L1116.94 725.4L952.487 838.017L871.333 973.49L788.509 835.279L625.844 723.853L645.297 918.253Z' fill='white'/%3E%3Cpath d='M1279.63 616.267L1472.13 295.083V842.215L1556.26 1022.81L1640.28 842.215V40.9219H1431.19L1136.29 533.293L1116.96 727.694L1279.63 616.267Z' fill='white'/%3E%3Cpath d='M606.65 533.888L311.394 40.9219H102.305V842.215L186.442 1022.81L270.579 842.215V295.083L461.409 613.529L625.864 726.146L606.65 533.888Z' fill='white'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 300px;
  left: 0;
  z-index: -1;
}

.pageNotFound .pageNotFound-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.pageNotFound .cta {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.pageNotFound .cta a {
  width: max-content;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 15px 30px;
  isolation: isolate;
/*   background: #e5e8ed; */
  position: relative;
  transition: 0.5s;
  overflow: hidden;
  margin: 0 auto;
}
.pageNotFound .cta a span {
  font-family: "acumin-pro-wide", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  line-height: 17px;
  color: #002f6c;
  transition: 0.5s;
}
.pageNotFound .cta a svg.left {
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s;
}
.pageNotFound .cta a svg.right {
  position: absolute;
  bottom: -20px;
  right: -20px;
  transition: 0.5s;
}
/* .pageNotFound .cta a:hover {
  background-color: #ffffff;
} */
.pageNotFound .cta a:hover svg.left {
  top: -20px;
  left: -20px;
}
.pageNotFound .cta a:hover svg.right {
  bottom: 0;
  right: 0;
}
.pageNotFound .cta a:hover span {
  color: #004dab;
}

.pageNotFound h1 {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 110px;
  text-align: center;
}

.pageNotFound h2 {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 37px;
  text-align: center;
}

.pageNotFound p {
  display: flex;
  flex-direction: column;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
}

