/* ===== Larrabee Option D — Mauve & Taupe Palette ===== */

/* Elementor buttons */
.elementor-button, .elementor-widget-button .elementor-button {
  background-color: #7B4F5E !important;
  border-color: #7B4F5E !important;
  color: #FFFFFF !important;
}
.elementor-button:hover {
  background-color: #5C3A47 !important;
  border-color: #5C3A47 !important;
}

/* Form submit button */
.srfm-submit-btn, #srfm-submit-btn, button.srfm-submit-btn {
  background-color: #7B4F5E !important;
  border-color: #7B4F5E !important;
  color: #FFFFFF !important;
}

/* Service hub View Services buttons */
.service-card-btn {
  background-color: #7B4F5E !important;
}
.service-card-btn:hover {
  background-color: #5C3A47 !important;
}

/* Warm taupe link hover */
a:hover { color: #B8876A; }

/* Astra header BOOK NOW button */
.ast-header-button-1 a, .ast-header-button-1 .ast-custom-button {
  background-color: #7B4F5E !important;
  border-color: #7B4F5E !important;
  color: #FFFFFF !important;
}
.ast-header-button-1 a:hover, .ast-header-button-1 .ast-custom-button:hover {
  background-color: #5C3A47 !important;
  border-color: #5C3A47 !important;
}

/* ===== Footer Mauve & Taupe Colors ===== */
.site-primary-footer-wrap, 
.ast-builder-grid-row-container.ast-builder-grid-row-full,
#colophon,
.site-footer {
  background-color: #5C3A47 !important;
}

.site-primary-footer-wrap *,
#colophon *,
.site-footer * {
  color: #F5EEE8 !important;
}

.site-primary-footer-wrap a,
#colophon a,
.site-footer a {
  color: #EDE0D4 !important;
}

.site-primary-footer-wrap a:hover,
#colophon a:hover,
.site-footer a:hover {
  color: #F4CE32 !important;
}

/* Footer copyright bar */
.ast-small-footer, .ast-small-footer-wrap {
  background-color: #4A2E3A !important;
  color: #F5EEE8 !important;
}
.ast-small-footer a, .ast-small-footer-wrap a {
  color: #EDE0D4 !important;
}

/* ===== Hide duplicate page title on Elementor pages ===== */
.page .entry-header,
.page .ast-page-title-wrap {
  display: none !important;
}

/* ===== STANDARDIZED HEADER / NAVIGATION ===== */
#masthead,
.site-header,
.ast-primary-header-bar,
.main-header-bar {
  background-color: #ffffff !important;
  border-bottom: 1px solid #f0e8e4 !important;
}

.main-header-menu > li > a,
.ast-primary-header-bar .menu-item > a,
#site-navigation .menu-item > a {
  color: #7B4F5E !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

.main-header-menu > li > a:hover,
.ast-primary-header-bar .menu-item > a:hover {
  color: #5C3A47 !important;
}

.main-header-menu .sub-menu a,
.ast-header-menu-cart .sub-menu a,
header .sub-menu li a,
.main-navigation .sub-menu a {
  color: #333333 !important;
}
.main-header-menu .sub-menu a:hover,
header .sub-menu li a:hover {
  color: #7B4F5E !important;
}
.main-header-menu .sub-menu,
header .sub-menu {
  background-color: #ffffff !important;
}

/* ===== FULL-WIDTH PHOTO HERO BANNERS ===== */
.larrabee-hero-banner {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  position: relative;
  height: 420px;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.larrabee-hero-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.38);
  z-index: 1;
}

.larrabee-hero-banner .hero-text {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px;
}

.larrabee-hero-banner .hero-text h1 {
  color: #ffffff !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  line-height: 1.15 !important;
}

.larrabee-hero-banner .hero-text p {
  color: rgba(255,255,255,0.92) !important;
  font-size: 18px !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3) !important;
}

/* Legacy gradient banners - keep full-width */
.entry-content > div[style*="linear-gradient"],
.entry-content > div[style*="gradient"],
.ep-hero,
.cs-hero,
.circ-hero,
.brand-hero {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

/* Full-width shop banner slider */
.banner-slider-wrap,
#bannerSlider {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .larrabee-hero-banner {
    height: 280px;
  }
  .larrabee-hero-banner .hero-text h1 {
    font-size: 34px !important;
  }
  .larrabee-hero-banner .hero-text p {
    font-size: 15px !important;
  }
}

/* ===== Remove top padding gap on pages with hero banners ===== */
/* Hide the default Astra page title (entry-header) on all pages */
.page .entry-header,
.page .ast-page-title-wrap,
.ast-page-title-wrap {
  display: none !important;
}

/* Remove article top padding on pages that have a hero banner */
.page.ast-article-single {
  padding-top: 0 !important;
}

/* Remove entry-content top padding/margin */
.page .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Remove the content area top spacing */
.ast-separate-container .ast-article-single,
.ast-plain-container .ast-article-single {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Ensure hero banner sits right below the header */
.larrabee-hero-banner:first-child {
  margin-top: 0 !important;
}


/* ===== Remove top padding gap on pages with hero banners ===== */
/* Hide the default Astra page title on all pages */
.page .entry-header,
.page .ast-page-title-wrap,
.ast-page-title-wrap {
  display: none !important;
}

/* Remove article top padding so hero sits right below the header */
.page.ast-article-single,
.page .ast-article-single,
article.page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Remove entry-content top spacing */
.page .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* ===== Remove top margin on #primary for pages with hero banners ===== */
.page #primary.content-area,
.page #primary,
.page .content-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Also zero out the ast-container top padding on pages */
.page .ast-container {
  padding-top: 0 !important;
}


/* ===== Hide WooCommerce archive title and breadcrumb on pages with hero banners ===== */
/* The WooCommerce shop archive renders a title and breadcrumb before page content */
/* These must be hidden so the hero banner appears directly below the header */
.woocommerce-products-header__title.page-title,
h1.woocommerce-products-header__title,
/* .woocommerce-products-header h1 - removed, too broad - use specific class below */

.ast-woocommerce-container .woocommerce-breadcrumb,
nav.woocommerce-breadcrumb,
.woocommerce-breadcrumb {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Remove top margin/padding on WooCommerce container */
.ast-woocommerce-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce-products-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* Restore h1 visibility inside our custom hero banner */
.larrabee-hero-banner h1,
.larrabee-hero-banner .hero-text h1 {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  color: #fff !important;
}


/* ===== Remove white background box from content area on all pages ===== */
/* Astra theme sets a white background on the article element by default */
article.ast-article-single,
.ast-article-single,
.site-main article,
.site-main .page,
.site-main .post {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Also remove any padding that creates the box effect */
article.ast-article-single {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* Fix full-width sections horizontal overflow */
html {
  overflow-x: hidden;
}
