/* === Reset & Base Layout === */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  background-color: #fde7b3;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* === Header & Footer Background === */
header, footer {
  background-color: #09546d;
  width: 100%;
  transition: padding 0.3s ease, background-color 0.3s ease;
}

/* === Header Layout (Fixed + Clean) === */
header,
.site-header,
.navbar {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  padding: 10px 0;
  display: flex;
  align-items: center;
	box-shadow: 0 6px 10px rgba(0,0,0,0.2);
	
}

/* === Prevent Content from Hiding Behind Fixed Header === */
body {
  padding-top: 110px; /* matches header height */
}

/* === Menu Link Styles === */
header nav a,
header .menu a,
.navbar a {
  color: #efac2f;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.2s ease;
	
}

header nav a:hover,
header .menu a:hover,
.navbar a:hover {
  color: #5ac7e8;
}

/* === Tight Header Spacing === */
header .container,
.site-header .container,
.navbar .container,
header .elementor-container,
header .elementor-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: unset !important;
  align-items: center !important;
}

/* === Menu Spacing === */
header nav a,
.navbar a {
  padding: 5px 10px !important;
  line-height: 1 !important;
	
}

/* === Logo Scaling === */
header img,
header .custom-logo,
header .elementor-widget-image img {
  max-height: 135px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  display: block;
  margin-left: 0px;
  transition: max-height 0.3s ease;
	
}

button,
.menu-toggle,
.fl-menu-mobile-toggle {
  color: #ffa82d !important;
}

button span,
button i,
button svg {
  background-color: #09546d !important;
  fill: #ffa82d !important;
}

/* === Shrink on Scroll === */
header.shrink {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

header.shrink img,
header.shrink .custom-logo,
header.shrink .elementor-widget-image img {
  max-height: 70px !important;
}

/* === Hide Default Page Titles === */
.page .entry-title {
  display: none;
}

/* === Main Content Flex Growth === */
main,
.site-main,
.elementor {
  flex: 1 0 auto;
  display: block;
}

/* === Footer Full Width & Styling === */
.site-footer,
footer {
  width: 100vw !important;        /* full viewport width */
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 12px 0;
  text-align: center;
  font-size: 14px;
  color: #fde7b3;
  background-color: #09546d;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  flex-shrink: 0;                 /* ensures sticky footer works */
}

/* === Break Elementor container to allow full-width footer background === */
footer.elementor,
footer .elementor-container {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === Center footer content with a readable max width === */
footer .footer-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* === Footer Links === */
.site-footer .footer-home-link,
.site-footer .footer-link {
  color: #efac2f;
  text-decoration: none;
  margin-left: 10px;
  font-size: 14px;
  font-weight: bold;
  transition: color 0.2s ease;
}

.site-footer .footer-home-link {
  margin-left: 0;
}

.site-footer .footer-home-link:hover,
.site-footer .footer-link:hover {
  color: #5ac7e8; /* subtle hover polish */
 
}

/* === Mobile Footer Tweaks (optional) === */
@media (max-width: 768px) {
  footer .footer-content {
    padding: 0 10px;
  }
}
@media (max-width: 768px) {
  header img,
  header .custom-logo,
  header .elementor-widget-image img {
    margin-left: 30px !important;
  }
}
/* === Disable Image Drag === */
.foogallery img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.fl-separator,
.fl-separator-line {
  display: block !important;
  opacity: 100% !important;
  height: 2px !important;
}

