/* Shared brand palette: charcoal surfaces, ivory copy, warm gold accents. */
html:root {
  --ge5d-color-black: #101212;
  --ge5d-color-ink: #101212;
  --ge5d-color-panel: #191c1c;
  --ge5d-color-panel-2: #222626;
  --ge5d-color-elevated: #2b3030;
  --ge5d-color-cream: #f3efe7;
  --ge5d-color-text: #f3efe7;
  --ge5d-color-muted: #b9bbb5;
  --ge5d-color-dim: #959b96;
  --ge5d-color-gold: var(--fived-gold);
  --ge5d-color-gold-light: var(--fived-gold-light);
  --ge5d-color-gold-dark: var(--fived-gold-dark);
  --ge5d-border-soft: rgba(243,239,231,.12);
  --ge5d-border-strong: rgba(243,239,231,.22);
  --ge5d-border-gold: rgba(214,170,54,.42);
  --ge5d-surface-gold: rgba(214,170,54,.1);
  --fr-gold: var(--ge5d-color-gold);
  --fr-gold-light: var(--ge5d-color-gold-light);
  --fr-gold-dark: var(--ge5d-color-gold-dark);
  --ge5d-bg: var(--ge5d-color-ink);
  --ge5d-alt: var(--ge5d-color-panel);
  --ge5d-surface: var(--ge5d-color-panel-2);
  --ge5d-text: var(--ge5d-color-text);
  --ge5d-muted: var(--ge5d-color-muted);
  --ge5d-dim: var(--ge5d-color-dim);
  --ge5d-gold: var(--ge5d-color-gold);
  --ge5d-gold-light: var(--ge5d-color-gold-light);
  --ge5d-gold-dark: var(--ge5d-color-gold-dark);
  --gsv2-bg: var(--ge5d-bg);
  --gsv2-panel: var(--ge5d-alt);
  --gsv2-card: var(--ge5d-surface);
  --gsv2-soft: var(--ge5d-color-elevated);
  --gsv2-text: var(--ge5d-text);
  --gsv2-body: #d2d2ca;
  --gsv2-muted: var(--ge5d-muted);
  --gsv2-gold: var(--ge5d-gold);
  --gsv2-gold-light: var(--ge5d-gold-light);
  --gsv2-gold-dark: var(--ge5d-gold-dark);
  --gsv2-border: var(--ge5d-border-soft);
  --gsv2-gold-border: var(--ge5d-border-gold);
}

body:not(.wp-admin),
body .ge5d-template-main,
body .ge5d-page,
body .ge5d-section,
body.ge-staff-v2-template .ge-panel-template-front,
body.ge-staff-v2-template .ge-staff-v2,
body.ge-staff-v2-template .gsv2-workspace {
  background: var(--ge5d-bg) !important;
  color: var(--ge5d-text);
}
body .ge5d-section-alt,
body .ge5d-stats,
body .ge5d-footer,
body .ge5d-cta {
  background: var(--ge5d-alt) !important;
}
body .ge5d-nav.scrolled,
body .ge5d-submenu,
body .ge5d-mobile,
body.ge-staff-v2-template .gsv2-rail {
  background: var(--ge5d-bg) !important;
  border-color: var(--ge5d-border-soft) !important;
}
body .ge5d-card,
body .ge5d-help-card,
body .ge5d-testimonial-card,
body .ge5d-test-card,
body .ge5d-faq-item,
body.ge-staff-v2-template .gsv2-card,
body.ge-staff-v2-template .gs-card {
  background: var(--ge5d-alt) !important;
  border-color: var(--ge5d-border-soft) !important;
}
body .ge5d-title,
body .ge5d-nav-usertext strong { color: var(--ge5d-text) !important; }
body .ge5d-tag,
body .ge5d-kicker,
body .ge5d-title em,
body .ge5d-nav-usertext small { color: var(--ge5d-gold) !important; }
body .ge5d-nav-links a,
body .ge5d-footer p,
body .ge5d-footer a { color: var(--ge5d-muted); }

/* One solid accent for primary actions, with a distinct hover state. */
body .ge5d-nav .ge5d-nav-cta,
body .ge5d-btn-primary,
body .ge5d-pick-primary,
body .ge5d-mini-btn.primary,
body.ge-staff-v2-template .gsv2-btn.primary,
body.ge-staff-v2-template .gs-btn-primary,
body #servicos .ge5d-swp-tab.active {
  background: var(--ge5d-gold) !important;
  border-color: var(--ge5d-gold) !important;
  color: var(--ge5d-bg) !important;
  box-shadow: none !important;
}
body .ge5d-nav .ge5d-nav-cta:hover,
body .ge5d-btn-primary:hover,
body .ge5d-pick-primary:hover,
body.ge-staff-v2-template .gsv2-btn.primary:hover,
body.ge-staff-v2-template .gs-btn-primary:hover {
  background: var(--ge5d-gold-light) !important;
  border-color: var(--ge5d-gold-light) !important;
}
body #servicos .ge5d-swp-tab:not(.active),
body .ge5d-btn-outline {
  background: transparent !important;
  border-color: var(--ge5d-border-strong) !important;
  color: var(--ge5d-text) !important;
}
body #servicos .ge5d-swp-tab:not(.active):hover,
body .ge5d-btn-outline:hover {
  background: var(--ge5d-surface) !important;
  border-color: var(--ge5d-gold) !important;
}

/* Compact event cards; border-box prevents narrow-slide text clipping. */
body #servicos .ge5d-swp-card.ge5d-swp-card--media,
body #servicos .ge5d-swp-panel[id$="-extras"] .ge5d-swp-card.ge5d-swp-card--media {
  min-height: clamp(330px, 31vw, 390px) !important;
  height: auto !important;
  justify-content: flex-end !important;
  border-color: var(--ge5d-border-soft) !important;
  background: var(--ge5d-alt) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}
body #servicos .ge5d-swp-card--media .ge5d-swp-content {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 22px 18px !important;
}
body #servicos .ge5d-swp-card--media .ge5d-swp-title {
  font-size: clamp(25px, 2.5vw, 32px) !important;
  color: var(--ge5d-text) !important;
}
body #servicos .ge5d-swp-card--media .ge5d-swp-desc {
  white-space: normal !important;
  overflow-wrap: break-word;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--ge5d-text) !important;
}
body #servicos .ge5d-swp-media-shade {
  background: linear-gradient(180deg, transparent 20%, rgba(16,18,18,.25) 45%, rgba(16,18,18,.96) 100%) !important;
}
@media(max-width:768px) {
  body #servicos .ge5d-swp-card.ge5d-swp-card--media,
  body #servicos .ge5d-swp-panel[id$="-extras"] .ge5d-swp-card.ge5d-swp-card--media {
    min-height: 360px !important;
  }
  body #servicos .ge5d-swp-swiper { min-height: 0 !important; }
}

/* Staff components also have legacy inline rules with stronger selectors. */
html body.ge-staff-v2-template,
html body.ge-staff-v2-template .ge-staff-v2,
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-workspace,
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-rail {
  background: var(--ge5d-bg) !important;
  background-image: none !important;
}
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-panel,
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-side-card {
  background: var(--ge5d-alt) !important;
  border-color: var(--ge5d-border-soft) !important;
}
/* The shared search area uses the same surface as its workspace. */
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-global-filterbar,
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-global-filterbar > .gsv2-global-filter-form {
  background: var(--ge5d-bg) !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-btn.primary,
html body.ge-staff-v2-template .ge-staff-v2 .gsv2-btn.is-primary {
  background: var(--ge5d-gold) !important;
  color: var(--ge5d-bg) !important;
  border-color: var(--ge5d-gold) !important;
  box-shadow: none !important;
}

