
/* REMOVE WP BAR */
/* body.admin-bar {
  padding-top: calc(var(--header-height) + 32px);
} */

/* HEADER HEIGHT TO BE ADDED TO ANY PAGE OR MENU THAT APPEARS BELOW HEADER*/


@font-face {
  font-family: 'Bafora Demo';
  src: url('Fonts/BaforaDemo.woff2') format('woff2'),
       url('Fonts/BaforaDemo.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --header-height: 84px;

    --e-global-color-primary: #4E2301; 
    --e-global-color-secondary: #EF7B00; 
    --e-global-color-text: #606060; 
    --e-global-color-accent: #FB8801; 
}

/* Cover all the viewport height - push the footer tot the botto* step 1 */
html,
body {
  height: 100%;
}

/* Aligned each element (header, page, footer) in a column - push the footer to the botto* step 2 */
body {
  display: flex;
  flex-direction: column;
}

/* The page content take all the height pushing the footer tot the botto*/
#content {
  flex: 1;                 /* ← this pushes footer down */
  padding-top: var(--header-height);
}

/* REMOVE PAGE TITLE */
.page .entry-title { display: none; }

/* HEADER */
.site-header {
  padding-top: 0px;
  position: fixed;
  min-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 40px;
  background: #fff;
  z-index: 999;
}

/* A LINKS STYLES */
.site-header a {
    color: var(--e-global-color-primary);
}
.site-header a:hover {
    color: var(--e-global-color-secondary);
}

.menu-toggle {
    color: var(--e-global-color-primary) !important;
}

.menu-toggle:hover {
 color:#fff!important;
 background-color: var(--e-global-color-primary) !important;
}

.menu-toggle:active {
    color: var(--e-global-color-primary) !important;
 background-color: none;
}

.button-orange a{
color: var(--e-global-color-accent) !important;
    font-size: 32px !important;
}

.button-orange a:hover {
    color: #fff !important;
    
}

@media (max-width: 768px) {

 #button-orange a{
     font-size: 26px !important;
 }
}

/* LEFT & RIGHT NAV */
.left-nav,
.right-nav {
  flex: 1;  /* Here the left and right nav takes the whole space */
}

/* MENU LIST */
.main-nav-list {
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ALIGN MENUS */
.left-nav .main-nav-list {
  justify-content: flex-start;
}

.right-nav .main-nav-list {
  justify-content: flex-end;
}

/* LOGO PERFECT CENTER */
.logo {
margin-top: 10px;
  position: absolute;
  left: 50%;
  top: 70%;
  transform: translate(-50%, -50%);  /*It's to center element both horizontally and vertically within its parent container */
   background-color: #fff; 
  /* TO ADD BG AND MAKE IT ROUND IN THE HEADER */
  padding: 10px;
  border-radius: 50%;
  object-fit: cover;
}

/* LOGO SIZE */
.logo img,
.custom-logo {
  max-height: 120px;
  width: auto;
  height: auto;
  border-radius: 35%;
}

/* MOBILE */
.menu-toggle {
  display: none;
}

/* MOBILE MENU PANEL */
.mobile-menu {
  display: none;
  position: fixed;
  top: var(--header-height); /* header height */
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 998;
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.mobile-menu li a {
  text-decoration: none;
  font-size: 1.2rem;
  color: #333;
  margin-left: 10px
}

/* SHOW MOBILE MENU */
.mobile-menu.show {
  display: block;
}

@media (max-width: 768px) {

  :root {
      --header-height: 146px;
    }

  .left-nav,
  .right-nav {
    display: none;
  }

  /* LOGO SIZE */
.logo img,
.custom-logo {
  max-height: 120px;
}

  .site-header {
    justify-content: space-between;
    padding: 5px 40px 5px;
  }

  .logo {
    padding: 0px;
    position: static;
    transform: none;
  }

  .menu-toggle {
    display: block;
    font-size: 2rem;
    background: none;
    border: none;
    cursor: pointer;
  }
}

/* ONLY ON MOBILE */
@media (min-width: 769px) {
  .mobile-menu {
    display: none !important;
  }
}

/* FOOTER */

.site-footer {
  width: 100% !important;
  min-width: 100% !important;   /* No default side margins */
  padding: 20px 0;
  color: #fff;
  background: linear-gradient(to right, #4E2301, #EF7B00, #FB8801);
}

.footer-container {
  display: flex;
  justify-content: space-between; 
  align-items: center;
  flex-wrap: wrap; /* In mobile elements behive as a column */
  width: 100% !important;
  min-width: 100% !important;
  margin: 0 auto;
  padding: 0 40px;
}

/* The  info/spams/elements inside Footer Left */

.footer-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  margin: 0;
  gap:0px;
}

.footer-info a{
    color:white !important;
}

/* Left column */
.footer-left {
  display: flex;
  align-items: center;
}

/* Center column */
.footer-center {
  text-align: center;
}

.footer-center a{
    color:white !important;
}

 /*Below is to remove the default margin of <p> so the copyright aligns perfectly in the center*/
.footer-center p{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  height: 100%;
}

/* Right column */
.footer-right {
  display: flex;
  align-items: center;
}

/* The order is different from desktop to mobile */

.footer-left {
  order: 1;
}

.footer-center {
  order: 2;
}

.footer-right {
  order: 3;
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 15px;
}

.social-icons svg {
  /*width: 50px;*/
  /*height: 50px;*/
  display: block; /* removes img default display: inline (spacing) */
  transition: opacity 0.3s ease, transform 0.2s ease;
}   

/* Smooth hover transition for both icons */
.footer-right svg {

}

/* Hover effect */
.footer-right a:hover svg {
  opacity: 0.7;
  transform: scale(1.05);
}

/* Responsive layout for small screens */
@media (max-width: 768px) {


.footer-container {
  display: flex;
  justify-content: space-between; 
  align-items: center;
  flex-wrap: wrap; /* In mobile elements behive as a column */
  width: 100% !important;
  min-width: 100% !important;
  margin: 0 auto;
  padding: 0 40px;
}


  .footer-container {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  
  .footer-info {
    align-items: center;
  }

  .footer-left,
  .footer-right {
    justify-content: center;
  }
  
    /* Reorder for mobile */
  .footer-left {
    order: 1;
  }

  .footer-right {
    order: 2;
  }

  .footer-center {
    order: 3;
  }

}

  /* ADD Some colors to the Hero */
#hero_desktop, #hero_mobile {
    filter: contrast(1.1) saturate(1.1);
}

#hero_desktop::after {
    background: radial-gradient(circle at 40% 40%, rgba(255, 255, 255, .8), rgba(255, 200, 200, .6), #111 60%);
    mix-blend-mode: overlay;
    opacity: .4;
}
#hero_mobile::after {
    background: radial-gradient(circle at 40% 40%, rgba(255, 255, 255, .8), rgba(255, 200, 200, .6), #111 60%);
    mix-blend-mode: overlay;
    opacity: .4;
}


/* Change the title to Bafora font. */
 .elementor-heading-title, .elementor-heading-title * {
  font-family: 'Bafora Demo', serif !important;
  letter-spacing: 1px;
  color: var(--e-global-color-secondary) !important;
}
/* This is to add a CSS Classes to update all the headings title (but only headings with class 'title-bafora')
.elementor-widget-heading.title-bafora .elementor-heading-title,
.elementor-widget-heading.title-bafora .elementor-heading-title * {
  font-family: 'Bafora Demo', serif !important;
  letter-spacing: 1px;
} */

/* #menuSlider{
    display: none;
}

#menuSlider.show{
    display: block;
} */

#menuSlider, #contactForm {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition:
   /* This happens when the values below change. In this case then .show is added. So it will go from max-height 0 to 2000px */
  /* then opacity from 0 to 1 and it will move vertically from -10 to 0 to add extra affect */
    max-height 0.75s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

/* WHEN OPEN */
#menuSlider.show, #contactForm.show {
  max-height: 2000px; /* big enough for slider */
  opacity: 1;
  transform: translateY(0);
}

/* #button-orange .elementor-button {
  min-width: 50%;           /* pick the wider text size so the button dont change width when textContent changes. I like without this 
  transition: 
    background-color 0.3s ease,
    color 0.3s ease;
} */


/* CREATES A FADE IN ANIMATION */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px); /* optional, feels nicer */
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.text-fade { /* The texts are hidden when page loads */
  opacity: 0;
  transform: translateY(6px);
}

.text-fade.fade-in { /* After fade-in is added in JS the text appears  */
  animation: fadeIn 0.6s ease-out forwards;
}

/* WPFORMS */

/* Text */
.wpforms-field-label, .wp-core-ui div.wpforms-container-full .wpforms-field-label {
    color:var(--e-global-color-text) !important;
    font-family: "Roboto", Sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

/* Button */
.wpforms-submit{
    background-color: var(--e-global-color-secondary) !important;
    border-radius: 10px !important;
}

/* Button Hover */
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color:var(--e-global-color-accent) !important;
    color: #fff;
    text-decoration: none;
}

/* It makes the section-anchor dont be cut/start behind the header */
.elementor-widget-menu-anchor {
  position: relative;
  top: -110px;
}

/* 
.delay_test {
  opacity: 0; IMPORTANT 
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards; /* stays visible after animation
  animation-delay: 2000ms; /* Set Desktop delay */

  /* `will-change: opacity, transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
} */

/* For mobile devices (max-width: 767px) */
/* @media (max-width: 767px) { */
    /* In desktop and tablet in Elementor is 2000ms */
    /* .delay_test {
        animation-delay: 200ms !important; /* Set mobile delay
        
    }
} */


