/*
Theme Name:    Elite Garden Buildings
Description:   Elite Garden Buildings premium theme
Version:       1.0.0
Author:        Elite Garden Buildings
Author URI:    https://elitegardenbuildings.co.uk
Template:      bb-theme
License:       GNU General Public License v2 or later
License URI:   http://www.gnu.org/licenses/gpl-2.0.html
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --egb-bg: #f5efe5;
  --egb-bg-soft: #fbf8f2;
  --egb-surface: rgba(255, 255, 255, 0.86);
  --egb-surface-strong: #fffdf9;
  --egb-panel: #17211d;
  --egb-panel-2: #22352e;
  --egb-ink: #171714;
  --egb-muted: #625d55;
  --egb-line: rgba(23, 23, 20, 0.08);
  --egb-line-strong: rgba(23, 23, 20, 0.14);
  --egb-accent: #224f43;
  --egb-accent-strong: #163a31;
  --egb-highlight: #d7b489;
  --egb-highlight-soft: #f2e2cc;
  --egb-success: #7d9c86;
  --egb-shadow-sm: 0 10px 30px rgba(29, 24, 18, 0.08);
  --egb-shadow: 0 24px 80px rgba(29, 24, 18, 0.12);
  --egb-shadow-lg: 0 36px 120px rgba(17, 18, 15, 0.20);
  --egb-radius-xs: 18px;
  --egb-radius-sm: 24px;
  --egb-radius: 34px;
  --egb-radius-lg: 42px;
  --egb-shell: 1220px;
}

html {
  scroll-behavior: smooth;
}

body.elite-garden-buildings {
  background:
    radial-gradient(circle at top left, rgba(215, 180, 137, 0.32), transparent 26%),
    radial-gradient(circle at top right, rgba(34, 79, 67, 0.18), transparent 28%),
    linear-gradient(180deg, #f9f4ec 0%, #f4ede2 42%, #eee4d5 100%);
  color: var(--egb-ink);
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

body.elite-garden-buildings::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.22), transparent 74%);
  opacity: .22;
}

body.elite-garden-buildings .fl-top-bar,
body.elite-garden-buildings .fl-page-nav-search,
body.elite-garden-buildings .widget_archive,
body.elite-garden-buildings .widget_categories,
body.elite-garden-buildings .widget_recent_comments,
body.elite-garden-buildings .widget_recent_entries,
body.elite-garden-buildings .widget_search,
body.elite-garden-buildings .fl-page-header-fixed {
  display: none !important;
}

body.elite-garden-buildings h1,
body.elite-garden-buildings h2,
body.elite-garden-buildings h3,
body.elite-garden-buildings h4 {
  margin: 0;
  color: var(--egb-ink);
  font-family: 'Fraunces', serif;
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

body.elite-garden-buildings p {
  margin: 0 0 1rem;
}

body.elite-garden-buildings a {
  color: inherit;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease, color .28s ease, opacity .28s ease;
}

body.elite-garden-buildings img {
  max-width: 100%;
  border-radius: 24px;
}

.egb-shell,
body.elite-garden-buildings .fl-page-header-container,
body.elite-garden-buildings .fl-page-content .container,
body.elite-garden-buildings .fl-page-content .fl-builder-content {
  width: min(calc(100% - 40px), var(--egb-shell));
  margin-inline: auto;
}

body.elite-garden-buildings .fl-page {
  overflow: clip;
}

body.elite-garden-buildings .fl-page-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(251, 248, 242, 0.72);
  backdrop-filter: blur(20px) saturate(150%);
  border-bottom: 1px solid rgba(23, 23, 20, 0.05);
}

body.elite-garden-buildings .fl-page-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 88px;
}

body.elite-garden-buildings .fl-page-header-logo a,
body.elite-garden-buildings .fl-logo-text {
  color: var(--egb-ink);
  font-family: 'Fraunces', serif;
  font-size: 1.65rem;
  font-weight: 600;
  letter-spacing: -0.06em;
}

body.elite-garden-buildings .fl-page-nav-wrap {
  display: flex;
  justify-content: flex-end;
}

body.elite-garden-buildings .fl-page-nav .navbar-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.elite-garden-buildings .fl-page-nav .navbar-nav > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  color: rgba(23,23,20,.74);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.elite-garden-buildings .fl-page-nav .navbar-nav > li > a:hover,
body.elite-garden-buildings .fl-page-nav .navbar-nav > li.current-menu-item > a,
body.elite-garden-buildings .fl-page-nav .navbar-nav > li.current-menu-ancestor > a {
  color: var(--egb-ink);
  background: rgba(255,255,255,.88);
  box-shadow: var(--egb-shadow-sm);
}

body.elite-garden-buildings .fl-page-nav .navbar-nav > li:last-child > a {
  background: linear-gradient(135deg, var(--egb-accent) 0%, var(--egb-accent-strong) 100%);
  color: #fff;
  box-shadow: 0 16px 40px rgba(22, 58, 49, 0.24);
}

body.elite-garden-buildings .fl-page-nav .navbar-nav > li:last-child > a:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 50px rgba(22, 58, 49, 0.30);
}

body.elite-garden-buildings .navbar-toggle,
body.elite-garden-buildings .navbar-toggler {
  border: 1px solid var(--egb-line);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  padding: 12px 16px;
}

.egb-hero,
.egb-page-hero,
.egb-archive-hero {
  position: relative;
  padding: 84px 0 36px;
}

.egb-hero__grid,
.egb-contact-grid,
.egb-copy-grid,
.egb-story-grid,
.egb-cta-band__inner,
.egb-showroom-grid {
  display: grid;
  gap: 26px;
}

.egb-hero__grid,
.egb-contact-grid,
.egb-copy-grid,
.egb-story-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
}

.egb-page-hero .egb-shell,
.egb-archive-hero .egb-shell {
  position: relative;
  padding: 44px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: var(--egb-radius-lg);
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(247,240,229,.80));
  box-shadow: var(--egb-shadow);
}

.egb-page-hero::before,
.egb-archive-hero::before {
  content: '';
  position: absolute;
  inset: 18px 20px auto;
  height: 260px;
  border-radius: var(--egb-radius-lg);
  background: radial-gradient(circle at 15% 15%, rgba(215,180,137,.24), transparent 26%), linear-gradient(135deg, rgba(34,79,67,.08), rgba(255,255,255,0));
}

.egb-hero::before {
  content: '';
  position: absolute;
  inset: 20px 20px auto;
  height: 580px;
  border-radius: 44px;
  background:
    radial-gradient(circle at 18% 16%, rgba(215,180,137,.20), transparent 26%),
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.10), transparent 22%),
    linear-gradient(135deg, var(--egb-panel) 0%, var(--egb-panel-2) 58%, #2d4a41 100%);
  box-shadow: var(--egb-shadow-lg);
}

.egb-hero__grid {
  position: relative;
  align-items: stretch;
}

.egb-hero__content,
.egb-hero__panel,
.egb-glass-card,
.egb-form-card,
.egb-info-card,
.egb-location-card,
.egb-category-card,
.egb-product-card,
.egb-loop-card,
.egb-footer,
.egb-cta-band,
.egb-empty-state {
  border: 1px solid var(--egb-line);
  box-shadow: var(--egb-shadow);
}

.egb-hero__content {
  position: relative;
  z-index: 1;
  min-height: 580px;
  padding: 58px;
  border: 0;
  border-radius: 44px;
  box-shadow: none;
  background: transparent;
  color: #f8f3ea;
}

.egb-hero__content h1,
.egb-hero__content p,
.egb-hero__content .egb-eyebrow,
.egb-hero__content .egb-inline-link,
.egb-hero__content .egb-hero__trust strong,
.egb-hero__content .egb-hero__trust span {
  color: inherit;
}

.egb-hero h1,
.egb-page-hero h1,
.egb-archive-hero h1 {
  font-size: clamp(3rem, 7vw, 6.4rem);
  margin: 14px 0 20px;
}

.egb-page-hero h1,
.egb-archive-hero h1 {
  max-width: 12ch;
  font-size: clamp(2.6rem, 6vw, 4.8rem);
}

.egb-hero__content h1 {
  max-width: 10ch;
}

.egb-hero p,
.egb-page-hero p,
.egb-archive-hero p,
.egb-section-heading p,
.egb-copy-grid p,
.egb-info-card p,
.egb-location-card p,
.egb-form-card p,
.egb-empty-state p,
.egb-category-card p,
.egb-footer p,
.egb-toolbar,
body.elite-garden-buildings .woocommerce-result-count {
  color: var(--egb-muted);
  font-size: 1.03rem;
}

.egb-hero__content p {
  max-width: 54ch;
  color: rgba(248,243,234,.82);
  font-size: 1.1rem;
}

.egb-eyebrow,
.egb-pill,
.egb-product-card__meta,
.egb-loop-card__meta,
.egb-glass-card__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--egb-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.egb-hero__content .egb-eyebrow,
.egb-cta-band .egb-eyebrow {
  color: rgba(248,243,234,.72);
}

.egb-pill {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(34, 79, 67, 0.14);
  background: rgba(255,255,255,.84);
  text-decoration: none;
}

.egb-pill:hover,
.egb-pill.is-active {
  background: var(--egb-ink);
  border-color: var(--egb-ink);
  color: #fff;
}

.egb-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.egb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  text-decoration: none;
}

.egb-button--primary {
  background: linear-gradient(135deg, var(--egb-accent) 0%, var(--egb-accent-strong) 100%);
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(22, 58, 49, 0.22);
}

.egb-button--secondary {
  background: rgba(255,255,255,.88);
  color: var(--egb-ink) !important;
  border-color: var(--egb-line);
}

.egb-button:hover,
.egb-inline-link:hover,
.egb-category-card:hover,
.egb-product-card:hover,
.egb-loop-card:hover,
.egb-info-card:hover,
.egb-location-card:hover {
  transform: translateY(-4px);
}

.egb-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--egb-ink);
  font-weight: 800;
  text-decoration: none;
}

.egb-inline-link::after {
  content: '→';
}

.egb-hero__trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
}

.egb-hero__trust div {
  padding: 18px 18px 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
}

.egb-hero__trust strong,
.egb-footer__brand {
  display: block;
  font-size: 1rem;
}

.egb-hero__trust span {
  font-size: .92rem;
  opacity: .82;
}

.egb-hero__panel {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
}

.egb-glass-card,
.egb-form-card,
.egb-info-card,
.egb-location-card,
.egb-empty-state {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,240,229,.86));
  border-radius: var(--egb-radius);
  padding: 32px;
  backdrop-filter: blur(12px);
}

.egb-glass-card {
  width: 100%;
  border-radius: 36px;
  box-shadow: var(--egb-shadow-lg);
}

.egb-glass-card::before {
  content: '';
  display: block;
  width: 100%;
  height: 220px;
  margin-bottom: 22px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(12,17,15,.08), rgba(12,17,15,.34)),
    var(--egb-hero-image, url('https://eslgardenbuildings.co.uk/wp-content/uploads/2025/09/store.png')) center/cover no-repeat;
}

.egb-checklist {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.egb-checklist li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 28px;
  color: var(--egb-muted);
}

.egb-checklist li::before {
  content: '';
  position: absolute;
  top: .58em;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--egb-highlight), var(--egb-accent));
}

.egb-section {
  position: relative;
  padding: 48px 0 84px;
}

.egb-section--alt {
  background: transparent;
}

.egb-section--alt::before {
  content: '';
  position: absolute;
  inset: 24px 20px;
  border-radius: 38px;
  background: linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.24));
  border: 1px solid rgba(255,255,255,.34);
}

.egb-section--alt > .egb-shell {
  position: relative;
}

.egb-section-heading {
  max-width: 760px;
  margin-bottom: 28px;
}

.egb-section-heading h2 {
  font-size: clamp(2.1rem, 4vw, 4.2rem);
  max-width: 13ch;
  margin-bottom: 14px;
}

.egb-section-heading--split {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  max-width: none;
}

.egb-category-grid,
.egb-product-grid,
.egb-story-grid__cards,
.egb-showroom-grid,
ul.products.columns-4,
.egb-info-stack {
  display: grid;
  gap: 22px;
}

.egb-category-grid,
.egb-product-grid {
  grid-template-columns: repeat(12, minmax(0,1fr));
}

.egb-category-card,
.egb-product-card,
.egb-loop-card {
  display: block;
  overflow: hidden;
  text-decoration: none;
}

.egb-category-card {
  position: relative;
  min-height: 460px;
  grid-column: span 4;
  border-radius: 34px;
  background: #101715;
  box-shadow: var(--egb-shadow-lg);
}

.egb-category-card:nth-child(1),
.egb-category-card:nth-child(4),
.egb-category-card:nth-child(5) {
  grid-column: span 6;
}

.egb-category-card__media,
.egb-product-card__media,
.egb-loop-card__media {
  overflow: hidden;
  min-height: 250px;
  background-size: cover;
  background-position: center;
}

.egb-category-card__media {
  position: absolute;
  inset: 0;
  min-height: 100%;
}

.egb-category-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,23,21,.10), rgba(16,23,21,.84));
}

.egb-product-card,
.egb-loop-card,
body.elite-garden-buildings .woocommerce div.product {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,242,233,.88));
  border-radius: 32px;
}

.egb-product-card {
  grid-column: span 4;
}

.egb-product-card:first-child {
  grid-column: span 5;
}

.egb-product-card:nth-child(2),
.egb-product-card:nth-child(3) {
  grid-column: span 3;
}

.egb-product-card__media img,
.egb-loop-card__media img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .7s ease;
}

.egb-category-card:hover .egb-category-card__media,
.egb-product-card:hover .egb-product-card__media img,
.egb-loop-card:hover .egb-loop-card__media img {
  transform: scale(1.04);
}

.egb-category-card__body,
.egb-product-card__body,
.egb-loop-card__body {
  position: relative;
  z-index: 1;
  padding: 24px;
}

.egb-category-card__body {
  position: absolute;
  inset: auto 0 0;
  padding: 28px;
}

.egb-category-card h3,
.egb-category-card p,
.egb-category-card .egb-pill {
  color: #fff;
}

.egb-category-card h3 {
  font-size: 2rem;
  margin: 12px 0 10px;
}

.egb-category-card .egb-pill {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
}

.egb-category-card p {
  max-width: 34ch;
  color: rgba(255,255,255,.8);
}

.egb-product-card h3,
.egb-loop-card .woocommerce-loop-product__title,
body.elite-garden-buildings .woocommerce-loop-product__title {
  font-size: 1.55rem;
  line-height: 1.04;
  margin: 10px 0 12px;
}

.egb-loop-card__meta,
.egb-product-card__meta {
  color: var(--egb-accent);
}

.egb-loop-card__price,
.egb-product-card__price,
body.elite-garden-buildings .price {
  color: var(--egb-ink);
  font-weight: 800;
}

.egb-loop-card__link,
.egb-product-card__link {
  color: inherit;
  text-decoration: none;
}

.egb-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding: 0 4px;
}

.egb-archive-hero .egb-category-pills,
.egb-footer-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

body.elite-garden-buildings ul.products {
  margin: 0;
  padding: 0;
}

body.elite-garden-buildings ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

ul.products.columns-4 {
  grid-template-columns: repeat(3, minmax(0,1fr));
}

body.elite-garden-buildings .woocommerce-pagination {
  margin-top: 34px;
}

body.elite-garden-buildings .woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 10px;
  border: 0;
}

body.elite-garden-buildings .woocommerce-pagination ul.page-numbers li {
  border: 0;
}

body.elite-garden-buildings .woocommerce-pagination .page-numbers a,
body.elite-garden-buildings .woocommerce-pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--egb-line);
}

body.elite-garden-buildings .woocommerce-pagination .page-numbers .current,
body.elite-garden-buildings .woocommerce-pagination .page-numbers a:hover {
  background: var(--egb-ink);
  border-color: var(--egb-ink);
  color: #fff;
}

.egb-story-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
}

.egb-story-grid__cards {
  grid-template-columns: repeat(3, minmax(0,1fr));
}

.egb-info-stack {
  grid-template-columns: 1fr;
}

.egb-info-card,
.egb-location-card,
.egb-form-card,
.egb-empty-state {
  border-radius: 28px;
}

.egb-info-card h3,
.egb-location-card h3,
.egb-form-card h2 {
  font-size: 1.55rem;
  margin-bottom: 12px;
}

.egb-showroom-grid {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.egb-cta-band {
  margin: 16px 20px 0;
  border-radius: 40px;
  background:
    radial-gradient(circle at top right, rgba(215,180,137,.18), transparent 26%),
    linear-gradient(135deg, #151715 0%, #213a32 62%, #31544b 100%);
  box-shadow: var(--egb-shadow-lg);
}

.egb-cta-band__inner {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 36px 0;
}

.egb-cta-band h2,
.egb-cta-band p,
.egb-cta-band .egb-inline-link {
  color: #f8f3ea;
}

.egb-cta-band .egb-button--primary {
  background: #fff;
  color: var(--egb-ink) !important;
}

.egb-cta-band .egb-button--secondary {
  background: rgba(255,255,255,.08);
  color: #fff !important;
  border-color: rgba(255,255,255,.18);
}

body.elite-garden-buildings .woocommerce div.product {
  padding: 34px;
  border: 1px solid var(--egb-line);
}

body.elite-garden-buildings .woocommerce div.product .product_title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: 14px;
}

body.elite-garden-buildings .woocommerce div.product .summary,
body.elite-garden-buildings .woocommerce-product-gallery {
  padding-top: 10px;
}

body.elite-garden-buildings .woocommerce div.product .images img {
  border-radius: 28px;
}

body.elite-garden-buildings .single_add_to_cart_button,
body.elite-garden-buildings .gform_button,
body.elite-garden-buildings .button,
body.elite-garden-buildings button,
body.elite-garden-buildings input[type='submit'] {
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--egb-accent) 0%, var(--egb-accent-strong) 100%) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  padding: 14px 22px !important;
}

body.elite-garden-buildings .gform_wrapper,
.egb-form-card .gform_wrapper {
  margin-top: 16px;
}

body.elite-garden-buildings .gfield input,
body.elite-garden-buildings .gfield textarea,
body.elite-garden-buildings .gfield select,
body.elite-garden-buildings .woocommerce select,
body.elite-garden-buildings .quantity .qty {
  border-radius: 18px !important;
  border: 1px solid var(--egb-line) !important;
  background: rgba(255,255,255,.92) !important;
  padding: 14px 16px !important;
}

/* ---- Override BB theme blue accent colours ---- */
body.elite-garden-buildings {
  --wp--preset--color--fl-accent: var(--egb-accent) !important;
  --wp--preset--color--fl-accent-hover: var(--egb-accent-strong) !important;
  --wp--preset--color--fl-topbar-link: var(--egb-accent) !important;
  --wp--preset--color--fl-topbar-hover: var(--egb-accent-strong) !important;
  --wp--preset--color--fl-header-link: var(--egb-accent) !important;
  --wp--preset--color--fl-header-hover: var(--egb-accent-strong) !important;
  --wp--preset--color--fl-nav-link: var(--egb-accent) !important;
  --wp--preset--color--fl-nav-hover: var(--egb-accent-strong) !important;
  --wp--preset--color--fl-footer-widgets-link: var(--egb-accent) !important;
  --wp--preset--color--fl-footer-widgets-hover: var(--egb-accent-strong) !important;
  --wp--preset--color--fl-footer-link: var(--egb-accent) !important;
  --wp--preset--color--fl-footer-hover: var(--egb-accent-strong) !important;
}

/* Catch any stray blue that comes through WooCommerce or BB */
body.elite-garden-buildings a:not(.egb-button):not(.egb-inline-link):not(.egb-footer-menu a):not(.fl-page-nav a) {
  color: inherit;
}

body.elite-garden-buildings .woocommerce a.button,
body.elite-garden-buildings .woocommerce button.button,
body.elite-garden-buildings .woocommerce a.button.alt,
body.elite-garden-buildings .woocommerce #respond input#submit,
body.elite-garden-buildings .woocommerce-pagination a,
body.elite-garden-buildings .woocommerce-pagination span.current {
  background-color: var(--egb-accent) !important;
  border-color: var(--egb-accent) !important;
  color: #fff !important;
}

body.elite-garden-buildings .woocommerce-pagination a:hover {
  background-color: var(--egb-accent-strong) !important;
}

/* ---- Footer ---- */
.egb-footer {
  margin: 44px 20px 24px;
  border-radius: 36px;
  padding: 48px 0 32px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(247,240,229,.90));
}

.egb-footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 40px;
}

.egb-footer__top h2 {
  max-width: 22ch;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  margin-top: 8px;
  font-weight: 500;
  line-height: 1.3;
}

.egb-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--egb-line);
}

.egb-footer__brand {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: -0.03em;
  color: var(--egb-ink);
  margin: 0 !important;
}

.egb-footer-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.egb-footer-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  text-decoration: none;
  font-size: .8rem;
  color: var(--egb-muted);
}

.egb-footer-menu a:hover {
  background: var(--egb-ink);
  color: #fff;
}

/* ---- Footer link columns ---- */
.egb-footer__links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  padding: 32px 0 28px;
  border-top: 1px solid var(--egb-line);
}

.egb-footer__links-col h4 {
  font-family: 'Manrope', sans-serif;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--egb-ink);
  margin: 0 0 14px;
}

.egb-footer__links-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.egb-footer__links-col ul a {
  color: var(--egb-muted);
  text-decoration: none;
  font-size: .9rem;
}

.egb-footer__links-col ul a:hover {
  color: var(--egb-ink);
}

.egb-footer__links-col > p {
  font-size: .88rem;
  line-height: 1.6;
  margin-bottom: 14px;
}

.egb-footer__reg {
  font-size: .76rem !important;
  opacity: .6;
}

.egb-footer__copy {
  font-size: .82rem;
  color: var(--egb-muted);
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .egb-category-card,
  .egb-category-card:nth-child(1),
  .egb-category-card:nth-child(4),
  .egb-category-card:nth-child(5),
  .egb-product-card,
  .egb-product-card:first-child,
  .egb-product-card:nth-child(2),
  .egb-product-card:nth-child(3) {
    grid-column: span 6;
  }

  ul.products.columns-4,
  .egb-story-grid__cards {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 980px) {
  .egb-hero,
  .egb-page-hero,
  .egb-archive-hero {
    padding-top: 44px;
  }

  .egb-hero::before,
  .egb-page-hero::before,
  .egb-archive-hero::before {
    inset: 0;
    height: auto;
  }

  .egb-hero__grid,
  .egb-contact-grid,
  .egb-copy-grid,
  .egb-story-grid,
  .egb-showroom-grid,
  .egb-cta-band__inner,
  ul.products.columns-4,
  .egb-story-grid__cards {
    grid-template-columns: 1fr;
  }

  .egb-hero__content {
    min-height: auto;
    padding: 36px 28px;
  }

  .egb-hero__content h1,
  .egb-page-hero h1,
  .egb-archive-hero h1,
  .egb-section-heading h2,
  .egb-footer__top h2 {
    max-width: none;
  }

  .egb-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .egb-footer__copy {
    white-space: normal;
  }

  .egb-hero__trust,
  .egb-toolbar,
  .egb-section-heading--split,
  .egb-footer__top {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: flex-start;
  }

  .egb-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .egb-category-card,
  .egb-category-card:nth-child(1),
  .egb-category-card:nth-child(4),
  .egb-category-card:nth-child(5),
  .egb-product-card,
  .egb-product-card:first-child,
  .egb-product-card:nth-child(2),
  .egb-product-card:nth-child(3) {
    grid-column: span 12;
  }

  body.elite-garden-buildings .fl-page-header-row {
    min-height: 76px;
  }
}

@media (max-width: 768px) {
  .egb-shell,
  body.elite-garden-buildings .fl-page-header-container,
  body.elite-garden-buildings .fl-page-content .container,
  body.elite-garden-buildings .fl-page-content .fl-builder-content {
    width: min(calc(100% - 24px), var(--egb-shell));
  }

  .egb-hero__content,
  .egb-glass-card,
  .egb-form-card,
  .egb-info-card,
  .egb-location-card,
  .egb-empty-state,
  .egb-page-hero .egb-shell,
  .egb-archive-hero .egb-shell {
    padding: 24px;
    border-radius: 24px;
  }

  .egb-hero__content h1 {
    font-size: clamp(2.5rem, 14vw, 4.2rem);
  }

  .egb-hero__trust {
    grid-template-columns: 1fr;
  }

  .egb-category-card {
    min-height: 380px;
  }

  .egb-category-card h3,
  .egb-product-card h3,
  .egb-loop-card .woocommerce-loop-product__title {
    font-size: 1.4rem;
  }

  body.elite-garden-buildings .fl-page-nav-collapse {
    margin-top: 16px;
    padding: 16px;
    border-radius: 24px;
    background: rgba(255,255,255,.95);
    border: 1px solid var(--egb-line);
    box-shadow: var(--egb-shadow-sm);
  }

  body.elite-garden-buildings .fl-page-nav .navbar-nav {
    display: block;
  }

  body.elite-garden-buildings .fl-page-nav .navbar-nav > li {
    width: 100%;
  }

  body.elite-garden-buildings .fl-page-nav .navbar-nav > li > a {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 8px;
  }

  body.elite-garden-buildings .woocommerce div.product {
    padding: 22px;
  }

  .egb-footer,
  .egb-cta-band {
    margin-inline: 12px;
  }

  .egb-footer__links {
    grid-template-columns: 1fr 1fr;
  }

  .egb-footer__top {
    flex-direction: column;
    align-items: flex-start;
  }
}

body.elite-garden-buildings .fl-page-title,
body.elite-garden-buildings .woocommerce-breadcrumb,
body.elite-garden-buildings .fl-post-header {
  display: none !important;
}

/* ---- Override BB Themer layout hardcoded blue colours ---- */
body.elite-garden-buildings .fl-theme-builder-archive .fl-row:first-child {
  background-color: var(--egb-accent) !important;
}
body.elite-garden-buildings .fl-col-bg-color {
  background-color: #f0f6f3 !important;
}


/* Contrast safeguards for builder sections */
body.elite-garden-buildings .fl-col-bg-color :is(h1, h2, h3, h4, h5, h6, p, li, label) {
  color: var(--egb-ink) !important;
}

body.elite-garden-buildings .fl-col-bg-color a:not(.fl-button):not(.button) {
  color: var(--egb-accent-strong) !important;
}

body.elite-garden-buildings .fl-theme-builder-archive .fl-row:first-child :is(h1, h2, h3, h4, h5, h6, p, li, a) {
  color: #f8f3ea !important;
}


/* Card readability and spacing pass */
.egb-category-card__body {
  padding: 34px 30px 30px;
}

.egb-category-card__body h3 {
  color: #f8f3ea !important;
  line-height: 1.15;
  margin: 10px 0 12px;
  text-shadow: 0 2px 10px rgba(0,0,0,.42);
}

.egb-category-card__body p {
  color: rgba(248,243,234,.94) !important;
  line-height: 1.45;
  margin-top: 8px;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}

.egb-category-card .egb-pill {
  background: rgba(22, 28, 25, .50);
  border-color: rgba(255,255,255,.28);
  color: #ffffff !important;
}

.egb-category-card__media::after {
  background: linear-gradient(180deg, rgba(16,23,21,.24), rgba(16,23,21,.86));
}


/* Additional contrast hardening */
body.elite-garden-buildings .egb-section :is(h1,h2,h3,h4,h5,h6) {
  color: var(--egb-ink);
}

body.elite-garden-buildings .egb-section .egb-section-heading p,
body.elite-garden-buildings .egb-info-card p,
body.elite-garden-buildings .egb-location-card p,
body.elite-garden-buildings .egb-form-card p {
  color: #4d483f;
}


/* Hero readability + spacing fix */
.egb-hero__content {
  padding: 64px 58px 46px;
}

body.elite-garden-buildings .egb-hero__content .egb-eyebrow {
  color: rgba(248,243,234,.88) !important;
  margin-bottom: 14px;
}

body.elite-garden-buildings .egb-hero__content h1 {
  color: #f8f3ea !important;
  font-size: clamp(2.8rem, 6.3vw, 5.3rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin: 0 0 22px;
  text-shadow: 0 3px 14px rgba(0,0,0,.34);
}

body.elite-garden-buildings .egb-hero__content > p {
  color: rgba(248,243,234,.92) !important;
  max-width: 36ch;
  line-height: 1.5;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0,0,0,.30);
}

@media (max-width: 980px) {
  .egb-hero__content {
    padding: 38px 28px 30px;
  }

  body.elite-garden-buildings .egb-hero__content h1 {
    font-size: clamp(2.3rem, 11.5vw, 4rem);
    margin-bottom: 18px;
  }
}


/* Hero overflow + contrast fix */
.egb-hero {
  overflow: hidden;
  padding: 72px 0 48px;
}

.egb-hero::before {
  inset: 16px 16px 0;
  height: auto;
  border-radius: 44px;
}

.egb-hero__grid {
  align-items: stretch;
}

.egb-hero__content {
  min-height: auto;
  padding: 52px 52px 30px;
}

body.elite-garden-buildings .egb-hero__content h1 {
  font-size: clamp(2.4rem, 5.2vw, 4.7rem);
  line-height: 1.02;
  margin: 0 0 18px;
}

.egb-hero__trust {
  margin-top: 28px;
}

body.elite-garden-buildings .egb-hero__trust strong {
  color: #f8f3ea !important;
}

body.elite-garden-buildings .egb-hero__trust span {
  color: rgba(248,243,234,.92) !important;
}

@media (max-width: 980px) {
  .egb-hero {
    padding: 44px 0 34px;
  }

  .egb-hero::before {
    inset: 0;
  }

  .egb-hero__content {
    padding: 34px 26px 24px;
  }

  .egb-hero__trust {
    margin-top: 20px;
  }
}


/* FacetWP/BB white placeholder cleanup */
body.elite-garden-buildings .facetwp-template [class*='placeholder'],
body.elite-garden-buildings .facetwp-template [class*='skeleton'] {
  display: none !important;
  background: transparent !important;
}

body.elite-garden-buildings .facetwp-template .fl-photo-content,
body.elite-garden-buildings .facetwp-template .fl-post-grid-image,
body.elite-garden-buildings .facetwp-template .fl-post-grid-post,
body.elite-garden-buildings .facetwp-template .fl-module-content {
  background: transparent !important;
  box-shadow: none !important;
}

body.elite-garden-buildings .facetwp-template img[src*='woocommerce-placeholder'] {
  display: none !important;
}


/* Legibility pass for light utility/info sections */
body.elite-garden-buildings .uabb-infobox .uabb-infobox-title,
body.elite-garden-buildings .uabb-infobox .uabb-infobox-title-prefix,
body.elite-garden-buildings .uabb-infobox .uabb-infobox-text,
body.elite-garden-buildings .uabb-infobox .uabb-infobox-text p,
body.elite-garden-buildings .uabb-infobox .uabb-infobox-text * {
  color: #1f2a26 !important;
  opacity: 1 !important;
}

body.elite-garden-buildings .uabb-infobox .uabb-imgicon-wrap,
body.elite-garden-buildings .uabb-infobox .uabb-icon-wrap,
body.elite-garden-buildings .uabb-infobox .uabb-icon,
body.elite-garden-buildings .uabb-infobox img {
  opacity: .92 !important;
  filter: contrast(1.08) saturate(.92);
}

body.elite-garden-buildings .gform_wrapper input::placeholder,
body.elite-garden-buildings .gform_wrapper textarea::placeholder,
body.elite-garden-buildings .gform_wrapper select,
body.elite-garden-buildings input::placeholder,
body.elite-garden-buildings textarea::placeholder {
  color: #73706a !important;
  opacity: 1 !important;
}

body.elite-garden-buildings .gform_wrapper input[type='text'],
body.elite-garden-buildings .gform_wrapper input[type='email'],
body.elite-garden-buildings .gform_wrapper textarea,
body.elite-garden-buildings .gform_wrapper select {
  background: #ffffff !important;
  border-color: rgba(30, 41, 36, 0.16) !important;
  color: #1f2a26 !important;
}

body.elite-garden-buildings .gform_wrapper .gfield_label,
body.elite-garden-buildings .gform_wrapper .gfield_description,
body.elite-garden-buildings .gform_wrapper .validation_message {
  color: #3d3a35 !important;
}


/* Remove white boxes from BB product loop cards */
body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-box,
body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-box .fl-module-content,
body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-photo,
body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-photo .fl-module-content,
body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-rich-text,
body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-rich-text .fl-module-content {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-module-box {
  padding: 0 !important;
  margin: 0 !important;
}

body.elite-garden-buildings.post-type-archive-product .fl-loop-grid .fl-photo-content {
  background: transparent !important;
  border-radius: 32px !important;
  overflow: hidden !important;
}


/* BB loop node-specific white block removal */
body.elite-garden-buildings .fl-loop-item .fl-module-box.fl-node-70otbzp2vkyl,
body.elite-garden-buildings .fl-loop-item .fl-module-box.fl-node-70otbzp2vkyl > .fl-module-content,
body.elite-garden-buildings .fl-loop-item .fl-module-box.fl-node-09zs8dfbm2g5,
body.elite-garden-buildings .fl-loop-item .fl-module-box.fl-node-09zs8dfbm2g5 > .fl-module-content,
body.elite-garden-buildings .fl-loop-item .fl-module.fl-node-my7szurdg6q5,
body.elite-garden-buildings .fl-loop-item .fl-module.fl-node-my7szurdg6q5 > .fl-module-content,
body.elite-garden-buildings .fl-loop-item .fl-module.fl-node-7vsgr8z4qbfi,
body.elite-garden-buildings .fl-loop-item .fl-module.fl-node-7vsgr8z4qbfi > .fl-module-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.elite-garden-buildings .fl-loop-item .fl-module-box.fl-node-70otbzp2vkyl {
  padding: 0 !important;
}

body.elite-garden-buildings .fl-loop-item .fl-module-photo.fl-node-mgfrc67ltuap .fl-photo-content {
  border-radius: 32px !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* Collapse cards that have no image module, instead of showing a blank white tile */
body.elite-garden-buildings .fl-loop-item .fl-module-box.fl-node-70otbzp2vkyl:not(:has(.fl-module-photo.fl-node-mgfrc67ltuap)) {
  min-height: 0 !important;
}

/* Remove blank white tiles for products missing featured images */
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail),
body.elite-garden-buildings .facetwp-template li.product:not(.has-post-thumbnail),
body.elite-garden-buildings .fl-loop-item:not(.has-post-thumbnail) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .fl-module-photo,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .fl-photo,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .fl-photo-content,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .fl-post-grid-image,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .woocommerce-loop-product__link img,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) img,
body.elite-garden-buildings .facetwp-template li.product:not(.has-post-thumbnail) img {
  display: none !important;
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
}

body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .fl-module-photo,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .fl-photo-content,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) .woocommerce-loop-product__link,
body.elite-garden-buildings ul.products li.product:not(.has-post-thumbnail) a {
  min-height: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* === Sitewide Design System v4.1 (homepage-led) === */
body.elite-garden-buildings {
  --fl-global-link-color: var(--egb-accent-strong) !important;
  --fl-global-link-hover-color: var(--egb-accent) !important;
  --egb-content-max: 1220px;
}

body.elite-garden-buildings .fl-builder-content,
body.elite-garden-buildings .fl-builder-content p,
body.elite-garden-buildings .fl-builder-content li,
body.elite-garden-buildings .fl-builder-content label,
body.elite-garden-buildings .woocommerce,
body.elite-garden-buildings .woocommerce p,
body.elite-garden-buildings .woocommerce li {
  color: #2f2c27;
  font-size: 1.02rem;
  line-height: 1.62;
}

body.elite-garden-buildings .fl-builder-content h1,
body.elite-garden-buildings .fl-builder-content h2,
body.elite-garden-buildings .fl-builder-content h3,
body.elite-garden-buildings .fl-builder-content h4,
body.elite-garden-buildings .fl-builder-content h5,
body.elite-garden-buildings .fl-builder-content h6,
body.elite-garden-buildings .woocommerce h1,
body.elite-garden-buildings .woocommerce h2,
body.elite-garden-buildings .woocommerce h3,
body.elite-garden-buildings .woocommerce h4 {
  color: #181815;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

body.elite-garden-buildings .fl-builder-content a,
body.elite-garden-buildings .woocommerce a {
  color: var(--egb-accent-strong) !important;
  text-decoration-color: rgba(34,79,67,.36);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

body.elite-garden-buildings .fl-builder-content a:hover,
body.elite-garden-buildings .woocommerce a:hover {
  color: var(--egb-accent) !important;
  text-decoration-color: rgba(34,79,67,.72);
}

body.elite-garden-buildings .fl-builder-content .fl-module-box,
body.elite-garden-buildings .fl-builder-content .uabb-infobox,
body.elite-garden-buildings .fl-builder-content .uabb-adv-accordion-button,
body.elite-garden-buildings .fl-builder-content .uabb-content,
body.elite-garden-buildings .fl-builder-content .fl-post-grid-post,
body.elite-garden-buildings .fl-builder-content .fl-post-feed-post,
body.elite-garden-buildings .woocommerce .woocommerce-message,
body.elite-garden-buildings .woocommerce .woocommerce-info,
body.elite-garden-buildings .woocommerce .woocommerce-error {
  border-radius: 22px;
  border: 1px solid rgba(29,30,24,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,241,230,.88));
  box-shadow: 0 10px 26px rgba(25,24,18,.06);
}

body.elite-garden-buildings .fl-builder-content .fl-button,
body.elite-garden-buildings .fl-builder-content .uabb-button,
body.elite-garden-buildings .woocommerce .button,
body.elite-garden-buildings .woocommerce button,
body.elite-garden-buildings .woocommerce input.button,
body.elite-garden-buildings .facetwp-reset,
body.elite-garden-buildings .facetwp-submit,
body.elite-garden-buildings .gform_button,
body.elite-garden-buildings button {
  border-radius: 999px !important;
  border: 1px solid rgba(20,47,39,.08) !important;
  background: linear-gradient(135deg, #224f43 0%, #163a31 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 14px 30px rgba(22,58,49,.18);
}

body.elite-garden-buildings .fl-builder-content .fl-button:hover,
body.elite-garden-buildings .fl-builder-content .uabb-button:hover,
body.elite-garden-buildings .woocommerce .button:hover,
body.elite-garden-buildings .woocommerce button:hover,
body.elite-garden-buildings .facetwp-reset:hover,
body.elite-garden-buildings .facetwp-submit:hover {
  background: linear-gradient(135deg, #1f473c 0%, #123127 100%) !important;
}

body.elite-garden-buildings input,
body.elite-garden-buildings textarea,
body.elite-garden-buildings select,
body.elite-garden-buildings .gform_wrapper .gfield input,
body.elite-garden-buildings .gform_wrapper .gfield textarea,
body.elite-garden-buildings .gform_wrapper .gfield select,
body.elite-garden-buildings .facetwp-facet input,
body.elite-garden-buildings .facetwp-facet select {
  border-radius: 14px !important;
  border: 1px solid rgba(30,37,31,.18) !important;
  background: #fff !important;
  color: #23231f !important;
}

body.elite-garden-buildings .woocommerce nav.woocommerce-pagination ul li a,
body.elite-garden-buildings .woocommerce nav.woocommerce-pagination ul li span,
body.elite-garden-buildings .facetwp-page {
  border: 0 !important;
  background: rgba(255,255,255,.9) !important;
  color: #20352d !important;
  border-radius: 999px !important;
}

body.elite-garden-buildings .woocommerce nav.woocommerce-pagination ul li a:hover,
body.elite-garden-buildings .woocommerce nav.woocommerce-pagination ul li span.current,
body.elite-garden-buildings .facetwp-page.active,
body.elite-garden-buildings .facetwp-page:hover {
  background: #224f43 !important;
  color: #fff !important;
}

body.elite-garden-buildings .facetwp-facet .noUi-connect {
  background: #224f43 !important;
}

body.elite-garden-buildings .facetwp-facet .noUi-handle {
  border: 2px solid #224f43 !important;
  background: #fff !important;
}

body.elite-garden-buildings .uabb-infobox .uabb-infobox-title,
body.elite-garden-buildings .uabb-infobox .uabb-infobox-text,
body.elite-garden-buildings .uabb-infobox .uabb-infobox-text * {
  color: #1f2f29 !important;
}

body.elite-garden-buildings .uabb-photo-img,
body.elite-garden-buildings .uabb-icon,
body.elite-garden-buildings .uabb-icon i,
body.elite-garden-buildings .uabb-icon svg,
body.elite-garden-buildings .fl-icon i {
  color: #26473d !important;
}

body.elite-garden-buildings .fl-row-content,
body.elite-garden-buildings .container,
body.elite-garden-buildings .fl-builder-content {
  width: min(calc(100% - 40px), var(--egb-content-max));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  body.elite-garden-buildings .fl-row-content,
  body.elite-garden-buildings .container,
  body.elite-garden-buildings .fl-builder-content {
    width: min(calc(100% - 28px), var(--egb-content-max));
  }
}

@media (max-width: 767px) {
  body.elite-garden-buildings .fl-builder-content,
  body.elite-garden-buildings .fl-builder-content p,
  body.elite-garden-buildings .fl-builder-content li {
    font-size: .99rem;
    line-height: 1.56;
  }

  body.elite-garden-buildings .fl-row-content,
  body.elite-garden-buildings .container,
  body.elite-garden-buildings .fl-builder-content {
    width: min(calc(100% - 20px), var(--egb-content-max));
  }
}

/* === No-Blue Enforcement v5 === */
body.elite-garden-buildings {
  --egb-accent: #4d5e33 !important;
  --egb-accent-strong: #3b4926 !important;
  --egb-highlight: #c6a06f !important;
  --egb-highlight-soft: #eadbc5 !important;
  --fl-global-link-color: #4d5e33 !important;
  --fl-global-link-hover-color: #3b4926 !important;
  --wp--preset--color--fl-accent: #4d5e33 !important;
  --wp--preset--color--fl-accent-hover: #3b4926 !important;
  --wp--preset--color--fl-topbar-link: #4d5e33 !important;
  --wp--preset--color--fl-topbar-hover: #3b4926 !important;
  --wp--preset--color--fl-header-link: #4d5e33 !important;
  --wp--preset--color--fl-header-hover: #3b4926 !important;
  --wp--preset--color--fl-nav-link: #4d5e33 !important;
  --wp--preset--color--fl-nav-hover: #3b4926 !important;
  --wp--preset--color--fl-footer-widgets-link: #4d5e33 !important;
  --wp--preset--color--fl-footer-widgets-hover: #3b4926 !important;
  --wp--preset--color--fl-footer-link: #4d5e33 !important;
  --wp--preset--color--fl-footer-hover: #3b4926 !important;
}

body.elite-garden-buildings a,
body.elite-garden-buildings a:visited,
body.elite-garden-buildings .entry-content a,
body.elite-garden-buildings .fl-post-content a,
body.elite-garden-buildings .woocommerce a,
body.elite-garden-buildings .woocommerce-tabs a,
body.elite-garden-buildings .woocommerce-MyAccount-navigation a,
body.elite-garden-buildings .woocommerce-breadcrumb a,
body.elite-garden-buildings .facetwp-facet a {
  color: #4d5e33 !important;
}

body.elite-garden-buildings a:hover,
body.elite-garden-buildings a:focus,
body.elite-garden-buildings .woocommerce a:hover,
body.elite-garden-buildings .woocommerce a:focus {
  color: #3b4926 !important;
}

body.elite-garden-buildings .fl-button,
body.elite-garden-buildings .button,
body.elite-garden-buildings button,
body.elite-garden-buildings .woocommerce .button,
body.elite-garden-buildings .woocommerce button,
body.elite-garden-buildings .woocommerce input.button,
body.elite-garden-buildings .woocommerce a.button,
body.elite-garden-buildings .woocommerce a.button.alt,
body.elite-garden-buildings .single_add_to_cart_button,
body.elite-garden-buildings .gform_button,
body.elite-garden-buildings .facetwp-reset,
body.elite-garden-buildings .facetwp-submit,
body.elite-garden-buildings .facetwp-page.active,
body.elite-garden-buildings .woocommerce-pagination .current {
  background: linear-gradient(135deg, #4d5e33 0%, #3b4926 100%) !important;
  border-color: #3b4926 !important;
  color: #fff !important;
}

body.elite-garden-buildings .button:hover,
body.elite-garden-buildings button:hover,
body.elite-garden-buildings .woocommerce .button:hover,
body.elite-garden-buildings .woocommerce button:hover,
body.elite-garden-buildings .woocommerce input.button:hover,
body.elite-garden-buildings .facetwp-reset:hover,
body.elite-garden-buildings .facetwp-submit:hover,
body.elite-garden-buildings .facetwp-page:hover,
body.elite-garden-buildings .woocommerce-pagination a:hover {
  background: linear-gradient(135deg, #46572e 0%, #2f3b1f 100%) !important;
  border-color: #2f3b1f !important;
  color: #fff !important;
}

body.elite-garden-buildings .button.alt,
body.elite-garden-buildings .egb-button--secondary,
body.elite-garden-buildings .woocommerce a.button.alt {
  background: #fff !important;
  color: #22251c !important;
  border-color: rgba(26,28,22,.16) !important;
}

body.elite-garden-buildings .woocommerce .price,
body.elite-garden-buildings .amount,
body.elite-garden-buildings .woocommerce-loop-product__title,
body.elite-garden-buildings .product_title {
  color: #24311f !important;
}

body.elite-garden-buildings .select2-container,
body.elite-garden-buildings .facetwp-facet,
body.elite-garden-buildings .facetwp-page,
body.elite-garden-buildings .woocommerce-pagination a,
body.elite-garden-buildings .woocommerce-pagination span {
  color: #24311f !important;
}

body.elite-garden-buildings .facetwp-facet .noUi-connect,
body.elite-garden-buildings .facetwp-facet .noUi-handle,
body.elite-garden-buildings .select2-container .select2-results__option--highlighted {
  background: #4d5e33 !important;
  border-color: #4d5e33 !important;
  color: #fff !important;
}

body.elite-garden-buildings .fl-builder-content .uabb-icon,
body.elite-garden-buildings .fl-builder-content .uabb-icon i,
body.elite-garden-buildings .fl-builder-content .uabb-icon svg,
body.elite-garden-buildings .fl-builder-content .fl-icon i {
  color: #4d5e33 !important;
}

body.elite-garden-buildings :focus,
body.elite-garden-buildings :focus-visible {
  outline-color: rgba(77,94,51,.58) !important;
  box-shadow: none;
}

/* === No-Blue Enforcement v6 (global warm palette hard-override) === */
body.elite-garden-buildings {
  --egb-bg-warm: #f4f1ea;
  --egb-surface-warm: #ebe6dc;
  --egb-surface-warm-2: #f8f4ed;
  --egb-text-strong: #1f2923;
  --egb-text-body: #2f3b34;
  --egb-text-muted: #5f665f;
  --egb-accent: #4d5e33;
  --egb-accent-strong: #394826;
  --egb-border: #d8d1c4;
}

body.elite-garden-buildings,
body.elite-garden-buildings .fl-page,
body.elite-garden-buildings .fl-page-content,
body.elite-garden-buildings .site,
body.elite-garden-buildings .woocommerce,
body.elite-garden-buildings .woocommerce-page {
  background-color: var(--egb-bg-warm) !important;
  color: var(--egb-text-body) !important;
}

body.elite-garden-buildings a,
body.elite-garden-buildings a:link,
body.elite-garden-buildings a:visited,
body.elite-garden-buildings .fl-post-content a,
body.elite-garden-buildings .entry-content a,
body.elite-garden-buildings .woocommerce a,
body.elite-garden-buildings .woocommerce-page a,
body.elite-garden-buildings .fl-rich-text a,
body.elite-garden-buildings .facetwp-facet a {
  color: var(--egb-accent) !important;
}

body.elite-garden-buildings a:hover,
body.elite-garden-buildings a:focus,
body.elite-garden-buildings a:active,
body.elite-garden-buildings .woocommerce a:hover,
body.elite-garden-buildings .woocommerce-page a:hover,
body.elite-garden-buildings .fl-post-content a:hover {
  color: var(--egb-accent-strong) !important;
}

body.elite-garden-buildings h1,
body.elite-garden-buildings h2,
body.elite-garden-buildings h3,
body.elite-garden-buildings h4,
body.elite-garden-buildings h5,
body.elite-garden-buildings h6,
body.elite-garden-buildings .product_title,
body.elite-garden-buildings .woocommerce-loop-product__title,
body.elite-garden-buildings .fl-post-title,
body.elite-garden-buildings .entry-title {
  color: var(--egb-text-strong) !important;
}

body.elite-garden-buildings .fl-row-content-wrap,
body.elite-garden-buildings .fl-module-content,
body.elite-garden-buildings .woocommerce ul.products li.product,
body.elite-garden-buildings .woocommerce-page ul.products li.product,
body.elite-garden-buildings .facetwp-template .product,
body.elite-garden-buildings .facetwp-template article,
body.elite-garden-buildings .woocommerce div.product,
body.elite-garden-buildings .woocommerce-page div.product,
body.elite-garden-buildings .woocommerce-message,
body.elite-garden-buildings .woocommerce-info,
body.elite-garden-buildings .woocommerce-error,
body.elite-garden-buildings .fl-callout,
body.elite-garden-buildings .fl-module-box {
  background-color: var(--egb-surface-warm) !important;
  border-color: var(--egb-border) !important;
}

body.elite-garden-buildings .woocommerce div.product .woocommerce-tabs ul.tabs li,
body.elite-garden-buildings .woocommerce div.product .woocommerce-tabs .panel,
body.elite-garden-buildings .woocommerce table.shop_table,
body.elite-garden-buildings .woocommerce #payment,
body.elite-garden-buildings .woocommerce #order_review,
body.elite-garden-buildings .woocommerce-account .woocommerce,
body.elite-garden-buildings .woocommerce-MyAccount-navigation,
body.elite-garden-buildings .woocommerce-MyAccount-content,
body.elite-garden-buildings .facetwp-facet,
body.elite-garden-buildings .facetwp-type-slider,
body.elite-garden-buildings .facetwp-type-search,
body.elite-garden-buildings .facetwp-type-sort {
  background-color: var(--egb-surface-warm-2) !important;
  border-color: var(--egb-border) !important;
}

body.elite-garden-buildings .facetwp-slider .noUi-connect,
body.elite-garden-buildings .noUi-connect,
body.elite-garden-buildings .noUi-handle,
body.elite-garden-buildings .facetwp-selections li,
body.elite-garden-buildings .facetwp-checkbox.checked,
body.elite-garden-buildings .facetwp-radio.checked {
  background: var(--egb-accent) !important;
  border-color: var(--egb-accent) !important;
}

body.elite-garden-buildings button,
body.elite-garden-buildings input[type='submit'],
body.elite-garden-buildings input[type='button'],
body.elite-garden-buildings .button,
body.elite-garden-buildings .woocommerce a.button,
body.elite-garden-buildings .woocommerce button.button,
body.elite-garden-buildings .woocommerce input.button,
body.elite-garden-buildings .fl-button,
body.elite-garden-buildings .fl-post-grid-more a {
  background-color: var(--egb-accent) !important;
  border-color: var(--egb-accent-strong) !important;
  color: #fff !important;
}

body.elite-garden-buildings button:hover,
body.elite-garden-buildings input[type='submit']:hover,
body.elite-garden-buildings input[type='button']:hover,
body.elite-garden-buildings .button:hover,
body.elite-garden-buildings .woocommerce a.button:hover,
body.elite-garden-buildings .woocommerce button.button:hover,
body.elite-garden-buildings .woocommerce input.button:hover,
body.elite-garden-buildings .fl-button:hover,
body.elite-garden-buildings .fl-post-grid-more a:hover {
  background-color: var(--egb-accent-strong) !important;
  border-color: #2d381d !important;
  color: #fff !important;
}

body.elite-garden-buildings input[type='text'],
body.elite-garden-buildings input[type='email'],
body.elite-garden-buildings input[type='tel'],
body.elite-garden-buildings input[type='search'],
body.elite-garden-buildings input[type='number'],
body.elite-garden-buildings input[type='url'],
body.elite-garden-buildings input[type='password'],
body.elite-garden-buildings textarea,
body.elite-garden-buildings select,
body.elite-garden-buildings .select2-selection,
body.elite-garden-buildings .facetwp-facet select {
  background-color: #f7f3ec !important;
  color: var(--egb-text-body) !important;
  border-color: var(--egb-border) !important;
}

body.elite-garden-buildings *:focus {
  outline-color: var(--egb-accent) !important;
}

body.elite-garden-buildings .fl-social-icons .fa-stack i.fa-circle.branded,
body.elite-garden-buildings .fl-social-icons i.branded,
body.elite-garden-buildings .fl-social-icons .fab.branded,
body.elite-garden-buildings .fl-social-icons .fas.branded {
  color: var(--egb-accent) !important;
}

body.elite-garden-buildings .fl-social-icons .fa-stack i.fa-inverse,
body.elite-garden-buildings .fl-social-icons .fa-inverse {
  color: #fff !important;
}

body.elite-garden-buildings.woocommerce ul.products li.product .price,
body.elite-garden-buildings .woocommerce ul.products li.product .price,
body.elite-garden-buildings .woocommerce div.product p.price,
body.elite-garden-buildings .woocommerce div.product span.price,
body.elite-garden-buildings .woocommerce-Price-amount,
body.elite-garden-buildings .price,
body.elite-garden-buildings p,
body.elite-garden-buildings li,
body.elite-garden-buildings label,
body.elite-garden-buildings .woocommerce-breadcrumb,
body.elite-garden-buildings .woocommerce-result-count {
  color: var(--egb-text-body) !important;
}

body.elite-garden-buildings.page-id-6960 .fl-row-content-wrap,
body.elite-garden-buildings.page-id-6960 .fl-module-content,
body.elite-garden-buildings.page-id-6960 .fl-rich-text {
  background-color: var(--egb-surface-warm) !important;
  color: var(--egb-text-body) !important;
}

/* === Corrective pass v7: corners + contrast + form panels === */
body.elite-garden-buildings .fl-row-content-wrap,
body.elite-garden-buildings .fl-module-content,
body.elite-garden-buildings .fl-module,
body.elite-garden-buildings .fl-col-content {
  background-color: transparent !important;
  box-shadow: none;
}

/* Keep rounded media/cards clipping clean */
body.elite-garden-buildings .egb-category-card,
body.elite-garden-buildings .egb-product-card,
body.elite-garden-buildings .egb-loop-card,
body.elite-garden-buildings .fl-photo-content,
body.elite-garden-buildings .fl-photo,
body.elite-garden-buildings .fl-photo-img {
  overflow: hidden;
  border-radius: 32px !important;
}

/* Primary CTA/nav button contrast */
body.elite-garden-buildings .egb-button,
body.elite-garden-buildings .egb-button:link,
body.elite-garden-buildings .egb-button:visited,
body.elite-garden-buildings .egb-button--primary,
body.elite-garden-buildings .egb-button--primary:link,
body.elite-garden-buildings .egb-button--primary:visited,
body.elite-garden-buildings .menu-item-7526 > a,
body.elite-garden-buildings .menu-item-7526 > a:link,
body.elite-garden-buildings .menu-item-7526 > a:visited {
  color: #f7f4ed !important;
}

body.elite-garden-buildings .egb-button *,
body.elite-garden-buildings .egb-button--primary *,
body.elite-garden-buildings .menu-item-7526 > a * {
  color: inherit !important;
  opacity: 1 !important;
}

/* Keep secondary CTA readable on light background */
body.elite-garden-buildings .egb-button--secondary,
body.elite-garden-buildings .egb-button--secondary:link,
body.elite-garden-buildings .egb-button--secondary:visited,
body.elite-garden-buildings .egb-button--secondary * {
  color: #283327 !important;
}

/* Dark-on-dark fixes for image cards */
body.elite-garden-buildings .egb-category-card h3,
body.elite-garden-buildings .egb-category-card p,
body.elite-garden-buildings .egb-category-card .egb-pill,
body.elite-garden-buildings .egb-category-card a,
body.elite-garden-buildings .egb-category-card a:link,
body.elite-garden-buildings .egb-category-card a:visited,
body.elite-garden-buildings .egb-hero .egb-hero__content h1,
body.elite-garden-buildings .egb-hero .egb-hero__content p,
body.elite-garden-buildings .egb-hero .egb-hero__content .egb-eyebrow,
body.elite-garden-buildings .egb-hero .egb-hero__trust strong,
body.elite-garden-buildings .egb-hero .egb-hero__trust span {
  color: #f7f4ed !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .34);
}

body.elite-garden-buildings .egb-category-card__media::after {
  background: linear-gradient(180deg, rgba(16,23,21,.18), rgba(16,23,21,.82)) !important;
}

/* Product/filter panel cleanup (remove square blocks) */
body.elite-garden-buildings .facetwp-template .fl-module-content,
body.elite-garden-buildings .facetwp-facet,
body.elite-garden-buildings .woocommerce ul.products li.product,
body.elite-garden-buildings .woocommerce-page ul.products li.product {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Quote form panel: remove cool blue and ensure readability */
body.elite-garden-buildings .gform_wrapper,
body.elite-garden-buildings .gform-theme,
body.elite-garden-buildings .gform-theme--framework,
body.elite-garden-buildings .gform-theme--foundation,
body.elite-garden-buildings .gform_body,
body.elite-garden-buildings .gform_fields,
body.elite-garden-buildings .gform_page,
body.elite-garden-buildings .gform_heading,
body.elite-garden-buildings .gform_footer {
  background: #ece6dc !important;
  color: #222b25 !important;
}

body.elite-garden-buildings .gform_wrapper .gfield_label,
body.elite-garden-buildings .gform_wrapper .gfield_required,
body.elite-garden-buildings .gform_wrapper .gfield_description,
body.elite-garden-buildings .gform_wrapper .validation_message,
body.elite-garden-buildings .gform_wrapper legend,
body.elite-garden-buildings .gform_wrapper label {
  color: #2d352e !important;
}

body.elite-garden-buildings .gform_wrapper input,
body.elite-garden-buildings .gform_wrapper textarea,
body.elite-garden-buildings .gform_wrapper select {
  background: #f9f6f0 !important;
  color: #1f2a26 !important;
  border-color: rgba(31,42,38,.16) !important;
}

/* Final no-dark-text-on-dark fallback */
body.elite-garden-buildings .egb-hero [style*='color: #000'],
body.elite-garden-buildings .egb-hero [style*='color:#000'],
body.elite-garden-buildings .egb-category-card [style*='color: #000'],
body.elite-garden-buildings .egb-category-card [style*='color:#000'] {
  color: #f7f4ed !important;
}

/* === No-Blue product cleanup v8 === */
body.elite-garden-buildings.single-product .fl-builder-content .fl-col-bg-color,
body.elite-garden-buildings.single-product .fl-builder-content .fl-col-bg-color .fl-col-content,
body.elite-garden-buildings.single-product .fl-builder-content .fl-row-content-wrap,
body.elite-garden-buildings.single-product .fl-builder-content .fl-module-content {
  background-color: #ece6dc !important;
  border-color: #d8d1c4 !important;
}

body.elite-garden-buildings.single-product .gform_wrapper,
body.elite-garden-buildings.single-product .gform-theme,
body.elite-garden-buildings.single-product .gform-theme--framework,
body.elite-garden-buildings.single-product .gform-theme--foundation,
body.elite-garden-buildings.single-product .gform_body,
body.elite-garden-buildings.single-product .gform_fields,
body.elite-garden-buildings.single-product .gform_page,
body.elite-garden-buildings.single-product .gform_heading,
body.elite-garden-buildings.single-product .gform_footer {
  background: #ece6dc !important;
  color: #222b25 !important;
  --gf-local-bg-color: #ece6dc !important;
  --gf-color-primary: #4d5e33 !important;
  --gf-color-primary-rgb: 77, 94, 51 !important;
}

body.elite-garden-buildings.single-product .gform_wrapper .gfield,
body.elite-garden-buildings.single-product .gform_wrapper .gfield_label,
body.elite-garden-buildings.single-product .gform_wrapper .gfield_required,
body.elite-garden-buildings.single-product .gform_wrapper .gfield_description,
body.elite-garden-buildings.single-product .gform_wrapper .validation_message,
body.elite-garden-buildings.single-product .gform_wrapper legend,
body.elite-garden-buildings.single-product .gform_wrapper label {
  color: #2d352e !important;
}

body.elite-garden-buildings.single-product .gform_wrapper input,
body.elite-garden-buildings.single-product .gform_wrapper textarea,
body.elite-garden-buildings.single-product .gform_wrapper select {
  background: #f9f6f0 !important;
  border-color: rgba(31,42,38,.16) !important;
  color: #1f2a26 !important;
}

/* Woo gallery plugin blue borders/highlights */
body.elite-garden-buildings #wpgs-gallery .wcgs-thumb.spswiper-slide-thumb-active.wcgs-thumb img,
body.elite-garden-buildings #wpgs-gallery .wcgs-thumb.spswiper-slide:hover img,
body.elite-garden-buildings #wpgs-gallery .wcgs-thumb.spswiper-slide-thumb-active.wcgs-thumb:hover img {
  border-color: #4d5e33 !important;
}

/* === Fallback product grid visibility fix v9 === */
body.elite-garden-buildings #egb-gb-product-grid,
body.elite-garden-buildings #egb-term-products-fallback {
  position: relative;
  z-index: 5;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-grid,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card {
  display: block !important;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,241,232,.92)) !important;
  border: 1px solid rgba(30, 34, 29, .10) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 44px rgba(24, 25, 21, .10) !important;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__media,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__media {
  display: block !important;
  min-height: 250px;
  pointer-events: auto !important;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__media img,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__media img {
  display: block !important;
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__body,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__body {
  display: block !important;
  padding: 18px 20px 20px !important;
  background: transparent !important;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__body h3,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__body h3 {
  display: block !important;
  margin: 0 0 10px !important;
  font-size: 1.45rem !important;
  line-height: 1.18 !important;
  color: #1f2a23 !important;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__link,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__link,
body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__link:visited,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__link:visited {
  color: #1f2a23 !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}

body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__price,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__price,
body.elite-garden-buildings #egb-gb-product-grid .egb-product-card__price *,
body.elite-garden-buildings #egb-term-products-fallback .egb-product-card__price * {
  display: inline !important;
  color: #2a3a2f !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 700 !important;
}

@media (max-width: 1024px) {
  body.elite-garden-buildings #egb-gb-product-grid .egb-product-grid,
  body.elite-garden-buildings #egb-term-products-fallback .egb-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.elite-garden-buildings #egb-gb-product-grid .egb-product-grid,
  body.elite-garden-buildings #egb-term-products-fallback .egb-product-grid {
    grid-template-columns: 1fr;
  }
}
