/* Succession client requested fixes — 2026-05-28
   Safe CSS overlay. Works as a drop-in stylesheet for the Forge static rebuild and also covers the old Vantage/SiteOrigin WordPress classes where possible.
*/
:root {
  --succession-gold: #C6A55A;
  --succession-maroon: #7f1d2d;
  --succession-dark: #080808;
}

/* Header: logo far left, nav far right, 10px logo breathing room */
.site-header,
header,
#masthead,
.main-header,
.navbar,
nav[role="navigation"] {
  box-sizing: border-box;
}

#masthead .hgroup,
#masthead .main-navigation .full-container,
.site-header .container,
.main-header .container,
.navbar .container,
header nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

#masthead.masthead-logo-in-menu .logo,
.site-logo,
.logo,
a[href="/"] img[alt*="Succession" i] {
  margin: 10px !important;
  margin-left: 0 !important;
}

#masthead.masthead-logo-in-menu .logo > img,
.site-logo img,
.logo img,
img[alt*="Succession" i] {
  max-height: 82px;
  width: auto;
  object-fit: contain;
}

.main-navigation,
nav ul,
.menu,
.nav-menu {
  margin-left: auto !important;
}

/* Button hover states: no heavy maroon border; keep text visible with gold */
a.button:hover,
button:hover,
input[type="submit"]:hover,
.btn:hover,
.wp-block-button__link:hover,
.sow-slider-image-wrapper a:hover,
.caldera-grid .btn:hover,
.elementor-button:hover,
.siteorigin-widget-tinymce a[href]:hover {
  color: var(--succession-gold) !important;
  border: 1px solid var(--succession-gold) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Use exact requested gold for main action buttons and WhatsApp button */
a.button,
button,
input[type="submit"],
.btn,
.wp-block-button__link,
.caldera-grid .btn-default,
.whatsapp,
.whatsapp-button,
a[href*="wa.me"],
a[href*="api.whatsapp.com"],
a[href*="whatsapp"] {
  background-color: var(--succession-gold) !important;
  border-color: var(--succession-gold) !important;
  color: #111 !important;
}

/* Hero: black gradient overlay + stronger typography controls */
.hero,
.hero-section,
.main-hero,
.header-hero,
.home-hero,
.sow-slider-image,
.sow-hero-background,
.panel-row-style[style*="hero" i],
.panel-row-style[style*="banner" i] {
  position: relative;
  isolation: isolate;
}

.hero::before,
.hero-section::before,
.main-hero::before,
.header-hero::before,
.home-hero::before,
.sow-slider-image::before,
.sow-hero-background::before,
.panel-row-style[style*="hero" i]::before,
.panel-row-style[style*="banner" i]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 45%, rgba(0,0,0,.18) 100%);
  pointer-events: none;
}

.certified-financial-planning,
.certified-financial-planning-in-namibia,
.hero .eyebrow,
.hero-section .eyebrow,
.main-hero .eyebrow,
.sow-slider-image-wrapper .eyebrow {
  display: inline-block;
  padding: 10px !important;
  color: var(--succession-maroon) !important;
  background: rgba(255,255,255,.78);
  border-radius: 4px;
  font-weight: 700;
}

.plan-today,
.hero .subtitle,
.hero-section .subtitle,
.main-hero .subtitle {
  font-size: clamp(1rem, 1.8vw, 1.45rem) !important;
  line-height: 1.35 !important;
}

.succession-planning-solution,
.succession-planning-solutions,
.hero h1,
.hero-section h1,
.main-hero h1 {
  font-size: clamp(3rem, 7.2vw, 6.25rem) !important;
  line-height: .95 !important;
}

.hero .contact-button,
.hero-section .contact-button,
.main-hero .contact-button,
.hero a[href*="contact"],
.hero-section a[href*="contact"] {
  padding-top: 5% !important;
  padding-bottom: 5% !important;
}

/* Insurance partners: show logos, not repeated gold text labels */
.insurance-partners .partner-name,
.insurance-partners .logo-title,
.insurance-partners figcaption,
.insurance-partners .sow-image-grid-image-title,
.partners .partner-name,
.partners figcaption,
.sow-image-grid-wrapper .sow-image-grid-image .sow-image-grid-image-title {
  display: none !important;
}

.insurance-partners img,
.partners img,
.sow-image-grid-wrapper .sow-image-grid-image img {
  opacity: 1 !important;
  filter: none !important;
  transition: transform .2s ease, filter .2s ease;
}

.insurance-partners img:hover,
.partners img:hover,
.sow-image-grid-wrapper .sow-image-grid-image img:hover {
  transform: translateY(-2px);
  filter: drop-shadow(0 0 10px rgba(198,165,90,.38)) !important;
}

/* Partner logo sizing. PPS larger; Sanlam 10px smaller than the general partner logo size. */
.insurance-partners img[alt*="PPS" i],
.partners img[alt*="PPS" i],
img[src*="PPS" i],
img[src*="pps" i] {
  max-height: 360px !important;
  max-width: 360px !important;
  width: auto !important;
}

.insurance-partners img[alt*="Sanlam" i],
.partners img[alt*="Sanlam" i],
img[src*="Sanlam" i],
img[src*="sanlam" i] {
  max-height: 70px !important;
  max-width: 140px !important;
  width: auto !important;
}

/* Asset Map alignment: logo/wording centered opposite QR/start-discovery */
.asset-map-section,
.asset-map,
.assetmap,
.discovery-section,
.start-discovery-section {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 5vw, 72px);
  text-align: center;
}
.asset-map-section > *,
.asset-map > *,
.assetmap > *,
.discovery-section > *,
.start-discovery-section > * {
  flex: 1 1 320px;
  max-width: 560px;
}
.asset-map-section img[src*="asset" i],
.asset-map img[src*="asset" i],
.assetmap img[src*="asset" i] {
  display: block;
  max-width: min(420px, 90%);
  margin: 0 auto;
}
.asset-map-section .qr,
.discovery-section .qr,
.start-discovery-section .qr,
.asset-map-section img[src*="qr" i],
.discovery-section img[src*="qr" i] {
  display: block;
  margin: 0 auto 12px;
}

@media (max-width: 780px) {
  .asset-map-section,
  .asset-map,
  .assetmap,
  .discovery-section,
  .start-discovery-section {
    flex-direction: column;
  }
}

/* Scroll-to-top: gold button on the left */
#scroll-to-top,
.scroll-to-top,
.back-to-top,
#back-to-top,
a[href="#top"].back-to-top {
  position: fixed !important;
  left: 22px !important;
  right: auto !important;
  bottom: 22px !important;
  z-index: 9999 !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--succession-gold) !important;
  color: #111 !important;
  border: 1px solid var(--succession-gold) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;
}

/* Contact/Let's Plan: make WhatsApp + Send Message same line and same size */
.contact-actions,
.lets-plan-actions,
.contact-buttons,
.wpforms-submit-container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
.contact-actions a,
.contact-actions button,
.lets-plan-actions a,
.lets-plan-actions button,
.contact-buttons a,
.contact-buttons button,
.wpforms-submit-container button,
.wpforms-submit-container a {
  min-width: 190px;
  min-height: 48px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* Contact/service icons: solid, recolourable gold icons */
.service-icon,
.hour-services .icon,
.our-services .icon,
.contact-icon,
.widget_circleicon-widget .circle-icon-box .circle-icon {
  background: var(--succession-gold) !important;
  color: #111 !important;
  border-color: var(--succession-gold) !important;
}
.service-icon svg,
.hour-services .icon svg,
.our-services .icon svg,
.contact-icon svg,
.widget_circleicon-widget .circle-icon-box .circle-icon [class^="fa fa-"] {
  color: #111 !important;
  fill: currentColor !important;
  text-shadow: none !important;
}

/* Production static-site overrides: keep the old WordPress compatibility rules from
   forcing the new static Asset Map section into a narrow flex strip, and make all
   content visible even if browser/JS scroll-reveal timing is inconsistent. */
body .asset-map {
  display: block !important;
  text-align: initial !important;
}
body .asset-map > * {
  max-width: 1100px !important;
  flex: none !important;
}
body .asset-map-grid {
  display: grid !important;
}
body .reveal {
  opacity: 1 !important;
  transform: none !important;
}
