/* 1) Le header flotte au-dessus du slider */
#header.header-transparent .header-body {
  background: transparent !important;
  box-shadow: none !important;
}
#header.header-transparent {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 1000; /* au-dessus du slider */
}

/* 2) Topbar transparent au-dessus du visuel */
#header .topbar-transparent {
  background: transparent !important;
}
#header.header-transparent .header-nav-main .nav > li > a,
#header.header-transparent .header-social-icons i,
#header.header-transparent #topbar,
#header.header-transparent .dropdown-item {
  color: #fff !important;
}


/* ===== LOGO – tailles correctes sans s’étirer ===== */
/* Conteneur logo */
#header .header-logo {
  display: inline-flex;
  align-items: center;
  width: auto;         /* largeur = image */
  line-height: 0;
}

/* Images : comportement de base */
#header .header-logo img {
  display: block;
  height: auto;
  width: auto;
  max-width: none;     /* empêche Bootstrap de forcer max-width:100% */
}

/* ===== Desktop (≥992px) ===== */
@media (min-width: 992px) {
  #header .header-logo img.d-none.d-sm-block {
    height: 47px !important;
  }
  html.sticky-header-active #header .header-logo img.d-none.d-sm-block {
    height: 37px !important;
  }
}

/* ===== Tablette (576px–991px) ===== */
@media (min-width: 576px) and (max-width: 991.98px) {
	
	/* Conteneur logo : jamais 0 */

  #header .header-logo img.d-none.d-sm-block {
    height: 40px !important;
  }
  html.sticky-header-active #header .header-logo img.d-none.d-sm-block {
    height: 34px !important;
  }
}

/* ===== Mobile (<576px) ===== */
@media (max-width: 575.98px) {
	#header .header-logo {
  display: inline-flex;
  align-items: center;
  width: auto !important;        /* largeur = image, pas 0 */
  min-width: fit-content !important; /* protège contre width:0 */
  line-height: 0;
}

  #header .header-logo img.d-block.d-sm-none {
    height: 30px !important;
  }
  html.sticky-header-active #header .header-logo img.d-block.d-sm-none {
    height: 26px !important;
  }
}

/* Swap du visuel (blanc en transparent, noir en sticky) */
#header.header-transparent .header-logo >a > img {
  content: url("https://www.ecocuisine.fr/img/logo-new-black.png");
}
.sticky-header-active #header .header-logo > a > img {
  content: url("https://www.ecocuisine.fr/img/logo-new-white.png");
}

/* Si Porto clone un logo sticky (.header-logo-sticky), couvre-le aussi */
.sticky-header-active #header .header-logo-sticky img {
  height: inherit !important;
}

#top_magasin h2{
	font-size:1.2rem;
}



@media (min-width:992px) {
	
#top_magasin {height:40px }
#topbar {height:40px }
 #header .header-nav-main nav > ul > li > a {
    font-weight: 400;
    letter-spacing: 0.5px;
  }
  
    #header .header-nav.header-nav-line nav > ul > li > a::before, #header .header-nav.header-nav-line nav > ul > li:hover > a::before {
    content: "";
    position: absolute;
    width: auto;
    height: 3px;
    bottom: 0px;
	top:auto !important;
    left: -1px;
    right: -1px;
	}
	
 #header .header-nav-main nav > ul > li > a {
	 font-size:13px
 }
}

@media (max-width:991px) {
#top_magasin {min-height:40px }
#topbar {min-height:40px }
#top_magasin h2{
	font-size:0.8rem;
}


 
}

#header.header-transparent .header-nav-main .nav > li > a,
#header.header-transparent .header-social-icons i,
#header.header-transparent #topbar,
#header.header-transparent .dropdown-item {
  color: #fff !important;
}

html.sticky-header-active #header .header-body,
body.sticky-header-active #header .header-body,
#header.sticky-header-active .header-body {
  background:#fff !important;
  box-shadow:0 2px 14px rgba(0,0,0,.08) !important;
}

html.sticky-header-active #header .header-nav-main .nav > li > a,
body.sticky-header-active #header .header-nav-main .nav > li > a,
#header.sticky-header-active .header-nav-main .nav > li > a,
html.sticky-header-active #header .dropdown-item,
body.sticky-header-active #header .dropdown-item,
#header.sticky-header-active .dropdown-item,
html.sticky-header-active #header .text-primary,
body.sticky-header-active #header .text-primary,
#header.sticky-header-active .text-primary {
  color: #f19733  !important;
  border-color: #f19733 !important;
}

.social-icons li:hover a {
  background: transparent !important;
}

/* ===== Colonnes LEFT / RIGHT ===== */


.hero-left { display: none; }                 /* caché sur mobile */
.hero-right {
  text-align: right;
}

/* Desktop : 2 colonnes 45/55, sur la même ligne */
@media (min-width: 768px) {


  .hero-left img { max-width: 100%; height: auto; }

  .hero-right {
    min-width: 0;                             /* autorise le shrink */
  }
}

.hero-from {
  font-family: 'Big Reputation', sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 0.8;
  display: inline-block;              /* permet la rotation propre */
  transform: rotate(-3deg);           /* légère rotation antihoraire */
}

/* Prix : sur sa propre ligne + ombrage léger */
.hero-price {
  display:block;
  font-size:4em;
  font-weight:900;
  line-height:1.2;
  text-shadow: 0 .10em .25em rgba(0,0,0,.35), 0 .03em .10em rgba(0,0,0,.22);
  color:#ffa839
}


  .hero-cta > a {
  margin: 0 10px;   /* écarte chaque bouton de 10px de chaque côté */
  display: inline-block; /* sécurité si besoin */
  
}
 

/* Tagline "Chez ECOCUISINE…" en blanc (y compris le span .text-primary) */
.hero-right h2  { color: #fff !important; }

/* Petits réglages de tailles (optionnels) */

@media (min-width: 992px) {

  .hero-stack  { font-size: 2.1em; line-height: 1.35; }
  .hero-from   { font-size: 5rem; }
  .hero-price  { font-size: 5em; line-height: 1.05; }
  .hero-cta { position: absolute; left: 50%; transform: translateX(-50%); bottom: 12%; text-align: center; z-index: 2; 	
  width: 80%; }
}

@media (min-width:768px) and (max-width: 991.98px) {

  .hero-stack  { font-size: 1.5em; line-height: 1.35; }
  .hero-from   { font-size: 4rem; }
  .hero-price  { font-size: 3em; line-height: 1.05; }
  .hero-cta { position: absolute; left: 50%; transform: translateX(-50%); bottom: 8%; text-align: center; z-index: 2; 	
  width: 80%; }
}
@media (max-width: 767.98px) {
	  :root { --mobile-bottom-offset:16%; --cta-gap:200px; }
   
 /* La slide prend toute la hauteur disponible */
  #home.hero-carousel { height: 100svh; } /* déjà OK si tu as 100vh/svh */

  /* Propager la hauteur et neutraliser le centrage vertical */
  #home .video > .container { height: 100%; }
  #home .video > .container > .row.h-100 {
    height: 100%;
    align-items: stretch !important;   /* au lieu de center */
  }
  #home .video > .container > .row.h-100 > .col-12 {
    display: flex;
    height: 100%;
  }
  #home .video > .container > .row.h-100 > .col-12 > .row {
    flex: 1 1 auto;
    min-height: 100%;
    align-items: stretch !important;   /* au lieu de center */
  }

  /* Colonne droite : contenu ancré en bas avec une marge avant le CTA */
  #sliderright {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;         /* ↓ colle en bas */
    padding-bottom: var(--cta-gap);    /* espace avant le CTA */
    min-height: 100%;
  }


.hero-stack  { font-size: 1.5em; line-height: 1.5; }
  .hero-from   { font-size: 4rem; }
  .hero-price  { font-size: 3.5em; line-height: 1.1; }
   /* Bouton centré en bas */
  .hero-cta {
    position: absolute;
    bottom: var(--mobile-bottom-offset);
    left: 0; right: 0;
    text-align: center;

  }
 
  
}



/**** SLIDE CLASSIQUE ***/

/* === Slide 2 : layout général === */
.slide-2 .container { height: 100%; }
.slide-2 .row.h-100 { height: 100%; }

/* Colonne : mobile en pleine largeur et centrée, desktop à gauche */
.slide-2 .col-lg-9 { width: 100%; }
@media (min-width: 992px) {
  .slide-2 .col-lg-9 { max-width: 75%; } 
}

/* Contenu : centré en mobile, gauche en desktop */
.slide-2 .col-lg-9 > .d-flex {
  align-items: center;
  text-align: center;
}
@media (min-width: 992px) {
  .slide-2 .col-lg-9 > .d-flex {
    align-items: flex-start;
    text-align: left;
  }
}

/* === Sous-titre (h3) comme .hero-from === */
.slide-2 .titlecursive {
  font-family: 'Big Reputation', sans-serif;
  font-weight: 300;
  color: #fff;
  line-height: 1.2;
  display: block;
  transform: rotate(-3deg);
}

.slide-2 .titlenormal {
 color: #fff;
  display: block;
   text-shadow: 0 .10em .25em rgba(0,0,0,.35), 0 .03em .10em rgba(0,0,0,.22);
   line-height:0.9em;
}

.slider-subtitle {
 color:#fff;
background: var(--primary);
  padding: 5px 12px;
  border-radius: 0;
  display: inline-block;
  margin-bottom: 20px;
  font-weight:300;
  font-size:1.1rem;
  text-transform:none !important;
}

/* Tailles identiques à ton hero-from */
@media (min-width: 768px) {
  .slide-2 .titlecursive { font-size: 6.5rem; }
}
@media (max-width: 767.98px) {
  .slide-2 .titlecursive { font-size: 5rem; }
}

/* === CTA identique au slide précédent === */
@media (min-width: 768px) {
  .slide-2 .hero-cta {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 12%;
    text-align: center;
    z-index: 2;
    width: 80%;
  }
}

@media (max-width: 767.98px) {
  /* Ancre le contenu de la colonne en bas de l’écran et garde un espace avant le CTA */
  .slide-2 .row.h-100 { align-items: stretch !important; }
  .slide-2 .col-lg-9 {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;          /* ↓ colle le bloc en bas */
    padding-bottom: var(--cta-gap);     /* espace avant le CTA */
    min-height: 100%;
  }

  /* CTA collé en bas, exactement comme slide 1 */
  .slide-2 .hero-cta {
    position: absolute;
    bottom: var(--mobile-bottom-offset);
    left: 0; right: 0;
    text-align: center;
    z-index: 2;
  }
}



/**** suite index ****/

.btn-outline {
  border-width: 1px !important;
}

.bg-whitedotted {
  background: url('../../img/bg-dot.png') #f7f7f7 top left !important;
}

.bg-greylightdotted {
  background: url('../../img/bg-dot-greylight.png') #f5f5f5 top left !important;
}

.thumb-info .thumb-info-title {
  padding: 13px 21px;
  bottom: 45%;
}

.thumb-info-infoprix {
  position:absolute;
  right:20px;
  bottom:30px;
   text-shadow: 0 .10em .25em rgba(0,0,0,.35), 0 .03em .10em rgba(0,0,0,.22);
}

.thumb-info-infoprix2 {
  position:absolute;
  right:10%;
  bottom:20%;
   text-shadow: 0 .10em .25em rgba(0,0,0,.35), 0 .03em .10em rgba(0,0,0,.22);
}

h3.line, h3.line2primary {
  font-size: 0.9em !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  color: #777;
  padding-left: 0px;
  position: relative;
}

h3.noline {
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0;
  color: #777;
  position: relative;
}

h4.line, h4.line2primary {
  font-size: 0.9em !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  color: #777;
  padding-left: 0px;
  position: relative;
}

.line2primary{
padding-left:40px !important;
}

h1.lineprimary, h2.lineprimary, h3.lineprimary, h4.lineprimary,
h1.line2primary, h2.line2primary, h3.line2primary, h4.line2primary {
  color: rgba(241,151,51,1) !important;
  
}



h1.linewhite, h2.linewhite, h3.linewhite, h4.linewhite {
  color: rgba(255,255,255,1) !important;
}


h1.line2primary::before, h2.line2primary::before, h3.line2primary::before, h4.line2primary::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 1px;
  top: 50%;
  left: 0;
  display: block;
  background-color:rgba(241,151,51,1) !important;
}


 @media (min-width: 992px) {
  
  
h1.line::before, h2.line::before, h3.line::before, h4.line::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 1px;
  top: 50%;
  left: 0;
  display: block;
  background-color: #777;
}

h1.line {
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0;
  color: #777;
  padding-left: 40px;
  position: relative;
}

h3.line {
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0;
  color: #777;
  padding-left: 40px;
  position: relative;
}

h3.noline {
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0;
  color: #777;
  position: relative;
}

h4.line {
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0;
  color: #777;
  padding-left: 40px;
  position: relative;
}


h1.lineprimary::before, h2.lineprimary::before, h3.lineprimary::before, h4.lineprimary::before {
  background-color: rgba(241,151,51,1) !important;
}

h1.lineprimary, h2.lineprimary, h3.lineprimary, h4.lineprimary {
  color: rgba(241,151,51,1) !important;
}

h1.linewhite::before, h2.linewhite::before, h3.linewhite::before, h4.linewhite::before {
  background-color: rgba(255,255,255,1) !important;
}

h1.linewhite, h2.linewhite, h3.linewhite, h4.linewhite {
  color: rgba(255,255,255,1) !important;
}

} 

@media (max-width:991px) {

h3.line2primary {
  font-size: 0.8em;
}
}



.thumb-info.thumb-info-bottom-info-show-more img, .thumb-info.thumb-info-no-zoom img, .img-thumbnail.img-thumbnail-hover-icon img {
  transition: all 0.3s ease !important;

}
.thumb-info.thumb-info-bottom-info-show-more img:hover, .thumb-info.thumb-info-no-zoom img:hover, .img-thumbnail.img-thumbnail-hover-icon img:hover {
  transform: scale(1.1) !important;
  transition: all 0.3s ease !important;

}

.thumb-info.thumb-info-bottom-info .thumb-info-title {
 padding: 15px 15px;
 font-size:14px;
 font-weight:300;
 background: rgba(48,48,48,0.9);
}

a:hover .thumb-info.thumb-info-bottom-info .thumb-info-title {
background: rgba(241,151,51,0.9);
color:#fff
}

.thumb-info .thumb-info-type, .thumb-info .thumb-info-action-icon {
  background: transparent !important;
}

.home-intro p span:not(.highlighted-word) {
  color: #FFF;
  display: inline;
  font-size: 1em;
  font-weight: 300;
  padding-top: 0px;
  opacity: 1;
}

p {
  letter-spacing: 0px;
}

.thumb-info-show-more-content p {
  color: #fff;
}


html body .tabs .nav-tabs .nav-link:hover, html.dark body .tabs .nav-tabs .nav-link:hover, html body .tabs .nav-tabs .nav-link:focus, html.dark body .tabs .nav-tabs .nav-link:focus, html body .tabs .nav-tabs .nav-link.active, html.dark body .tabs .nav-tabs .nav-link.active, html body .tabs .nav-tabs.nav-justified .nav-link.active, html.dark body .tabs .nav-tabs.nav-justified .nav-link.active, html body .tabs .nav-tabs.nav-justified .nav-link:hover, html.dark body .tabs .nav-tabs.nav-justified .nav-link:hover, html body .tabs .nav-tabs.nav-justified .nav-link:focus, html.dark body .tabs .nav-tabs.nav-justified .nav-link:focus {
  border-top-color: #f19733;
  background-color: #f19733;
  color:#fff;
}


.nav-tabs li .nav-link {
  border-radius: 0;
  font-size: 11px;
  font-weight: 400;
}

.tab-content {
  background-color: #f19733;
  padding: 25px;
}

.tab-content p {
  color: #fff !important;
  font-size: 0.9em;
}

.lead {
  letter-spacing: 0;
}


#parcours .featured-box {
  background: #FFF;
  box-sizing: border-box;
  box-shadow: 0 0px 8px -1px rgba(0, 0, 0, 0.15);
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  min-height: 100px;
  position: relative;
  text-align: left;
  z-index: 1;
}

#parcours .icon-featured {
  border-radius: 0;
}

#parcours .featured-box-quaternary .icon-featured {
  background-color: #777;
}

#parcours .featured-box .box-content {
  border-radius: 0;
  padding: 25px;
  position: relative;
  border:0;
}
#parcours .btn-primary{
	color:#fff;
	font-weight:300 !important;
	font-size:12px !important;
	padding:16px !important
}
#engagements .img-fluid {
	max-width:50%;
	margin-bottom:20px;
}
#engagements p {
	font-weight:300;
	line-height:1em;
}

.btn-white {
  color: #f3f3f3;
  border-color: #f3f3f3;
}
.btn-outline {
  border-width: 1px !important;
}

.btn-white:hover, .btn-white:active, .btn-white:focus {
  color: #fff;
  border-color: #fff;
}

.btn-outline {
  border-width: 1px !important;
}