/* =====================================================
GLOBAL LAYOUT SAFETY
===================================================== */

body {
overflow-x: hidden;
}

/* =====================================================
HEADER / BRAND BAR
===================================================== */

.wrap {
margin: 0;
padding: 0.75rem 0;
}

.brand {
display: flex;
align-items: center;
text-decoration: none;
white-space: nowrap;
}

.brand-title {
margin-left: 0.75rem;
font-size: 1.75rem;
font-weight: 600;
line-height: 1;
white-space: nowrap;
}

/* FINAL, AUTHORITATIVE HEADER LOGO SIZE */
.wrap a.brand img.brand-logo {
height: 72px !important;
width: auto !important;
max-height: none !important;
}

/* =====================================================
HEADER CONTACT + SOCIAL
===================================================== */

.header-contact {
display: flex;
align-items: center;
gap: 1rem;
}

.header-phone a {
color: #d4af37; /* gold */
font-weight: 600;
text-decoration: none;
white-space: nowrap;
line-height: 1;
transition: color 0.25s ease;
}

.header-phone a:hover {
color: #2e7d32; /* green */
}

.social-media {
display: flex;
align-items: center;
}

.social-media a {
margin-left: 0.5rem;
font-size: 1.1rem;
color: #d4af37; /* gold */
line-height: 1;
transition: color 0.25s ease;
}

.social-media a:hover {
color: #2e7d32; /* green */
}

/* =====================================================
BRAND COLOR OVERRIDES
===================================================== */

.heading-section h2,
.heading-section span,
.subheading,
.icon,
.flaticon {
color: #1f6f43; /* brand green */
}

/* Links */
a {
color: #c9a24d; /* gold */
}

a:hover {
color: #175a36; /* darker green */
}

/* Buttons */
.btn-primary {
background-color: #1f6f43;
border-color: #1f6f43;
}

.btn-primary:hover {
background-color: #175a36;
border-color: #175a36;
}

/* =====================================================
ROOFR INSTANT ESTIMATOR EMBED
===================================================== */

.estimator-wrapper {
position: relative;
width: 100%;
padding-top: 75%; /* 4:3 aspect ratio */
background: #ffffff;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.estimator-wrapper iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: 0;
}

@media (max-width: 768px) {
.estimator-wrapper {
padding-top: 120%;
}
}

/* =====================================================
FOOTER BRANDING
===================================================== */

.footer-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.footer-logo {
  height: 48px;          /* correct footer size */
  width: auto;
  margin-right: 0.6rem;
  display: block;
}

.footer-title {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: normal;
}


/* Footer social icons */
.ftco-footer-social a {
color: #d4af37; /* gold */
font-size: 1.1rem;
transition: color 0.25s ease;
}

.ftco-footer-social a:hover {
color: #2e7d32; /* green */
}

/* BBB badge */
.bbb-badge img {
max-width: 100%;
height: auto;
}

/* ======================================
   SUBPAGE HEADER ONLY
   (Does NOT affect homepage)
   ====================================== */

.wrap-subpage {
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 0.5rem 0;
}

/* Tighten row so logo doesn’t explode */
.wrap-subpage .row {
  align-items: center;
}

/* Logo sizing for subpages */
.wrap-subpage .brand-logo {
  height: 64px;      /* smaller than homepage */
  width: auto;
}

/* Title sizing */
.wrap-subpage .brand-title {
  font-size: 1.35rem;
  line-height: 1.1;
}

/* Right-side spacing fix */
.wrap-subpage .header-contact {
  gap: 0.75rem;
}

/* Phone + icons stay aligned */
.wrap-subpage .header-phone a {
  white-space: nowrap;
  line-height: 1;
}

/* Social icons sizing */
.wrap-subpage .social-media a {
  font-size: 1rem;
}

.footer img.footer-logo {
    height: 52px !important;
    width: auto !important;
    max-height: 52px !important;
    flex: 0 0 auto !important;
    display: block;
}

/* ================================
   SUBPAGE HEADER — FLOAT OVER HERO
   ================================ */

.wrap.wrap-subpage {
  background: transparent;
  box-shadow: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}


/* ================================
   FOOTER SOCIAL ICON HOVER (MATCH HEADER)
   ================================ */

.ftco-footer-social a {
  color: #d4af37 !important;              /* gold (default) */
  transition: color 0.25s ease !important; 
}

.ftco-footer-social a:hover {
  color: #2e7d32 !important;              /* green (hover) */
}

/* ======================================
   FOOTER SOCIAL ICON COLOR — FINAL FIX
   ====================================== */

/* Default footer icon color */
.ftco-footer-social li a span.fa {
  color: #d4af37 !important;   /* gold */
  transition: color 0.25s ease;
}

/* Hover footer icon color */
.ftco-footer-social li a:hover span.fa {
  color: #2e7d32 !important;   /* green */
}

