@import url('https://fonts.googleapis.com/css2?family=Rubik+One&display=swap');

/* Fix: sticky header gap on mobile (admin bar offset) */
@media (max-width: 782px) {
	#header_pop { top: 0 !important; }
}

/* Mobile header: hide top bar (social/search/contact), show only nav */
@media (max-width: 767px) {
	.elementor-element-419fec8f { display: none !important; }
}

/* Remove teal flash on mobile: override header background color */
@media (max-width: 767px) {
	.elementor-location-header,
	header.site-header { background-color: transparent !important; }
}

/* Contact info bar: mobile only, hide on tablet and desktop */
@media (min-width: 768px) {
	.elementor-element-4698a67 { display: none !important; }
}

/* Remove gap between hero and contact bar; fix layout for single line */
@media (max-width: 767px) {
	.elementor-element-4698a67 { margin-top: -2px !important; }
	.elementor-element-4698a67 .elementor-widget-container > div {
		flex-wrap: nowrap !important;
		font-size: 10px !important;
		gap: 6px !important;
	}
}

/* Full horizontal menu on tablet (768px–1024px): restore desktop column widths */
@media (min-width: 768px) and (max-width: 1024px) {
	/* Restore desktop column proportions: logo 25%, nav 75% */
	#header_pop .elementor-element.elementor-element-79f5321f { width: 25% !important; }
	#header_pop .elementor-element.elementor-element-5534ff5b { width: 75% !important; }
	/* Force full horizontal menu, no hamburger */
	#header_pop .elementor-element-b63519e .elementor-nav-menu--main.elementor-nav-menu__container { display: flex !important; }
	#header_pop .elementor-element-b63519e .elementor-menu-toggle { display: none !important; }
	/* Smaller font + tighter spacing to fit all items */
	#header_pop .elementor-element-b63519e .elementor-nav-menu--main .elementor-item { font-size: 11px !important; }
	#header_pop .elementor-element-b63519e .elementor-nav-menu--main ul { flex-wrap: nowrap !important; }
	.elementor-element-b63519e { --e-nav-menu-horizontal-menu-item-margin: 5px !important; }
}

/* Flexible font size on medium desktop (1025px–1365px): full menu without wrapping */
@media (min-width: 1025px) and (max-width: 1365px) {
	#header_pop .elementor-element-b63519e .elementor-nav-menu--main .elementor-item { font-size: 13px !important; }
	.elementor-element-b63519e { --e-nav-menu-horizontal-menu-item-margin: 20px !important; }
}

/* Fix hamburger right-alignment on mobile: stretch nav widget to fill full row */
.elementor-element-b63519e { flex: 1 !important; }
.elementor-nav-menu__align-right .elementor-menu-toggle { margin-left: auto !important; }

/* Rubik One font for all headings */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Rubik One', sans-serif !important;
}

/* Footer menu nav: remove slide-up, appear instantly */
.elementor-element-473eb78 .elementor-element-016a77d {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Fix badges box: remove extra internal space */
.elementor-2280 .elementor-element.elementor-element-8055d18 > .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 20px 0 0 !important;
  padding: 10px 12px !important;
  box-sizing: content-box !important;
  height: 18px !important;
}



/* Hero section: add breathing room above and below content */
.elementor-element-c85bfc6 {
  padding-top: 60px !important;
  padding-bottom: 48px !important;
}

/* ============================================
   CTA Button Restyling — match /discover/ design
   Updated: 2026-03-06
   ============================================ */

/* --- Hero Primary CTA: "Get Your Free Consultation" --- */
.elementor-element-55384ea .elementor-button {
  background-color: #FFBD59 !important;
  color: #213338 !important;
  fill: #213338 !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  padding: 18px 40px !important;
  box-shadow: rgba(255, 189, 89, 0.35) 0px 4px 24px !important;
  transition: all 0.3s ease !important;
}
.elementor-element-55384ea .elementor-button:hover,
.elementor-element-55384ea .elementor-button:focus {
  background-color: rgb(255, 199, 107) !important;
  color: #213338 !important;
  fill: #213338 !important;
  transform: translateY(-2px);
  box-shadow: rgba(255, 189, 89, 0.45) 0px 8px 32px !important;
}

/* --- Hero Secondary CTA: "Get Your Free Estimate" --- */
.elementor-element-1d42d27 a {
  background-color: transparent !important;
  color: #EAE8E6 !important;
  border: 2px solid rgba(234, 232, 230, 0.5) !important;
  border-radius: 100px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  padding: 14px 36px !important;
  transition: all 0.3s ease !important;
}
.elementor-element-1d42d27 a:hover {
  background-color: rgba(255, 255, 255, 0.12) !important;
  border-color: #EAE8E6 !important;
  transform: translateY(-1px);
}

/* --- Footer CTA: "GET A FREE CONSULTATION" --- */
.elementor-element-712f2b7 .elementor-button {
  background-color: #FFBD59 !important;
  color: #213338 !important;
  fill: #213338 !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  padding: 18px 40px !important;
  box-shadow: rgba(255, 189, 89, 0.35) 0px 4px 24px !important;
  transition: all 0.3s ease !important;
}
.elementor-element-712f2b7 .elementor-button:hover,
.elementor-element-712f2b7 .elementor-button:focus {
  background-color: rgb(255, 199, 107) !important;
  color: #213338 !important;
  fill: #213338 !important;
  transform: translateY(-2px);
  box-shadow: rgba(255, 189, 89, 0.45) 0px 8px 32px !important;
}

/* ========================================
   GRAVITY FORMS — Modern Styling
   Applies to Contact Us + Have An Estate Sale
   ======================================== */

/* --- Form wrapper: subtle card feel --- */
.gform_wrapper.gravity-theme {
  background: #ffffff;
  border: 1px solid #e8edf0;
  border-radius: 16px;
  padding: 36px 40px 28px;
  box-shadow: 0 2px 16px rgba(4, 84, 104, 0.06);
  max-width: 780px;
}

/* --- Field labels --- */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gfield_label_before_complex {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #213338;
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}

/* --- Sub-labels (First / Last) --- */
.gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper.gravity-theme .ginput_complex .ginput_full label {
  font-size: 12px;
  color: #6b8a94;
  font-weight: 500;
  margin-top: 4px;
}

/* --- Required indicator --- */
.gform_wrapper.gravity-theme .gfield_required {
  color: #e07c4c;
}

/* --- Text inputs, textareas, selects --- */
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
  border: 2px solid #dce4e8 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  color: #213338 !important;
  background-color: #f8fafb !important;
  transition: all 0.25s ease !important;
  outline: none !important;
  box-shadow: none !important;
}

/* --- Focus state — teal glow --- */
.gform_wrapper.gravity-theme input[type="text"]:focus,
.gform_wrapper.gravity-theme input[type="email"]:focus,
.gform_wrapper.gravity-theme input[type="tel"]:focus,
.gform_wrapper.gravity-theme input[type="number"]:focus,
.gform_wrapper.gravity-theme input[type="url"]:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme select:focus {
  border-color: #045468 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(4, 84, 104, 0.1) !important;
}

/* --- Hover state --- */
.gform_wrapper.gravity-theme input[type="text"]:hover,
.gform_wrapper.gravity-theme input[type="email"]:hover,
.gform_wrapper.gravity-theme input[type="tel"]:hover,
.gform_wrapper.gravity-theme textarea:hover,
.gform_wrapper.gravity-theme select:hover {
  border-color: #b0c4cc !important;
}

/* --- Textarea height --- */
.gform_wrapper.gravity-theme textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* --- Select dropdown --- */
.gform_wrapper.gravity-theme select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23045468' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
}

/* --- Submit button — matches site CTA (gold pill) --- */
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme input[type="submit"] {
  background-color: #FFBD59 !important;
  color: #213338 !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 16px 48px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(255, 189, 89, 0.3) !important;
  text-transform: none !important;
  width: auto !important;
  display: inline-block !important;
}

/* --- Submit hover --- */
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme input[type="submit"]:hover {
  background-color: #FFC76B !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(255, 189, 89, 0.4) !important;
}

/* --- Submit active / pressed --- */
.gform_wrapper.gravity-theme .gform_button:active,
.gform_wrapper.gravity-theme input[type="submit"]:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(255, 189, 89, 0.3) !important;
}

/* --- Footer alignment --- */
.gform_wrapper.gravity-theme .gform_footer {
  padding-top: 12px !important;
  margin-top: 8px !important;
}

/* --- Field spacing --- */
.gform_wrapper.gravity-theme .gfield {
  margin-bottom: 4px !important;
}

/* --- Placeholder text color --- */
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
  color: #9fb5bd !important;
  opacity: 1 !important;
}

/* --- Validation error styling --- */
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select {
  border-color: #e07c4c !important;
  background-color: #fff9f5 !important;
}

.gform_wrapper.gravity-theme .gfield_error .gfield_label {
  color: #d35400 !important;
}

/* --- Responsive: tighten padding on mobile --- */
@media (max-width: 767px) {
  .gform_wrapper.gravity-theme {
    padding: 24px 20px 20px;
    border-radius: 12px;
  }
  .gform_wrapper.gravity-theme .gform_button,
  .gform_wrapper.gravity-theme input[type="submit"] {
    width: 100% !important;
    text-align: center !important;
  }
}

/* ========================================
   HAVE AN ESTATE SALE — Center form section
   ======================================== */
.page-id-1649 .elementor-widget-theme-post-content h2:has(+ p:has(a[href*="tel:"])) {
  text-align: center !important;
}
.page-id-1649 .elementor-widget-theme-post-content p:has(a[href*="tel:"]) {
  text-align: center !important;
}
.page-id-1649 .gform_wrapper.gravity-theme {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ========================================
   CONTACT US — Tidy contact info block
   ======================================== */
.page-id-1819 .elementor-widget-theme-post-content > .elementor-widget-container > p:first-of-type {
  text-align: center !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  line-height: 2 !important;
  color: #3a5a64 !important;
  background: #f8fafb;
  border-radius: 12px;
  padding: 24px 32px;
  max-width: 480px;
  margin: 0 auto 32px !important;
  border: 1px solid #e8edf0;
}
.page-id-1819 .elementor-widget-theme-post-content > .elementor-widget-container > p:first-of-type a {
  color: #045468 !important;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.page-id-1819 .elementor-widget-theme-post-content > .elementor-widget-container > p:first-of-type a:hover {
  color: #FFBD59 !important;
}
.page-id-1819 .gform_wrapper.gravity-theme {
  margin-left: auto !important;
  margin-right: auto !important;
}