
.elementor-element-3388763 > .e-con-inner { display: block !important; max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 20px !important; padding-right: 20px !important; }
.elementor-element-605d14d7 .elementor-heading-title {
  font-weight: 400 !important;
}
[data-id="43fb8a5"] h1 + p,
[data-id="43fb8a5"] h1 + p + p {
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  line-height: 1.4 !important;
}
.hero-buttons {
  margin-top: 30px !important;
}
/* =====================
   RUDORA DESIGN SYSTEM
   ===================== */

/* 1. All buttons — pill shape, consistent padding, weight, brand gold */
a.btn-primary, a.btn-outline,
.hero-buttons a,
.elementor-button,
a[class*="btn-"],
.hpt-header a,
.why-section a,
.services-section a,
.rd-form button {
  border-radius: 14px !important;
  padding: 14px 32px !important;
  font-weight: 500 !important;
}

/* See Products buttons */
.hpt-btn, a.hpt-btn,
[class*="see-products"], 
.product-card a,
.service-card a {
  border-radius: 14px !important;
  padding: 14px 32px !important;
  font-weight: 500 !important;
}

/* Get Quote / Request a Quote / Request a Free Estimate */
a.btn-primary {
  background-color: rgb(196, 164, 132) !important;
  border-color: rgb(196, 164, 132) !important;
}

/* 2. H2 headings — consistent weight 400 */
h2 {
  font-weight: 400 !important;
}

/* 3. Brand gold — standardize all variations */
[style*="color: rgb(196, 154, 108)"],
[style*="color: rgb(216, 181, 116)"],
[style*="background-color: rgb(196, 154, 108)"],
[style*="background-color: rgb(216, 181, 116)"] {
  color: rgb(196, 164, 132) !important;
  background-color: rgb(196, 164, 132) !important;
}

/* 4. Text color — standardize to pure black */
p, li, span, td, div {
  color: inherit;
}

/* H1 fix — hide WordPress page title visually, keep hero H1 visible */
.wp-block-group.has-global-padding > h1:first-child,
.entry-title,
.page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}
/* Submit button text — white */
.rd-form button,
.rd-form button span,
form button[type="submit"],
form .submit-btn {
  color: rgb(255, 255, 255) !important;
}
/* Nav CTA button — match 14px rounded corners */
.vc-cta a,
.vc-cta a:visited {
  border-radius: 14px !important;
}
/* City cards — styled as links */
a.city-card {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer;
}
a.city-card:hover {
  border-color: rgb(196, 164, 132) !important;
  color: rgb(140, 110, 80) !important;
  background: rgba(196, 164, 132, 0.08) !important;
}
/* City cards — active state highlight */
.city-card.active {
  background: rgb(196, 164, 132) !important;
  color: #fff !important;
  border-color: rgb(196, 164, 132) !important;
  cursor: pointer;
}
.city-card {
  cursor: pointer;
}
/* City info box */
.city-info {
  background: rgba(196, 164, 132, 0.08) !important;
  border: 0.5px solid rgba(196, 164, 132, 0.3) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  margin-top: 8px !important;
  color: var(--color-text-primary) !important;
}
.city-info a {
  color: rgb(140, 100, 60) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
}

/* Project tiles shadow - applied to image for clean look */
.rlp-media {
  box-shadow: rgba(0, 0, 0, 0.08) 0px 10px 25px 0px;
}

/* Project grid cards shadow on home page - matching service/product cards */
.rp-card {
  box-shadow: rgba(0, 0, 0, 0.08) 0px 10px 25px 0px;
}

/* ─── Rudora Footer — Mobile (max 768px) ─── */
@media (max-width: 768px) {

  /* Stack footer columns to single column */
  #rudora-footer .rdf-body {
    grid-template-columns: 1fr !important;
  }

  /* Column padding and borders */
  #rudora-footer .rdf-col {
    padding: 20px 24px;
    border-right: none !important;
    border-bottom: none;
  }

  /* Thin separator between columns using top border on columns 2+ */
  #rudora-footer .rdf-col + .rdf-col {
    border-top: 1px solid rgba(196, 164, 132, 0.2) !important;
    padding-top: 20px;
  }

  /* Last column (map) — no bottom border */
  #rudora-footer .rdf-col:last-child {
    border-bottom: none;
    padding: 0;
    min-height: 220px;
  }

  /* Map column height */
  #rudora-footer .rdf-map-col {
    min-height: 220px;
  }

  #rudora-footer .rdf-map-col iframe {
    min-height: 220px;
  }

  /* Nav column: ABOUT and LEGAL side by side */
  #rudora-footer .rdf-col:first-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 24px;
  }

  #rudora-footer .rdf-col:first-child .rdf-nav-group {
    margin-bottom: 0;
  }

  /* Third nav group (SOCIALS) spans full width, no separator */
  #rudora-footer .rdf-col:first-child .rdf-nav-group:last-child {
    grid-column: 1 / -1;
    padding-top: 20px;
    margin-top: 8px;
  }

  /* Contact block: Phone and Email side by side */
  #rudora-footer .rdf-contact-block {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 16px;
  }

  /* Address spans full width (multi-line) */
  #rudora-footer .rdf-contact-block .rdf-contact-item:first-child {
    grid-column: 1 / -1;
  }

  /* Open Hours spans full width (multi-line) */
  #rudora-footer .rdf-contact-block .rdf-contact-item:last-of-type {
    grid-column: 1 / -1;
  }

  /* CTA button spans full width and centered */
  #rudora-footer .rdf-contact-block .rdf-cta-btn {
    grid-column: 1 / -1 !important;
  }

  /* CTA button centered */
  #rudora-footer .rdf-cta-btn {
    display: block;
    text-align: center;
    margin-top: 24px;
  }

  /* Bottom bar */
  #rudora-footer .rdf-bottom {
    padding: 16px 20px;
    text-align: center;
  }
}
/* === Scroll to Top Button === */
#rudora-scroll-top {
  position: fixed;
  bottom: 28px;
  left: 28px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(30, 30, 30, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background 0.2s ease;
  z-index: 9998;
}
#rudora-scroll-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
#rudora-scroll-top:hover {
  background: rgba(60, 60, 60, 0.95);
}

/* Scroll-to-top button hover effect (matches Contact Us button) */
.hfe-scroll-to-top-button {
  transition: all .3s ease;
}
.hfe-scroll-to-top-button:hover {
  background-color: #2b2b2b;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
}

/* Submit button hover — matches "Request a Free Estimate" button */
.rd-form button:hover,
form button[type="submit"]:hover,
form .submit-btn:hover,
.elementor-button[type="submit"]:hover,
.elementor-form .e-form__submit .elementor-button:hover {
  background: rgb(175, 140, 110) !important;
  background-color: rgb(175, 140, 110) !important;
  border-color: rgb(175, 140, 110) !important;
  color: rgb(255, 255, 255) !important;
  transition: background 0.2s, background-color 0.2s, border-color 0.2s;
}

/* Nav menu items — animated gold underline on hover */
.vc-nav a {
  position: relative;
}
.vc-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #c4a484;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}
.vc-nav a:hover {
  color: #c4a484;
  transition: color 0.25s ease;
}
.vc-nav a:hover::after {
  transform: scaleX(1);
}

/* Contact Us floating button - match Go to Top circle style on mobile */
@media (max-width: 767px) {
	.floating-btn {
		    width: 58px !important;
		    height: 58px !important;
		    border-radius: 50% !important;
		    padding: 0 !important;
		    justify-content: center !important;
		    background-color: rgba(30, 30, 30, 0.82) !important;
		    bottom: 28px !important;
	}
	.floating-btn .fab-text {
		    display: none !important;
	}
	.floating-btn .fab-icon {
		    margin: 0 !important;
		    background-color: transparent !important;
		    display: flex !important;
		    align-items: center !important;
		    justify-content: center !important;
	}
}
	}
	}
	}
}

/* Project tiles – mirror Flooring Services tile shadow & hover */
.rp-card {
  box-shadow: rgba(0, 0, 0, 0.08) 0px 10px 25px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.rp-card:hover {
  transform: translateY(-4px);
  box-shadow: rgba(0, 0, 0, 0.14) 0px 15px 30px;
}
.rp-card:hover img {
  transform: scale(1.13);
}

/* ===== RUDORA HOME PAGE FIXES ===== */

/* 1. Hide RUDORA watermark background text on mobile */
@media (max-width: 767px) {
  .rh-watermark { display: none !important; }
}

/* 2. Remove divider lines (keep section spacing, remove visual line) */
.elementor-945 .elementor-divider-separator {
  display: none !important;
}

/* 3. Remove the extra unequal spacer between testimonials & contact */
.elementor-element-d80ea32 {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* 4. Equal top/bottom padding for all home page content sections */
.elementor-element-027854f,
.elementor-element-31e4ae5,
.elementor-element-29ef492c,
.elementor-element-3a89285,
.elementor-element-29b0bea {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

/* 5. Left-align Leadership Team heading and subtext */
.rudora-team-v3 .team-header {
  text-align: left !important;
}
.rudora-team-v3 .team-header h2,
.rudora-team-v3 .team-header p {
  text-align: left !important;
}


/* 6. Suppress Gutenberg layout-flow auto-margins on homepage sections */
.home .entry-content .elementor-section,
.home .entry-content .e-con {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* 7. Reduce spacer before "Who We Are?" heading (bring closer to hero) */
.elementor-element-677cb04 .elementor-spacer-inner {
  height: 15px !important;
}

/* 8. Tighten gap between "Leadership Team" heading and subtext */
.rudora-team-v3 .team-header h2 {
  margin-bottom: 6px !important;
}

/* 9. Slightly reduce space above Contact Us form */
body .elementor-element-46021b8d {
  padding-top: 25px !important;
}