/*
Theme Name: Terrassebois
Author: deolys
Description: Thème Terrasse en bois
Version: 3.1.5
*/




:root {
  --body: #fff;
  --black: #000;
  --title: #2B1E16;
  --white: #fff;
  --theme: #01adf0;
  --theme2: #04B3E2;  
  --border-3: #54595F;
  --theme4: #FF8125;
  --background: #f2f1f1;
  
  --secondary-color : #0066cc;
	--link : #555;
  
}

body {
  padding-top: 70px; 
  font-family: "Manrope", Helvetica, Arial, sans-serif;
  font-style: normal;
  
}

h1{
font-size: 2em;
  font-weight: 600; 
  padding: 0.8em;
  text-align: center;
  color: var(--title);
}

h2{
	font-size:1.8em;
	color: var(--title);
	padding:0.5em 0;
}
h3,h4,h5{
font-size:1.6em;
color: var(--title);
padding:0.5em 0;	
	
}


a{
	color:var(--link);
}

a:hover{
	color: var(--theme);
}

.bg-graph{
background: var(--background);
}

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background-color: #fff;
  border-bottom: solid 1px #dddddd;
  padding:5px 0;
}

.menu-item {
  padding:10px;
  position: relative;
}

.navbar .dropdown-menu{  
  width: 300px;
  background-color: #fff;
  border-radius: inherit;
  border: none;  
  box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}

.navbar .dropdown-menu:hover{
  opacity: 1;
  top: 100%;
  visibility: visible;
}


.navbar .dropdown-menu a{
color:#041f49;
}
.navbar .navbar-nav {
  margin: 0 auto;
}
.navbar .dropdown-menu .menu-item:hover { 
 
}

.navbar .nav-link {
  color: #041f49 !important;
  font-size: 1.08em;
}


.navbar-brand {
  color: #000 !important;
}

.navbar.sticky-top{
box-shadow: 0 2px 5px -2px rgba(0, 0, 0, 0.1);
}

.menu-item:hover .dropdown-menu {
  display: block;
}

.nav-link::before{content:none;} 



.nav-link::after {
content: "";
  height: 2px;   
  position: absolute;
  bottom: 0;
  -webkit-transition: all .2s cubic-bezier(.42,.16,.21,.93);
  -o-transition: all .2s cubic-bezier(.42,.16,.21,.93);
  transition: all .2s cubic-bezier(.42,.16,.21,.93);
  background: var(--secondary-color);  
  width: 0;
  left: 15px;
  border:none;
}

.nav-link:hover::after {
width: 80%;
}

.current_page_item a::after{
	width: 80%;
}



.HeaderMenuContact{
  background: #0C59DB;
  padding: 0 20px;
  border-radius: 2em;
}
.HeaderMenuContact .nav-link {
  color: #fff !important;  
}

.navbar-brand img{
	max-height:70px;
}


.cs-header-phone{	
	background: #234982;	
	transition: all 0.4s ease-in-out;
	cursor: pointer;	
    z-index: 1;	
    overflow: hidden;
	border:none;	
	border-radius:10px;
}

.cs-header-phone .nav-link{	
	color: #fff!important;	
}

.cs-header-phone .nav-link::after{	
	height: 0;
}


.cs-header-phone:hover::before{
	transition-duration: 800ms;
	position: absolute;
	width: 100%;
    height: 100%;
	content: " ";
	top:0;
	left:0;
	background: #2af;	 
	z-index: -1

}

.navbar-toggler{
	border: var(--bs-border-width) solid #000;
}



footer{
	background: #54351e;
  padding: 20px 0 33px;
  position: relative;
  color:#fff;
}


footer .textwidget li {
  list-style: none;
  margin-bottom: 11px;
}

footer .textwidget h5 {
  font-size:1.2em;
  color: var(--theme);
  font-weight:700;
}

footer  a {
  color:#fff;
  text-decoration:none;
}

footer  a:hover {
  color:var(--theme);
}

.footer-bottom{
	font-size:0.8em;
}

.footer-bottom .footer-wrapper {
  padding: 18px 0;
  border-top: 1px solid var(--border-3);
}

.footer-bottom .footer-wrapper .brand-logo {
  display: flex;
  align-items: center;
  gap: 20px;
  list-style:none;
  flex-direction: row;
}

.footer-bottom .footer-wrapper a {
  text-decoration:none;
}

.footer-bottom .footer-wrapper a:hover {
	color: var(--theme);
}


.footer-bottom .footer-wrapper {
  padding: 18px 0;
  border-top: 1px solid var(--border-3);
}

.cs-footer h2 {
  font-size: 1.2em;
  color: #fff;
}

.cs-footer ul{
padding-left: 0;
}


.cs-footer-phone {  
  text-align: center;
  font-size: 2em;  
  padding: 50px 10px;
}


.cs-footer-top{	
 background: #eba85b;
  padding: 40px 0;
  font-size: 1.4em;
  color: #fff;  
  
}

.cs-footer-top i {	 
  font-size: 1.6em;
  color: #54351e;
 vertical-align: middle;
}




.cs-footer-top-quote{	
background: #54351e;  
  font-size: 0.8em;
  color: #fff;  
  padding: 8px 20px;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  text-decoration: none;
}

.cs-footer-top-quote::before{	
content:"\ef14";
font-family: IcoFont !important;
  
  font-style: normal;
  font-weight: 400;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  margin-right: 5px;
  font-size: 1.1em;

}

.cs-footer-top-quote:hover{	
color:#0a2540;
}

.cs-footer-fixed {	
  position: fixed;  
  bottom: 20px;
  color: #fff;
  text-align: center;
  right: 10px;
  background: #fff;
  padding: 0.2em;
}


.cs-footer-fixed  i{	
 margin-top: 10px;
}

.cs-footer-fixed a{	
  text-align: center;
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 2em;
  border: 1px solid #fff;
  font-size: 1.5em;
  background: #071a48;
  color: #fff;
  text-decoration: none;
}

.cs-footer-fixed a: hover {
  background: #071a48f7;
}


.cs-footer-fixed  .custom-html-widget{
	display:flex;
	flex-direction: column;	
}

.cs-footer-fixed  .custom-html-widget div{
	 flex: auto;
	 margin: 0.2em 0;
}


.footer-top h5{
	
}


.footer-top i{
	margin-right : 0.2em
}


.footer-fixed-contact{
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
 text-align:center;
}


.footer-fixed-contact a{
  color: #fff;
  background: #ff6d00;
  padding: 0.4em 1em;
  width: 50%;
  border-radius: 1em;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  text-decoration: none;
  }
  .footer-fixed-contact a:hover{
	 background: #f1802c; 
  }


.sc-home-quote-1 {
  padding: 0.5em 1em;
  background: #421010;
  border-radius: 2em;
  -moz-border-radius: 2em;
  -webkit-border-radius: 2em;
  color: #fff;
  text-decoration: none;
  font-size: 1.2em;
}

.sc-home-quote-1:hover {  
  background:#e69621;  
  color:#fff;
}

.sc-home-quote-2 {
  padding: 0.5em 1.2em;
  background:#e69621; 
  border-radius: 2em;
  -moz-border-radius: 2em;
  -webkit-border-radius: 2em;
  color: #fff;
  text-decoration: none;
}

.sc-home-quote-2:hover {  
  background: #986c41; 
  color:#fff;
}


.sc-quote-1{
	background: #eba85b;  
  color: #fff;  
  overflow: hidden;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
}

.sc-quote-1 h1, .sc-quote-1 h2{
color:#fff;	
font-size:1.6em;
}


.sc-quote-1 a {
  color: #fff;
}

.sc-quote1-left{
	padding:0 2em;
}

.sc-quote-1 img{
	width:100%;
}

.sc-quote-1 .sc-quote-phone{
margin: 1em auto;
  max-width: 250px;
  text-align: center;
  font-size: 1.6em;
  background: #51351f;
  border-radius: 14px;
  -moz-border-radius: 14px;
  -webkit-border-radius: 14px;
  padding: 0.2em 0.4em;
}


.sc-quote-2{
background:#f4f7fb;	
}

.sc-quote-2 input[type="submit"] {
    background: #eba85b;  
    color: #fff;
} 


.sc-quote-2 input[type="submit"]:hover {
    
  -webkit-box-shadow: 2px 2px 20px 0px rgba(29, 29, 31, 0.5);
  -moz-box-shadow: 2px 2px 20px 0px rgba(29, 29, 31, 0.5);
  box-shadow: 2px 2px 20px 0px rgba(29, 29, 31, 0.5);
} 

.sc-company {
  background: #ac9784;
  color: #000;
  border-radius: 14px;
  -moz-border-radius: 14px;
  -webkit-border-radius: 14px;
  padding: 2em 0;
}

.sc-company span {
  background: #583725;
  padding: 0.2em 0.5em;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  color: #fff;
  font-size: 0.8em;
}

.sc-company img {
  border-radius: 25px;
  -moz-border-radius: 25px;
  -webkit-border-radius: 25px;
}


.sc-company-phone {  
  text-align: center;
  padding: 2em;
}

.sc-company-link {
  padding: 0.4em 0.4em;    
  background: #421010;
  border-radius: 20px;
  font-size: 1.6em;
  text-decoration: none;
  color: #fff;
}


.sc-company-link:hover {
	color: #fff;
	background: #f7950a;
  
}

.sc-wood{

}

.sc-wood img{
	width:100%
	height:auto;
}

.sc-services{
  background: #caad8e;
  border-radius: 15px;
  width: 100%;
  height: 90%;
  overflow: hidden;
  padding: 0 0 5em 0;
  color: #151414;
  line-height: 20px;
  margin-top: 1em;
}


.sc-services img{ 
  width:100%;
  height:auto;   
}

.sc-services h2,
.sc-services h3{
  text-align:center;	
  font-weight: 600;
  font-size: 1.4em;
  color:#fff;
}

.sc-services a {
  color: #fff;
}
	
.sc-services-content {
	padding:0 20px;
}

.sc-besoin {
  background: #F4F1EA;
}

.sc-besoin h2 {
  color: #421010;  
}



.sc-faq{
	background:#F4F7FB;
	padding:2em 0;
}

.sc-faq .accordion{
--bs-accordion-bg:transparent!important;
--bs-accordion-btn-padding-y: 0;
--bs-accordion-border-width: 0px;
}
.sc-faq .accordion-item {  
  border-top:0;
  border-left:0;
  border-right:0;
  border-bottom: 1px solid #ddd;
}


.sc-faq .accordion-item h3{
color: #35404e;
padding: 0.3em 0;
}

.sc-faq .accordion-button:not(.collapsed){
	color: #35404e;
	background:transparent;
	
}


.sc-marque {
  padding: 2em 0;
  background: #234982;
  text-align: center;
  color:#fff
}

.sc-marque h2 {  
  color:#fff
}

.sc-marque .owl-carousel .owl-item img{
	width:70%
}



.sc-home-quote{
text-align: center;
  background: #dadee4;  
 padding:4em 0;
}

.sc-home-quote-content {
 background: #421010;
  border-radius: 2em;
  padding: 1em;
  color: #fff;
  text-align: center;
  font-size: 1.1em;
}

.sc-home-quote-content h2,
.sc-home-quote-content a {  
   color: #fff;   
}



@media (max-width: 640px) {
	
	.footer-bottom .footer-wrapper .brand-logo {

  flex-direction: column;
	}
	
	.sbr-footer-fixed {	
	background: #071a48;
	right: 0;
	bottom: 0;
	}
	footer div {
		flex-direction: column;
	}
	
	.sbr-footer-fixed {	
	height:60px;	
	width: 100%;
	}
	
	.sbr-footer-fixed  .custom-html-widget{
		display:flex;
		flex-direction: row;
	}
	
	.sbr-footer-fixed a { 
	  width: auto;
	  border:none;
	  
	}
	
	
}



/* Réduire CLS : assurer une hauteur pour le header et le padding-top cohérent */
.navbar { min-height: 70px; }
@media (max-width:640px){
  body { padding-top: 70px; }
}

/* Effet soulignement uniquement via ::after (éviter overlay clics) */
.nav-link{ position: relative; }
.nav-link::after{
  content:"";
  position:absolute;
  left:15px;
  bottom:0;
  height:2px;
  width:0;
  transition: width .2s cubic-bezier(.42,.16,.21,.93);
}
.nav-link:hover::after { width:80%; }

/* Boutons — limiter le coût repaint des gros pseudo-éléments */
.btn-phone::before, .btn-contact::before{
  will-change: transform;
  width:160%;
  height:200%;
}

/* Carousel icons — tailles raisonnables */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  width:3rem;
  height:3rem;
  opacity:.8;
}

/* Typographie — lisibilité et stabilité */
h1{ line-height:1.2; }
h2{ line-height:1.3; }
h3, h4, h5{ line-height:1.35; }

/* Respect des préférences utilisateurs (réduction de mouvement) */
@media (prefers-reduced-motion: reduce){
  *{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}


