
/* === Beaver Creek Contractors - Global Styles === */

/* Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap");

/* Brand CSS Variables */
:root {
  --bc-espresso: #2A1E18;
  --bc-bark: #784C25;
  --bc-gold: #F2C63E;
  --bc-gold-dark: #D9A82A;
  --bc-sand: #E5BD77;
  --bc-cream: #FBF6EE;
  --bc-ink: #2C2019;
  --bc-body: #6E6259;
  --bc-font-display: "Poppins", system-ui, sans-serif;
  --bc-font-body: "Lora", Georgia, serif;
}

body {
  font-family: var(--bc-font-body);
  color: var(--bc-body);
  background: #fff;
}

h1, h2, h3, h4, h5, h6,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--bc-font-display);
  color: var(--bc-ink);
}

/* Smooth hover on service blurbs in mega menu */
#mega-blurb-1:hover, #mega-blurb-2:hover, #mega-blurb-3:hover,
#mega-blurb-4:hover, #mega-blurb-5:hover, #mega-blurb-6:hover {
  background: #FBF6EE;
  border-radius: 10px;
  transition: background 0.2s;
}

/* Site logo sizing */
#site-logo img {
  max-width: 160px;
  height: auto;
}

/* Hide Hello Elementor built-in header/footer */
.site-header, .site-footer, header.entry-header, .hello-elementor-header, .hello-elementor-footer {
  display: none !important;
}

/* Elementor Pro custom header/footer show */
.e-con.elementor-location-header,
.e-con.elementor-location-footer {
  display: flex !important;
}

/* Button hover transitions */
.elementor-button {
  transition: all 0.22s ease;
}

/* Page hero sections full width */
.elementor-section.elementor-section-stretched {
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

/* Gold underline rule motif */
.bc-rule {
  width: 60px;
  height: 3px;
  background: var(--bc-gold);
  border-radius: 999px;
  margin: 0 auto;
}

/* Form styles */
.elementor-form .elementor-field-group > input,
.elementor-form .elementor-field-group > select,
.elementor-form .elementor-field-group > textarea {
  border: 2px solid #E7DFD4;
  border-radius: 8px;
  font-family: var(--bc-font-body);
  transition: border-color 0.2s;
}
.elementor-form .elementor-field-group > input:focus,
.elementor-form .elementor-field-group > select:focus,
.elementor-form .elementor-field-group > textarea:focus {
  border-color: var(--bc-gold-dark);
  outline: none;
}

/* Mega menu container */
.elementor-nav-menu--main .elementor-nav-menu > li.has-mega-menu > .sub-menu {
  width: 900px;
  left: 50%;
  transform: translateX(-50%);
}

/* Responsive */
@media (max-width: 768px) {
  .elementor-widget-heading .elementor-heading-title { word-break: break-word; }
}
