:root {
    --masonry-row: 2px;     
    --card-bg: #ffffff;     
    --font-family: 'Plus Jakarta Sans', Arial;
    --font-color-1: #15212f;
	--font-color-2: #7ce0d3;
	--font-color-3: #ff1749;
	--font-color-4: #3797cb;
	--background-color: #f5f4f2;
	--font-weight-1 :100;
	--font-weight-2 :200;
	--font-weight-3 :300;
	--font-weight-4 :400;
	--font-weight-5 :500;
	--font-weight-6 :600;
	--font-weight-7 :700;
	--font-weight-8 :800;
	--font-weight-9 :900;
	--color:  oklch(0.97 0 0);
    --line-border-empty: oklch(0.91 0.01 0);
    --text-empty:        oklch(0.72 0 0);
    --line-border-fill:  #7ce1d3;
    --text-fill:         #7ce1d3;
}
body 
{
	width: 100%;
	margin: auto;
	background: #fff;
	color: var(--font-color-1);
	font-family: var(--font-family);
	display: flex;
	flex-direction:column;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
	letter-spacing: 0.01rem;
	overflow: auto;
}
a {
	color: var(--font-color-1);
	text-decoration: none !important;
}

p {    
	margin: 0;
}
img {
    border: 0;
}
li {
   list-style-type: none;
}
ul {
   margin: 0;
   padding: 0;
}
h1 {
   margin: 0;
}
h2 {
	font-size : 1.4em;
	margin: 0;
}
h3 {
	font-size : 1.2em;
	margin: 0;
}
h4 {
	font-size : 1em;
	margin: 0;
}
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.flex {
  display: flex;	
}
.inline-flex {	
  display: inline-flex;
}
.flex-between {
  justify-content: space-between;
}
.flex-end {
  justify-content: flex-end;
}
.flex-center {
  justify-content: center; 
}
.flex-justify-center {
  justify-content: center; 
}
.flex-around {
  justify-content: space-around;
}
.flex-align-center {
  align-items: center;
}
.flex-align-end {
  align-items: flex-end;
}
.flex-start {
  align-items: flex-start;
}
.flex-stretch {
  align-items: stretch;
}

.flex-column {
 flex-direction: column;
}
.flex-row{
 flex-direction: row;
}
.w-100 {
width: 100%;
}
.w-48 {
width: 49%;	
}
.mt-5 {
margin-top:5px;
}
.mt-10 {
margin-top:10px;
}
.mt-15 {
margin-top:15px;
}
.mt-20 {
margin-top:20px;
}
.mt-25 {
margin-top:25px;
}
.mt-30 {
margin-top:30px;
}
.mt-40 {
margin-top:40px;
}
.mb-5 {
margin-bottom:5px;
}
.mb-10 {
margin-bottom:10px;
}
.mb-15 {
margin-bottom:15px;
}
.mb-20 {
margin-bottom:20px;
}
.mb-25 {
margin-bottom:25px;
}
.mb-30 {
margin-bottom:30px;
}
.ml-5 {
margin-left:5px;
}
.ml-10 {
margin-left:10px;
}
.ml-15 {
margin-left:15px;
}
.ml-20 {
margin-left:20px;
}
.ml-25 {
margin-left:25px;
}
.ml-30 {
margin-left:30px;
}
.mr-5 {
margin-right:5px;
}
.mr-10 {
margin-right:10px;
}
.mr-15 {
margin-right:15px;
}
.mr-20 {
margin-right:20px;
}
.mr-25 {
margin-right:25px;
}
.mr-30 {
margin-right:30px;
}
.pt-5 {
padding-top:5px;
}
.pt-10 {
padding-top:10px;
}
.pt-20 {
padding-top:20px;
}
.pt-30 {
padding-top:30px;
}
.pb-5 {
padding-bottom:5px;
}
.pb-10 {
padding-bottom:10px;
}
.pb-20 {
padding-bottom:20px;
}
.pb-30 {
padding-bottom:30px;
}
.fontw1 {
	font-weight: var(--font-weight-1);
}
.fontw2 {
	font-weight: var(--font-weight-2);
}
.fontw3 {
	font-weight: var(--font-weight-3);
}
.fontw4 {
	font-weight: var(--font-weight-4);
}
.fontw5 {
	font-weight: var(--font-weight-5);
}
.fontw6 {
	font-weight: var(--font-weight-6);
}
.fontw7 {
	font-weight: var(--font-weight-7);
}
.fontcol1 {
	color:  var(--font-color-1);
}
.fontcol2 {
	color:  var(--font-color-2);
}
.fontcol3 {
	color:  var(--font-color-3);
}
.fontcol4 {
	color:  var(--font-color-4);
}
.fsize1 {
	font-size: 1em;
}
.fsize2 {
	font-size: 0.95em;
}
.fsize3 {
	font-size: 0.9em;
}
.fsize4 {
	font-size: 0.85em;
}
.fsize5 {
	font-size: 1.5em;
}
.fsize6 {
	font-size: 1.2em;
}
.fsize7 {
	font-size: 1.1em;
}
.lh1 {
	line-height: 1em;
}
.lh11 {
	line-height: 1.1em;
}
.lh12 {
	line-height: 1.2em;
}
.lh15 {
	line-height: 1.5em;
}
.lh2 {
	line-height: 2em;
}
.container-100 {
    clear: both;
    width: 100%;
}
.container-100-child {
	margin-top: 80px;
	padding: 0px 20px 0px 20px;
	margin:auto;
}
@media (min-width: 1024px) {
    .container-100-child {
        width: 100%;
        padding: 0px 20px 0px 20px;
        max-width: 1150px;
    }
}
@media (min-width: 930px) {
    .container-100-child {
        margin: auto;
        padding: 0px 20px 0px 20px;
    }
}

.header {
    position: fixed;
    top: 0;
    height: 80px;
    background: #f5f4f2;
	z-index: 11;
}
.header .container-100-child {
    padding: 0px 20px 0px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: auto;
    height: 80px;
}
@media (max-width: 1050px)
{
.header .container-100-child {
	margin:auto;
	padding: 0px 5px 0px 5px;
	max-width: 1290px;
    height: 80px;
 }
}
.header-logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
	align-items: center;
}
@media (max-width: 1050px)
{
.header-logo {	
	justify-content: center;
 }
}
.header-end {
    height: 80px;
}
#overlay {
	position: fixed;
    display: none;
    width: 100%;
    margin: 0;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    cursor: pointer;
}
	#overlay.open {
					display: block;
					z-index: 1;
				}
.toggle-menu {
	display: none;
    width: 60px;
    cursor: pointer;
    vertical-align: middle;
}
.toggle-menu div {
    width: 100%;
    height: 30px;
    margin: auto;
}
.toggle-menu span {
	display: block;
	content: " ";
	width: 50%;
	height: 3px;
	margin: 6px auto;
	background-color: #626262;
	border-radius: 2px 2px 2px 2px;
}
@media (max-width: 1050px) {
.toggle-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
 }
#menu-ul {
	display: none;
}
}
#menu-ul {
	display: block;
}


@media (max-width: 1050px) {
	.menu-top {
        position: fixed;
        left: 0;
        background: #f9f9f9;
        top: 80px;
        width: 40%;
        z-index: 1;
        height: 100%;
        display: none;
    }
}
#menu-ul li:last-child a {
	padding-right: 0px;
}
.menu-top ul {
	text-align: center;
}
.menu-top ul li {
	font-size: 1.05em;
	font-weight: 700;
	cursor: pointer;
}
.menu-top ul li.drop, .menu-top ul li.drop-account {
	position: relative;
}
.menu-top ul > li {
	display: inline-block;
}
.menu-top ul li a {
	padding: 29px 20px;
	-webkit-transition: all .05s ease-out;
	-moz-transition: all .05s ease-out;
	-ms-transition: all .05s ease-out;
	-o-transition: all .05s ease-out;
	transition: all .05s ease-out;
}
.menu-top ul li a:hover {
	color: #ff1749;
}		
.menu-top ul li.clickpop a {
	padding-right: 0;
}


.has-dropdown { position: relative; }


.dropdownContain {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;           
  z-index: 1000;
  pointer-events: none; 
}

.dropOut {
  background: #15212f;
  margin-top: 12px;    
  opacity: 0;
  border-radius: 0 0 4px 4px;
  transition: opacity .15s ease-out, margin-top .15s ease-out;
}
.dropOut .triangle {
  width: 0; height: 0; position: absolute;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #15212f;
  top: 22px; left: 50%; margin-left: -8px;
}
.dropOut ul {
  list-style: none;
  margin: 0;
  padding: 10px 10px;
  width: 200px;
}
.dropOut ul li { text-align: left; }
.dropOut li.subsub a {
  display: block;
  line-height: 3em;
  color: #fff;
  font-weight: 500;
  font-size: .85em;
  text-decoration: none;
  padding: 0 4px;
}
.dropOut ul li:hover a { color: #ff1749; }
.has-dropdown:hover .dropdownContain,
.has-dropdown:focus-within .dropdownContain {
  pointer-events: auto;
}
.has-dropdown:hover .dropOut,
.has-dropdown:focus-within .dropOut {
  opacity: 1;
  margin-top: 29px;
}
.drop-toggle, .logform {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 0;
}
ul li:hover .underline { border-bottom-color: #777; }


#container-menu-mobile {
 position: fixed;
  top: 80px;
  left: 0;
  width: 50%;
  height: 100%;
  background: var(--background-color);
  z-index: 1;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#container-menu-mobile.open {
  transform: translateX(0);
}
				
	
#toggle-menu {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 2;
}
		
.dropdownContainerMobile {
  display: none;
  padding-left: 15px;
  z-index: 100;
}

.dropdownContainerMobile.open{
  display: block;
}
	footer {
    color: #f5f4f2;
    padding: 40px 20px;
    font-size: 0.95em;
}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}



.footer {position: relative;background: var(--font-color-1);margin-top: auto;}
.footer ul a{color:#b7b6b4;font-size:.9em;text-decoration:none}
.footer ul{text-align:right}
.footer li{padding:3px 0 0}



@media (max-width:930px){.footer .container-100-child{width:98%;margin:auto}}
@media (max-width:768px){.footer ul{text-align:center}}

.footer-container {
  display: flex;
    margin: 0 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.footer-col {
  margin: 10px;
  min-width: 200px;
}

.footer-col h3 {
    margin-bottom: 5px;
    text-align: right;
	font-weight: 500;
}

.footer-col ul {
  list-style-type: disc;
  padding-left: 20px;
}

.footer-col ul li {
  margin-bottom: 3px;
}

.footer-col ul li a {
  color: var(--background-color);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-col ul li a:hover {
  color: #ff1749;
}
		.footer-bottom a {
			color:var(--font-color-3);
		}

@media (max-width: 600px) {
  .footer-container {
    flex-direction: column;
  }
  .footer-col {
    margin: 15px 0;
    min-width: auto;
  }
}


.dropdownContainAcc {
    position: absolute;
    z-index: 2;
    left: 50%;
    margin-left: -94px;
    top: -400px;
}



/* =========================
   Grille Masonry
========================= */
.grids{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  grid-auto-rows: var(--masonry-row);
}

/* L’item (transparent pour qu’aucun delta ne se voie) */
.grid-itemss{
  background: transparent;
}

/* L’ancre = carte visuelle, remplit 100% de l’article */
.grid-itemss > a{
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  text-decoration: none;
  color: inherit;

  /* filet de sécu : si un micro-delta existe encore, il prend la
     même couleur que la zone texte → aucune bande visible */
  background-color: var(--card-bg);
}

/* Contenu mesuré par le script + stretch pour coller en bas */
.grid-content{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: transparent;
}

/* =========================
   Image + skeleton LQIP
========================= */
.img-wrap{
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  background-size: cover;      /* LQIP */
  background-position: center; /* LQIP */
  transition: background-color .25s ease;
}
.img-wrap picture,
.img-wrap img{
  display: block;
  width: 100%;
  height: auto;
}

/* Shimmer */
.img-wrap.is-loading::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.12) 50%, rgba(0,0,0,.06) 100%);
  animation: shimmer 1.1s infinite;
}
@keyframes shimmer{ 0%{transform:translateX(-100%);} 100%{transform:translateX(100%);} }

.img-wrap.is-loading img{ opacity:0; filter:blur(12px); transform:scale(1.03); }
.img-wrap.loaded::before{ opacity:0; transition:opacity .25s ease; }
.img-wrap.loaded{ background-image:none; }  /* cache la LQIP arrivée */
.img-wrap.loaded img{ opacity:1; filter:none; transform:none; transition:opacity .25s ease, filter .25s ease, transform .25s ease; }

/* =========================
   Zone texte (section)
========================= */
.card-body,                     /* nouveau markup */
.grid-itemss section{           /* compat : ancien markup */
  margin-top: auto;             /* colle en bas du conteneur */
  padding: 14px 20px calc(20px + var(--masonry-row));
  background-color: var(--card-bg);
  position: relative;
  color: inherit;
}

/* Typo & resets */
.card-body h5,
.grid-itemss section h5{
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.625rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0;
}
.card-body h6,
.grid-itemss section h6{
  font-size: .9rem;
  line-height: 1.625rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 400;
  margin:0;
}
.card-body p,
.grid-itemss section p{
  font-size: .9rem;
  margin: 0 0 .4rem;
}
.card-body > *:last-child,
.grid-itemss section > *:last-child{ margin-bottom: 0; }

/* Icône cœur en bas à droite */
.grid-itemss .icon-heart{
  position: absolute;
  right: 10px;
  bottom: 9px;
}

/* =========================
   Sélecteur image (si utilisé en dehors de <picture>)
========================= */
.grid-itemss .ad-thumb{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain; /* mets 'cover' si tu veux un recadrage */
}
