/*
Theme Name: Igual Child
Description: Child Theme for Igual Theme
Author: zozothemes
Version: 1.0
Template: igual
Tags: one-column, two-columns, right-sidebar, flexible-header, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
Text Domain: zozothemes
*/

/*Custom Style Code Right Here */

/* Contact Form 7 consent checkbox fix */
.legal-consent {
  margin: 20px 0 25px;
}

.legal-consent .wpcf7-form-control-wrap,
.legal-consent .wpcf7-form-control,
.legal-consent .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0;
}

.legal-consent label {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}

.legal-consent input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  vertical-align: top !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  transform: none !important;
  border-radius: 2px !important;
}

.legal-consent .wpcf7-list-item-label {
  display: inline-block;
  font-size: 15px;
  line-height: 1.6;
  color: inherit;
}
/* Wessels & Smith - Services dropdown fix */

/* Keep Services menu item positioned correctly */
#menu-item-37385 {
  position: relative !important;
}

/* Fix dropdown arrow beside Services */
#menu-item-37385.menu-item-has-children > a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

/* Override misplaced theme arrow and place it inline */
#menu-item-37385.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
  position: static !important;
  margin-left: 4px !important;
  opacity: 1 !important;
}

/* Hide any extra dropdown toggle icon the theme may inject */
#menu-item-37385 > .dropdown-toggle,
#menu-item-37385 > .submenu-toggle,
#menu-item-37385 > .menu-arrow,
#menu-item-37385 > .indicator {
  display: none !important;
}

/* Desktop dropdown - 3 columns */
@media (min-width: 992px) {

  #menu-item-37385 > ul.sub-menu {
    width: 900px !important;
    max-width: calc(100vw - 60px) !important;
    padding: 28px 30px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px 22px !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18) !important;
    z-index: 99999 !important;
  }

  #menu-item-37385:not(:hover):not(:focus-within) > ul.sub-menu {
    display: none !important;
  }

  #menu-item-37385:hover > ul.sub-menu,
  #menu-item-37385:focus-within > ul.sub-menu {
    display: grid !important;
  }

  #menu-item-37385 > ul.sub-menu > li {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    break-inside: avoid !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a {
    display: block !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    text-transform: uppercase !important;
    color: #252525 !important;
    white-space: normal !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover {
    color: #b8965d !important;
    background: #f7f3ec !important;
  }
}

/* Mobile/tablet - keep dropdown single column */
@media (max-width: 991px) {
  #menu-item-37385 > ul.sub-menu {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    grid-template-columns: 1fr !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a {
    white-space: normal !important;
  }
}
/* Wessels & Smith - Main menu spacing reset after mega menu changes */

/* Keep top-level menu items evenly spaced */
.nav.wp-menu.primary-menu {
  display: flex !important;
  align-items: center !important;
  gap: 38px !important;
}

/* Reset spacing added by theme or previous dropdown CSS */
.nav.wp-menu.primary-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

/* Top-level menu links only */
.nav.wp-menu.primary-menu > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 28px 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Remove theme's misplaced dropdown arrows */
.nav.wp-menu.primary-menu > li.menu-item-has-children::after,
.nav.wp-menu.primary-menu > li.menu-item-has-children > a::before {
  display: none !important;
  content: none !important;
}

/* Add clean inline dropdown arrow only to Services */
#menu-item-37385.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
  margin-left: 8px !important;
  position: static !important;
}

/* Make sure submenu itself does not affect main menu spacing */
.nav.wp-menu.primary-menu > li > ul.sub-menu {
  position: absolute !important;
}
/* Wessels & Smith - Premium Services Mega Menu */

/* Main Services parent */
#menu-item-37385 {
  position: relative !important;
}

/* Services link arrow */
#menu-item-37385.menu-item-has-children > a {
  display: flex !important;
  align-items: center !important;
}

#menu-item-37385.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
  margin-left: 9px !important;
  position: static !important;
}

/* Desktop premium mega menu */
@media (min-width: 992px) {

  #menu-item-37385 > ul.sub-menu {
    width: 1040px !important;
    max-width: calc(100vw - 80px) !important;
    left: 50% !important;
    right: auto !important;
    top: 100% !important;
    transform: translateX(-50%) !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;

    padding: 34px !important;
    background: linear-gradient(135deg, #090909 0%, #151515 55%, #211b12 100%) !important;
    border: 1px solid rgba(184, 150, 93, 0.35) !important;
    border-top: 4px solid #b8965d !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.38) !important;
    border-radius: 0 0 18px 18px !important;
    z-index: 99999 !important;
    overflow: hidden !important;
  }

  /* Decorative header inside mega menu */
  #menu-item-37385 > ul.sub-menu::before {
    content: "Legal Services";
    grid-column: 1 / -1;
    display: block;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #b8965d;
    padding: 0 0 18px 0;
    margin-bottom: 6px;
    border-bottom: 1px solid rgba(184, 150, 93, 0.25);
  }

  #menu-item-37385:not(:hover):not(:focus-within) > ul.sub-menu {
    display: none !important;
  }

  #menu-item-37385:hover > ul.sub-menu,
  #menu-item-37385:focus-within > ul.sub-menu {
    display: grid !important;
  }

  #menu-item-37385 > ul.sub-menu > li {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 64px !important;

    padding: 16px 18px 16px 42px !important;
    background: rgba(255, 255, 255, 0.045) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;

    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    color: #f4efe6 !important;
    white-space: normal !important;

    transition: all 0.25s ease !important;
  }

  /* Gold icon dot */
  #menu-item-37385 > ul.sub-menu > li > a::before {
    content: "" !important;
    position: absolute !important;
    left: 17px !important;
    top: 50% !important;
    width: 9px !important;
    height: 9px !important;
    transform: translateY(-50%) rotate(45deg) !important;
    background: #b8965d !important;
    border-radius: 1px !important;
    box-shadow: 0 0 0 5px rgba(184, 150, 93, 0.12) !important;
  }

  /* Hover style */
  #menu-item-37385 > ul.sub-menu > li > a:hover {
    background: #b8965d !important;
    color: #090909 !important;
    border-color: #d7b977 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25) !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover::before {
    background: #090909 !important;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.12) !important;
  }

  /* Prevent theme dropdown styles from interfering */
  #menu-item-37385 > ul.sub-menu li a,
  #menu-item-37385 > ul.sub-menu li {
    float: none !important;
  }
}

/* Tablet and mobile: keep clean single column */
@media (max-width: 991px) {

  #menu-item-37385 > ul.sub-menu {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 0 !important;
    background: #111111 !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transform: none !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a {
    padding: 13px 20px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #ffffff !important;
    white-space: normal !important;
    text-transform: uppercase !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover {
    color: #b8965d !important;
  }
}
/* Wessels & Smith - Re-centre main menu vertically */

/* Adjust this value only if needed */
:root {
  --ws-main-menu-height: 78px;
}

@media (min-width: 992px) {

  .nav.wp-menu.primary-menu {
    display: flex !important;
    align-items: center !important;
    height: var(--ws-main-menu-height) !important;
    min-height: var(--ws-main-menu-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 38px !important;
  }

  .nav.wp-menu.primary-menu > li {
    display: flex !important;
    align-items: center !important;
    height: var(--ws-main-menu-height) !important;
    min-height: var(--ws-main-menu-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .nav.wp-menu.primary-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: var(--ws-main-menu-height) !important;
    min-height: var(--ws-main-menu-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  /* Keep Services arrow centred with text */
  #menu-item-37385.menu-item-has-children > a::after {
    margin-top: -3px !important;
    align-self: center !important;
  }

  /* Dropdown must start below the full menu item, not from the text height */
  #menu-item-37385 > ul.sub-menu {
    top: 100% !important;
  }
}
/* Wessels & Smith - Final menu alignment + equal mega menu blocks */

:root {
  --ws-menu-move-down: 7px;
  --ws-mega-card-height: 88px;
}

/* Move the main menu text slightly down without moving the whole header */
@media (min-width: 992px) {

  .nav.wp-menu.primary-menu > li > a {
    transform: translateY(var(--ws-menu-move-down)) !important;
  }

  /* Keep Services arrow aligned with moved menu text */
  #menu-item-37385.menu-item-has-children > a::after {
    transform: rotate(45deg) translateY(-2px) !important;
    margin-top: 0 !important;
  }

  /* Prevent dropdown from moving down with the menu text */
  #menu-item-37385 > ul.sub-menu {
    top: calc(100% + 7px) !important;
  }

  /* Make all mega menu service blocks equal height */
  #menu-item-37385 > ul.sub-menu > li {
    display: flex !important;
    height: var(--ws-mega-card-height) !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a {
    width: 100% !important;
    height: var(--ws-mega-card-height) !important;
    min-height: var(--ws-mega-card-height) !important;
    max-height: var(--ws-mega-card-height) !important;

    display: flex !important;
    align-items: center !important;

    padding: 14px 18px 14px 42px !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
  }

  /* Make long service names wrap neatly inside the equal blocks */
  #menu-item-37385 > ul.sub-menu > li > a {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}
/* Wessels & Smith - Article meta box desktop only */

@media (min-width: 768px) {
  .top-meta-wrap {
    width: max-content !important;
    max-width: max-content !important;
    display: block !important;
    position: relative !important;
    top: auto !important;
    z-index: 5 !important;
    transform: translateY(115px) !important;
  }

  .top-meta-wrap .post-meta {
    width: max-content !important;
    max-width: max-content !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
  }
}

/* Mobile reset */
@media (max-width: 767px) {
  .top-meta-wrap {
    width: max-content !important;
    max-width: 100% !important;
    display: block !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
    margin: 15px 0 20px 0 !important;
    z-index: 5 !important;
  }

  .top-meta-wrap .post-meta {
    width: max-content !important;
    max-width: 100% !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
  }
}
```css
/* Wessels & Smith – Restore original counter card styling */

/* Keep the card flat and cream on both sides */
.ws-legal-service-flip__face {
  background: #F7F4EE !important;
  border: none !important;
  box-shadow: none !important;
}

/* 75+ */
.ws-counter-number {
  margin-bottom: 8px !important;
  color: #B89A5B !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 50px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

/* Years' Legal Service */
.ws-counter-title {
  color: #3B3B3B !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Back text */
.ws-counter-back-title {
  color: #3B3B3B !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

/* Optional small gold detail on the reverse */
.ws-counter-back-title::after {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  margin: 14px auto 0;
  background: #B89A5B;
}
```
/* HOME PAGE CONTACT FORM:
   change only text entered by the user */

body.page-id-36321 form.wpcf7-form input.wpcf7-text,
body.page-id-36321 form.wpcf7-form input.wpcf7-email,
body.page-id-36321 form.wpcf7-form input.wpcf7-tel,
body.page-id-36321 form.wpcf7-form textarea.wpcf7-textarea,
body.page-id-36321 form.wpcf7-form input.wpcf7-text:focus,
body.page-id-36321 form.wpcf7-form input.wpcf7-email:focus,
body.page-id-36321 form.wpcf7-form input.wpcf7-tel:focus,
body.page-id-36321 form.wpcf7-form textarea.wpcf7-textarea:focus {
  color: #B89A5B !important;
  -webkit-text-fill-color: #B89A5B !important;
  caret-color: #B89A5B !important;
}
/* Wessels & Smith bank logos — always full colour */

img.swiper-slide-image[alt="Nedbank"],
img.swiper-slide-image[alt="Standard Bank"],
img.swiper-slide-image[alt="First National Bank"],
img.swiper-slide-image[alt="Capitec"],
img.swiper-slide-image[alt="Nedbank"]:hover,
img.swiper-slide-image[alt="Standard Bank"]:hover,
img.swiper-slide-image[alt="First National Bank"]:hover,
img.swiper-slide-image[alt="Capitec"]:hover {
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
  visibility: visible !important;
}

/* Override opacity or filters applied to the image containers */

.swiper-slide:has(img.swiper-slide-image[alt="Nedbank"]),
.swiper-slide:has(img.swiper-slide-image[alt="Standard Bank"]),
.swiper-slide:has(img.swiper-slide-image[alt="First National Bank"]),
.swiper-slide:has(img.swiper-slide-image[alt="Capitec"]),
.swiper-slide-inner:has(img.swiper-slide-image[alt="Nedbank"]),
.swiper-slide-inner:has(img.swiper-slide-image[alt="Standard Bank"]),
.swiper-slide-inner:has(img.swiper-slide-image[alt="First National Bank"]),
.swiper-slide-inner:has(img.swiper-slide-image[alt="Capitec"]) {
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
}

/* Remove any colour overlay placed over these specific logos */

.swiper-slide:has(img.swiper-slide-image[alt="Nedbank"])::before,
.swiper-slide:has(img.swiper-slide-image[alt="Nedbank"])::after,
.swiper-slide:has(img.swiper-slide-image[alt="Standard Bank"])::before,
.swiper-slide:has(img.swiper-slide-image[alt="Standard Bank"])::after,
.swiper-slide:has(img.swiper-slide-image[alt="First National Bank"])::before,
.swiper-slide:has(img.swiper-slide-image[alt="First National Bank"])::after,
.swiper-slide:has(img.swiper-slide-image[alt="Capitec"])::before,
.swiper-slide:has(img.swiper-slide-image[alt="Capitec"])::after,
.swiper-slide-inner:has(img.swiper-slide-image[alt="Nedbank"])::before,
.swiper-slide-inner:has(img.swiper-slide-image[alt="Nedbank"])::after,
.swiper-slide-inner:has(img.swiper-slide-image[alt="Standard Bank"])::before,
.swiper-slide-inner:has(img.swiper-slide-image[alt="Standard Bank"])::after,
.swiper-slide-inner:has(img.swiper-slide-image[alt="First National Bank"])::before,
.swiper-slide-inner:has(img.swiper-slide-image[alt="First National Bank"])::after,
.swiper-slide-inner:has(img.swiper-slide-image[alt="Capitec"])::before,
.swiper-slide-inner:has(img.swiper-slide-image[alt="Capitec"])::after {
  opacity: 0 !important;
  background: transparent !important;
  filter: none !important;
  pointer-events: none !important;
}
/* Property form heading spacing */

.ws-property-enquiry-form .ws-form-intro h3 {
	margin: 0 0 12px !important;
}

.ws-property-enquiry-form .ws-form-intro p {
	margin: 0 0 24px !important;
}

/* POPIA consent checkbox and text alignment */

.ws-property-enquiry-form .ws-consent-row {
	margin-top: 16px !important;
	margin-bottom: 18px !important;
}

.ws-property-enquiry-form .wpcf7-acceptance .wpcf7-list-item {
	display: block !important;
	margin: 0 !important;
}

.ws-property-enquiry-form .wpcf7-acceptance label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 0 !important;
	cursor: pointer;
}

.ws-property-enquiry-form .wpcf7-acceptance input[type="checkbox"] {
	display: inline-block !important;
	position: static !important;

	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;

	margin: 3px 0 0 !important;
	padding: 0 !important;

	appearance: auto !important;
	-webkit-appearance: checkbox !important;

	border-radius: 0 !important;
	box-shadow: none !important;
	flex: 0 0 18px !important;
}

.ws-property-enquiry-form .wpcf7-acceptance .wpcf7-list-item-label {
	display: block !important;
	flex: 1 !important;
	color: inherit !important;
	line-height: 1.5 !important;
}
/* ==================================================
   FINAL MOBILE FIX — prevents text/button clipping
   Add this at the very bottom of the hero <style>
   ================================================== */

@media only screen and (max-width: 767px) {

	#ws-home-hero-v6 {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;

		height: auto !important;
		min-height: 0 !important;

		padding-top: 95px !important;
		padding-bottom: 105px !important;

		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	#ws-home-hero-v6 .ws-bg-stage,
	#ws-home-hero-v6 .ws-overlay,
	#ws-home-hero-v6 .ws-vignette,
	#ws-home-hero-v6 .ws-shine {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}

	#ws-home-hero-v6 .ws-bg-slide {
		background-size: cover !important;
		background-position: center bottom !important;
	}

	#ws-home-hero-v6 .ws-overlay {
		background:
			linear-gradient(90deg, rgba(0,0,0,0.86), rgba(0,0,0,0.52)),
			linear-gradient(180deg, rgba(0,0,0,0.42), rgba(0,0,0,0.74)) !important;
	}

	/* Stop mobile panels from being absolutely positioned */
	#ws-home-hero-v6 .ws-panel,
	#ws-home-hero-v6 .ws-panel-left,
	#ws-home-hero-v6 .ws-panel-right,
	#ws-home-hero-v6 .ws-panel-top {
		display: none !important;

		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;

		width: calc(100% - 36px) !important;
		max-width: calc(100% - 36px) !important;

		margin: 0 18px !important;
		padding: 0 !important;

		text-align: left !important;

		transform: none !important;
		opacity: 0 !important;
		filter: none !important;
		pointer-events: none !important;

		box-sizing: border-box !important;
	}

	#ws-home-hero-v6 .ws-panel.is-active {
		display: block !important;
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		pointer-events: auto !important;
		z-index: 20 !important;
	}

	#ws-home-hero-v6 .ws-panel-right .ws-logo,
	#ws-home-hero-v6 .ws-panel-top .ws-logo {
		margin-left: 0 !important;
		margin-right: 0 !important;
		object-position: left center !important;
	}

	#ws-home-hero-v6 .ws-logo {
		width: 215px !important;
		max-width: 88% !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 0 10px 0 !important;
	}

	#ws-home-hero-v6 .ws-kicker {
		display: flex !important;
		flex-wrap: wrap !important;
		font-size: 8.5px !important;
		line-height: 1.3 !important;
		letter-spacing: 1px !important;
		margin-bottom: 8px !important;
		gap: 7px !important;
	}

	#ws-home-hero-v6 .ws-kicker::before,
	#ws-home-hero-v6 .ws-kicker::after {
		width: 14px !important;
		flex: 0 0 14px !important;
	}

	#ws-home-hero-v6 .ws-title {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;

		font-size: clamp(31px, 9.8vw, 39px) !important;
		line-height: 1.05 !important;
		letter-spacing: -0.2px !important;

		white-space: normal !important;
		overflow: visible !important;
		overflow-wrap: normal !important;
		word-break: normal !important;

		margin: 0 !important;
		box-sizing: border-box !important;
	}

	#ws-home-hero-v6 .ws-rule {
		width: 76% !important;
		max-width: 260px !important;
		margin: 16px 0 16px 0 !important;
	}

	#ws-home-hero-v6 .ws-panel-right .ws-rule,
	#ws-home-hero-v6 .ws-panel-top .ws-rule,
	#ws-home-hero-v6 .ws-panel-right .ws-text,
	#ws-home-hero-v6 .ws-panel-top .ws-text {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#ws-home-hero-v6 .ws-text {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;

		font-size: 13.5px !important;
		line-height: 1.55 !important;

		margin: 0 0 20px 0 !important;

		white-space: normal !important;
		overflow: visible !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;

		box-sizing: border-box !important;
	}

	/* Fix buttons completely on mobile */
	#ws-home-hero-v6 .ws-actions {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;

		width: 100% !important;
		max-width: 100% !important;

		gap: 10px !important;
		padding: 0 !important;
		margin: 0 !important;

		box-sizing: border-box !important;
	}

	#ws-home-hero-v6 .ws-site-button {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 46px !important;

		flex-direction: row !important;
		align-items: stretch !important;
		justify-content: flex-start !important;

		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	#ws-home-hero-v6 .ws-site-button .ws-button-icon {
		width: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		flex: 0 0 44px !important;

		height: auto !important;
		min-height: 46px !important;

		box-sizing: border-box !important;
	}

	#ws-home-hero-v6 .ws-site-button .ws-button-text {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;

		min-height: 46px !important;

		padding: 0 12px !important;

		font-size: 10px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.3px !important;

		white-space: normal !important;
		text-align: center !important;

		box-sizing: border-box !important;
	}

	/* Hide coins on mobile for clean layout */
	#ws-home-hero-v6 .ws-coin-stage {
		display: none !important;
	}

	#ws-home-hero-v6 .ws-dots {
		top: auto !important;
		right: 50% !important;
		bottom: 58px !important;
		transform: translateX(50%) !important;

		display: flex !important;
		flex-direction: row !important;
		gap: 12px !important;
	}

	#ws-home-hero-v6 .ws-service-rail {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
	}

	#ws-home-hero-v6 .ws-service-track a {
		padding: 14px 22px !important;
		font-size: 10px !important;
		letter-spacing: 1px !important;
	}
}
/* =========================================================
   WESSELS & SMITH — COMPACT SERVICES MEGA MENU
   Add at the very bottom of style.css
   ========================================================= */

@media (min-width: 992px) {

  /* Smaller overall dropdown */
  #menu-item-37385 > ul.sub-menu {
    width: 980px !important;
    max-width: calc(100vw - 60px) !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px 10px !important;

    padding: 20px 22px 22px !important;

    /* Prevent the dropdown from covering short laptop screens */
    max-height: calc(100vh - 120px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;

    border-radius: 0 0 12px 12px !important;
  }

  /* Smaller Legal Services heading */
  #menu-item-37385 > ul.sub-menu::before {
    padding: 0 0 11px !important;
    margin-bottom: 4px !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
    letter-spacing: 2px !important;
  }

  /* Remove the forced 88px height */
  #menu-item-37385 > ul.sub-menu > li {
    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* Compact service blocks */
  #menu-item-37385 > ul.sub-menu > li > a {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;

    padding: 9px 12px 9px 43px !important;

    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(184, 150, 93, 0.18) !important;
    border-radius: 8px !important;

    /* Gold menu text */
    color: #b8965d !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;

    white-space: normal !important;
    overflow: visible !important;

    transform: none !important;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      color 0.2s ease !important;
  }

  /* Replace the diamond with the Wessels & Smith coin icon */
  #menu-item-37385 > ul.sub-menu > li > a::before {
    content: "" !important;

    position: absolute !important;
    left: 13px !important;
    top: 50% !important;

    width: 21px !important;
    height: 21px !important;

    transform: translateY(-50%) !important;

    background-color: transparent !important;
    background-image:
      url("https://owlytic.co.za/wessmith/wp-content/uploads/2026/07/Coin-Back.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    border: none !important;
    border-radius: 50% !important;
    box-shadow: none !important;

    opacity: 0.72 !important;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease !important;
  }

  /* Hover styling */
  #menu-item-37385 > ul.sub-menu > li > a:hover {
    background: rgba(184, 150, 93, 0.14) !important;
    border-color: rgba(184, 150, 93, 0.65) !important;
    color: #d7b977 !important;

    transform: none !important;
    box-shadow: none !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover::before {
    background-color: transparent !important;
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.08) !important;
    box-shadow: none !important;
  }

  /* Active/current service page */
  #menu-item-37385 > ul.sub-menu > li.current-menu-item > a,
  #menu-item-37385 > ul.sub-menu > li.current_page_item > a,
  #menu-item-37385 > ul.sub-menu > li.current-menu-ancestor > a {
    background: rgba(184, 150, 93, 0.18) !important;
    border-color: #b8965d !important;
    color: #d7b977 !important;
    box-shadow: inset 3px 0 0 #b8965d !important;
  }

  #menu-item-37385 > ul.sub-menu > li.current-menu-item > a::before,
  #menu-item-37385 > ul.sub-menu > li.current_page_item > a::before,
  #menu-item-37385 > ul.sub-menu > li.current-menu-ancestor > a::before {
    background-color: transparent !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }

  /* Mining & Prospecting Rights layout */
  #menu-item-37385 > ul.sub-menu > li > a[href*="mining"] {
    display: block !important;
    padding-top: 8px !important;
    padding-bottom: 7px !important;
  }

  /* Mining & Prospecting Rights subheading */
  #menu-item-37385 > ul.sub-menu > li > a[href*="mining"]::after {
    content: "Protection of Agricultural Property" !important;

    display: block !important;
    position: static !important;

    width: auto !important;
    height: auto !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    color: #c9c0b1 !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.15px !important;
    text-transform: none !important;

    border: none !important;
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
}


/* =========================================================
   MOBILE AND TABLET COLOUR ADJUSTMENTS
   ========================================================= */

@media (max-width: 991px) {

  #menu-item-37385 > ul.sub-menu > li > a {
    position: relative !important;
    padding: 11px 18px 11px 48px !important;
    color: #b8965d !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a::before {
    content: "" !important;

    position: absolute !important;
    left: 18px !important;
    top: 50% !important;

    width: 20px !important;
    height: 20px !important;

    transform: translateY(-50%) !important;

    background:
      transparent
      url("https://owlytic.co.za/wessmith/wp-content/uploads/2026/07/Coin-Back.png")
      center / contain no-repeat !important;

    border: none !important;
    box-shadow: none !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover,
  #menu-item-37385 > ul.sub-menu > li.current-menu-item > a,
  #menu-item-37385 > ul.sub-menu > li.current_page_item > a {
    color: #d7b977 !important;
    background: rgba(184, 150, 93, 0.12) !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a[href*="mining"]::after {
    content: "Protection of Agricultural Property" !important;
    display: block !important;

    margin-top: 3px !important;

    color: #c9c0b1 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    background: none !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
}
/* =========================================================
   WESSELS & SMITH — COMPACT SERVICES MEGA MENU
   Add at the very bottom of style.css
   ========================================================= */

@media (min-width: 992px) {

  /* Smaller overall dropdown */
  #menu-item-37385 > ul.sub-menu {
    width: 980px !important;
    max-width: calc(100vw - 60px) !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px 10px !important;

    padding: 20px 22px 22px !important;

    /* Prevent the dropdown from covering short laptop screens */
    max-height: calc(100vh - 120px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;

    border-radius: 0 0 12px 12px !important;
  }

  /* Smaller Legal Services heading */
  #menu-item-37385 > ul.sub-menu::before {
    padding: 0 0 11px !important;
    margin-bottom: 4px !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
    letter-spacing: 2px !important;
  }

  /* Remove the forced 88px height */
  #menu-item-37385 > ul.sub-menu > li {
    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* Compact service blocks */
  #menu-item-37385 > ul.sub-menu > li > a {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;

    padding: 9px 12px 9px 43px !important;

    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(184, 150, 93, 0.18) !important;
    border-radius: 8px !important;

    /* Gold menu text */
    color: #b8965d !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;

    white-space: normal !important;
    overflow: visible !important;

    transform: none !important;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      color 0.2s ease !important;
  }

  /* Replace the diamond with the Wessels & Smith coin icon */
  #menu-item-37385 > ul.sub-menu > li > a::before {
    content: "" !important;

    position: absolute !important;
    left: 13px !important;
    top: 50% !important;

    width: 21px !important;
    height: 21px !important;

    transform: translateY(-50%) !important;

    background-color: transparent !important;
    background-image:
      url("https://owlytic.co.za/wessmith/wp-content/uploads/2026/07/Coin-Back.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    border: none !important;
    border-radius: 50% !important;
    box-shadow: none !important;

    opacity: 0.72 !important;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease !important;
  }

  /* Hover styling */
  #menu-item-37385 > ul.sub-menu > li > a:hover {
    background: rgba(184, 150, 93, 0.14) !important;
    border-color: rgba(184, 150, 93, 0.65) !important;
    color: #d7b977 !important;

    transform: none !important;
    box-shadow: none !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover::before {
    background-color: transparent !important;
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.08) !important;
    box-shadow: none !important;
  }

  /* Active/current service page */
  #menu-item-37385 > ul.sub-menu > li.current-menu-item > a,
  #menu-item-37385 > ul.sub-menu > li.current_page_item > a,
  #menu-item-37385 > ul.sub-menu > li.current-menu-ancestor > a {
    background: rgba(184, 150, 93, 0.18) !important;
    border-color: #b8965d !important;
    color: #d7b977 !important;
    box-shadow: inset 3px 0 0 #b8965d !important;
  }

  #menu-item-37385 > ul.sub-menu > li.current-menu-item > a::before,
  #menu-item-37385 > ul.sub-menu > li.current_page_item > a::before,
  #menu-item-37385 > ul.sub-menu > li.current-menu-ancestor > a::before {
    background-color: transparent !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }

  /* Mining & Prospecting Rights layout */
  #menu-item-37385 > ul.sub-menu > li > a[href*="mining"] {
    display: block !important;
    padding-top: 8px !important;
    padding-bottom: 7px !important;
  }

  /* Mining & Prospecting Rights subheading */
  #menu-item-37385 > ul.sub-menu > li > a[href*="mining"]::after {
    content: "Protection of Agricultural Property" !important;

    display: block !important;
    position: static !important;

    width: auto !important;
    height: auto !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    color: #c9c0b1 !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.15px !important;
    text-transform: none !important;

    border: none !important;
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
}


/* =========================================================
   MOBILE AND TABLET COLOUR ADJUSTMENTS
   ========================================================= */

@media (max-width: 991px) {

  #menu-item-37385 > ul.sub-menu > li > a {
    position: relative !important;
    padding: 11px 18px 11px 48px !important;
    color: #b8965d !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a::before {
    content: "" !important;

    position: absolute !important;
    left: 18px !important;
    top: 50% !important;

    width: 20px !important;
    height: 20px !important;

    transform: translateY(-50%) !important;

    background:
      transparent
      url("https://owlytic.co.za/wessmith/wp-content/uploads/2026/07/Coin-Back.png")
      center / contain no-repeat !important;

    border: none !important;
    box-shadow: none !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a:hover,
  #menu-item-37385 > ul.sub-menu > li.current-menu-item > a,
  #menu-item-37385 > ul.sub-menu > li.current_page_item > a {
    color: #d7b977 !important;
    background: rgba(184, 150, 93, 0.12) !important;
  }

  #menu-item-37385 > ul.sub-menu > li > a[href*="mining"]::after {
    content: "Protection of Agricultural Property" !important;
    display: block !important;

    margin-top: 3px !important;

    color: #c9c0b1 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    background: none !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
}
/* =========================================================
   WESSELS & SMITH — FIX MEGA MENU ICONS
   Must remain below all previous mega-menu CSS
   ========================================================= */

/* Remove theme-generated markers from the menu items */
#menu-item-37385 > ul.sub-menu > li::before,
#menu-item-37385 > ul.sub-menu > li::after {
	content: none !important;
	display: none !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
}

/* Hide any separate icon element inserted by the theme */
#menu-item-37385 > ul.sub-menu > li > a > i,
#menu-item-37385 > ul.sub-menu > li > a > .menu-icon,
#menu-item-37385 > ul.sub-menu > li > a > .dropdown-icon {
	display: none !important;
}

/* Allow enough room for the corrected coin icon */
#menu-item-37385 > ul.sub-menu > li > a {
	padding-left: 47px !important;
}

/* Use exactly the same coin image on every service */
#menu-item-37385 > ul.sub-menu > li > a::before,
#menu-item-37385 > ul.sub-menu > li > a:hover::before,
#menu-item-37385 > ul.sub-menu > li.current-menu-item > a::before,
#menu-item-37385 > ul.sub-menu > li.current_page_item > a::before,
#menu-item-37385 > ul.sub-menu > li.current-menu-ancestor > a::before,
#menu-item-37385 > ul.sub-menu > li.current_page_ancestor > a::before {
	content: "" !important;

	display: block !important;
	position: absolute !important;

	left: 13px !important;
	top: 50% !important;

	width: 25px !important;
	height: 25px !important;
	min-width: 25px !important;
	min-height: 25px !important;

	background-color: transparent !important;
	background-image: url("https://owlytic.co.za/wessmith/wp-content/uploads/2026/07/Coin-Back.png") !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;

	border: none !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;

	opacity: 1 !important;
	filter: none !important;
	-webkit-filter: none !important;
	mix-blend-mode: normal !important;

	transform: translateY(-50%) !important;
	transform-origin: center !important;

	pointer-events: none !important;
}

/* Small, smooth emphasis when the service is hovered */
#menu-item-37385 > ul.sub-menu > li > a:hover::before {
	transform: translateY(-50%) scale(1.08) !important;
}

/* Keep the icon clear on the active service */
#menu-item-37385 > ul.sub-menu > li.current-menu-item > a::before,
#menu-item-37385 > ul.sub-menu > li.current_page_item > a::before,
#menu-item-37385 > ul.sub-menu > li.current-menu-ancestor > a::before,
#menu-item-37385 > ul.sub-menu > li.current_page_ancestor > a::before {
	transform: translateY(-50%) scale(1.08) !important;
}


/* Mobile and tablet icon alignment */
@media (max-width: 991px) {

	#menu-item-37385 > ul.sub-menu > li > a {
		padding-left: 50px !important;
	}

	#menu-item-37385 > ul.sub-menu > li > a::before,
	#menu-item-37385 > ul.sub-menu > li > a:hover::before,
	#menu-item-37385 > ul.sub-menu > li.current-menu-item > a::before,
	#menu-item-37385 > ul.sub-menu > li.current_page_item > a::before {
		left: 17px !important;

		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		min-height: 24px !important;
	}
}
/* =========================================================
   WESSELS & SMITH — EQUAL-HEIGHT TEAM CAROUSEL CARDS
   ========================================================= */

.ws-team-equal-height,
.ws-team-equal-height * {
	box-sizing: border-box;
}

/* Make the Owl Carousel stage stretch every card equally */
.ws-team-equal-height .owl-stage {
	display: flex !important;
	align-items: stretch !important;
}

/* Every Owl item becomes a full-height flex item */
.ws-team-equal-height .owl-item {
	display: flex !important;
	align-self: stretch !important;
	float: none !important;
	height: auto !important;
}

/* Stretch the carousel item wrapper */
.ws-team-equal-height .owl-carousel-item {
	display: flex !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	height: auto !important;
}

/* Turn the actual team card into a vertical flex container */
.ws-team-equal-height .team-inner {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;

	width: 100% !important;
	height: auto !important;
	min-height: 100% !important;
}

/* Keep the photograph at the top */
.ws-team-equal-height .team-inner .post-thumb {
	flex: 0 0 auto;
	width: 100%;
}

/* Keep the name area consistent */
.ws-team-equal-height .team-inner .entry-title {
	display: flex;
	align-items: flex-start;
	flex: 0 0 auto;

	min-height: 72px;
	margin: 0;
}

/* Remove unwanted spacing inside the title */
.ws-team-equal-height .team-inner .post-title-head {
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
}

/*
 * This section expands to consume the available space.
 * That pushes the designation and social links to the bottom.
 */
.ws-team-equal-height .team-inner .team-qualifications {
	flex: 1 1 auto;

	margin-bottom: 20px;
}

/* Keep the designation near the bottom of every card */
.ws-team-equal-height .team-inner .team-designation {
	flex: 0 0 auto;
	margin-top: auto;
}

/* Give the designation enough consistent space */
.ws-team-equal-height
.team-inner
.post-designation-head {
	min-height: 72px;
}

/* Keep social icons aligned along the bottom */
.ws-team-equal-height .team-inner .team-social-wrap {
	flex: 0 0 auto;

	margin-top: 18px;
}

/* Remove varying bottom margins from the social list */
.ws-team-equal-height
.team-inner
.team-social-wrap ul {
	margin-top: 0;
	margin-bottom: 0;
}

/* Ensure links and text do not break the card width */
.ws-team-equal-height .team-inner,
.ws-team-equal-height .team-inner a,
.ws-team-equal-height .team-inner div {
	overflow-wrap: anywhere;
}

/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width: 1024px) {
	.ws-team-equal-height .team-inner .entry-title {
		min-height: 68px;
	}

	.ws-team-equal-height
	.team-inner
	.post-designation-head {
		min-height: 68px;
	}
}

/* =========================================================
   MOBILE
   Each card may stand alone, so fixed text heights are removed.
   ========================================================= */

@media only screen and (max-width: 767px) {
	.ws-team-equal-height .team-inner .entry-title,
	.ws-team-equal-height
	.team-inner
	.post-designation-head {
		min-height: 0;
	}

	.ws-team-equal-height
	.team-inner
	.team-qualifications {
		margin-bottom: 18px;
	}
}
/* =========================================================
   WESSELS & SMITH — FULL-WIDTH TEAM PHOTOS
   Keeps equal-height cards and removes all white side gaps
   ========================================================= */

/* The complete card */
.ws-team-equal-height .team-inner {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;

	/* This padding caused the white strips */
	padding: 0 !important;

	overflow: hidden !important;

	background: #ffffff !important;

	border-radius: 28px 28px 18px 0 !important;
}

/* Remove spacing around the photograph */
.ws-team-equal-height .team-inner .post-thumb {
	display: block !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden !important;

	border-radius: 28px 28px 0 0 !important;

	line-height: 0 !important;
}

/* Make the clickable link fill the entire card width */
.ws-team-equal-height .team-inner .post-image-link {
	display: block !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	border-radius: 28px 28px 0 0 !important;

	line-height: 0 !important;
}

/* Make the actual image completely edge-to-edge */
.ws-team-equal-height .team-inner .post-thumb img,
.ws-team-equal-height .team-inner .post-image-link img {
	display: block !important;

	width: 100% !important;
	max-width: none !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 28px 28px 0 0 !important;

	object-fit: cover !important;
	object-position: center top !important;

	vertical-align: top !important;
}

/* Restore proper spacing only to the text sections */
.ws-team-equal-height .team-inner .entry-title {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;

	flex: 0 0 auto !important;

	width: 100% !important;
	min-height: 72px !important;

	margin: 0 !important;
	padding: 22px 18px 8px !important;

	text-align: center !important;
}

.ws-team-equal-height .team-inner .post-title-head {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

/* Qualifications fill the flexible middle area */
.ws-team-equal-height .team-inner .team-qualifications {
	flex: 1 1 auto !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 8px 22px 20px !important;

	text-align: center !important;
}

/* Keep every designation aligned near the bottom */
.ws-team-equal-height .team-inner .team-designation {
	flex: 0 0 auto !important;

	width: 100% !important;

	margin-top: auto !important;
	padding: 0 18px !important;

	text-align: center !important;
}

.ws-team-equal-height .team-inner .post-designation-head {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 72px !important;

	margin: 0 !important;
	padding: 8px 0 !important;
}

/* Keep social icons aligned along the bottom */
.ws-team-equal-height .team-inner .team-social-wrap {
	flex: 0 0 auto !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 18px 18px 20px !important;

	text-align: center !important;
}

.ws-team-equal-height .team-inner .team-social-wrap ul {
	display: flex !important;
	justify-content: center !important;

	margin: 0 !important;
	padding: 0 !important;
}

/* Ensure Owl Carousel itself does not add inner spacing */
.ws-team-equal-height .owl-carousel-item {
	display: flex !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

/* Tablet */
@media only screen and (max-width: 1024px) {
	.ws-team-equal-height .team-inner .entry-title,
	.ws-team-equal-height .team-inner .post-designation-head {
		min-height: 68px !important;
	}
}

/* Mobile */
@media only screen and (max-width: 767px) {
	.ws-team-equal-height .team-inner .entry-title,
	.ws-team-equal-height .team-inner .post-designation-head {
		min-height: 0 !important;
	}

	.ws-team-equal-height .team-inner .entry-title {
		padding: 20px 16px 8px !important;
	}

	.ws-team-equal-height .team-inner .team-qualifications {
		padding: 8px 18px 18px !important;
	}
}
/* Wessels & Smith top-bar email and address spacing */

ul.topbar-ul.right-element-exist {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 3px !important;
}

ul.topbar-ul.right-element-exist > li {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

ul.topbar-ul.right-element-exist > li + li {
	margin-left: 3px !important;
}

ul.topbar-ul.right-element-exist address {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-style: normal !important;
}

ul.topbar-ul.right-element-exist .bi-envelope,
ul.topbar-ul.right-element-exist .bi-geo-alt {
	display: inline-flex !important;
	align-items: center !important;
	margin-right: 7px !important;
}

/* Specifically ensure the address icon is not against the email */
ul.topbar-ul.right-element-exist > li:nth-child(2) .bi-geo-alt {
	margin-left: 3px !important;
}
/* =========================================================
   WESSELS & SMITH
   HEADER MENU ARROWS + GTRANSLATE MENU SWITCHER
   ========================================================= */

.primary-menu-wrapper {
	--ws-menu-gold: #B89A5B;
	--ws-menu-gold-light: #E6D0A2;
	--ws-menu-black: #0B0B0B;
	--ws-menu-charcoal: #1A1A1A;
	--ws-menu-white: #FFFFFF;
}

/* =========================================================
   FIX ALL HEADER DROPDOWN ARROWS
   Keeps each arrow beside the menu text
   ========================================================= */

.primary-menu-wrapper
.primary-menu
> li.menu-item-has-children
> a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;

	position: relative !important;

	width: auto !important;
	min-width: 0 !important;

	padding-right: 0 !important;

	white-space: nowrap !important;
}

/*
 * GTranslate inserts nested FONT elements when a page
 * has been translated. Keep those wrappers inline so
 * they do not interfere with menu positioning.
 */
.primary-menu-wrapper
.primary-menu
> li
> a
> font,
.primary-menu-wrapper
.primary-menu
> li
> a
> font
> font {
	display: inline !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: baseline !important;
}

/*
 * Reset the theme's absolutely positioned dropdown arrow.
 */
.primary-menu-wrapper
.primary-menu
> li.menu-item-has-children
> a::after {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;

	display: inline-block !important;
	flex: 0 0 auto !important;

	width: auto !important;
	height: auto !important;

	margin: 0 0 0 2px !important;

	line-height: 1 !important;

	transform: none !important;
	translate: none !important;

	float: none !important;
	vertical-align: middle !important;
}

/*
 * Some versions of the theme place the arrow on the LI.
 * Hide that duplicate only when the anchor already has one.
 */
.primary-menu-wrapper
.primary-menu
> li.menu-item-has-children::before,
.primary-menu-wrapper
.primary-menu
> li.menu-item-has-children::after {
	pointer-events: none !important;
}

/* Give dropdown items enough room for longer Afrikaans text */
.primary-menu-wrapper
.primary-menu
> li
> .sub-menu
a {
	display: flex !important;
	align-items: center !important;

	white-space: normal !important;
	line-height: 1.35 !important;
}

/* =========================================================
   GTRANSLATE — DESKTOP HEADER BUTTON
   ========================================================= */

.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate {
	position: relative !important;

	display: flex !important;
	align-items: center !important;

	margin-left: 14px !important;
	padding: 0 !important;
}

/* Main current-language button */
.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate
> a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;

	min-width: 78px !important;
	height: 40px !important;

	margin: 0 !important;
	padding: 0 13px !important;

	border: 1px solid rgba(184, 154, 91, 0.82) !important;
	border-radius: 0 0 13px 0 !important;

	background:
		linear-gradient(
			135deg,
			#080808 0%,
			#1A160F 55%,
			#090909 100%
		) !important;

	color: var(--ws-menu-gold-light) !important;
	text-decoration: none !important;

	box-shadow:
		0 6px 18px rgba(0, 0, 0, 0.24),
		inset 0 0 0 1px rgba(230, 208, 162, 0.06) !important;

	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease !important;
}

/* Hide standard flags and GTranslate's original code */
.primary-menu-wrapper
.menu-item-gtranslate
a.glink
img,
.primary-menu-wrapper
.menu-item-gtranslate
a.glink
span {
	display: none !important;
}

/* English code */
.primary-menu-wrapper
.menu-item-gtranslate
a.glink[data-gt-lang="en"]::before {
	content: "EN";

	display: inline-block !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	letter-spacing: 1px !important;
	color: inherit !important;
}

/* Afrikaans code */
.primary-menu-wrapper
.menu-item-gtranslate
a.glink[data-gt-lang="af"]::before {
	content: "AFR";

	display: inline-block !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	letter-spacing: 1px !important;
	color: inherit !important;
}

/* Replace the theme arrow with a controlled chevron */
.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate
> a::after {
	content: "" !important;

	display: block !important;
	flex: 0 0 auto !important;

	width: 6px !important;
	height: 6px !important;

	margin: -3px 0 0 2px !important;

	border: 0 !important;
	border-right: 1px solid currentColor !important;
	border-bottom: 1px solid currentColor !important;

	font-size: 0 !important;

	transform: rotate(45deg) !important;
	transition: transform 0.25s ease !important;
}

/* Hover */
.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate:hover
> a,
.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate
> a:hover,
.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate
> a:focus {
	border-color: var(--ws-menu-gold-light) !important;

	background:
		linear-gradient(
			135deg,
			#C7A55E 0%,
			#9D7735 100%
		) !important;

	color: var(--ws-menu-black) !important;

	box-shadow:
		0 9px 24px rgba(0, 0, 0, 0.3),
		0 0 20px rgba(184, 154, 91, 0.2) !important;

	transform: translateY(-1px) !important;
}

.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate:hover
> a::after {
	transform: rotate(225deg) !important;
	margin-top: 3px !important;
}

/* =========================================================
   GTRANSLATE DROPDOWN
   ========================================================= */

.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate
> ul.sub-menu,
.primary-menu-wrapper
.primary-menu
> li.menu-item-gtranslate
> ul.dropdown-menu {
	position: absolute !important;

	top: calc(100% + 8px) !important;
	right: 0 !important;
	left: auto !important;

	width: 126px !important;
	min-width: 126px !important;

	margin: 0 !important;
	padding: 6px !important;

	overflow: hidden !important;

	border: 1px solid rgba(184, 154, 91, 0.72) !important;
	border-radius: 0 0 13px 0 !important;

	background: var(--ws-menu-black) !important;

	box-shadow:
		0 15px 36px rgba(0, 0, 0, 0.42),
		0 0 18px rgba(184, 154, 91, 0.1) !important;
}

/* Remove theme dropdown arrows from language choices */
.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
li::before,
.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
li::after,
.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
a::after {
	display: none !important;
	content: none !important;
}

/* Dropdown options */
.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
li {
	display: block !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	background: transparent !important;
}

.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
a.glink {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;

	width: 100% !important;
	min-height: 39px !important;

	margin: 0 !important;
	padding: 0 13px !important;

	border: 0 !important;
	border-bottom: 1px solid rgba(184, 154, 91, 0.15) !important;
	border-radius: 0 !important;

	background: transparent !important;
	color: rgba(255, 255, 255, 0.78) !important;

	text-decoration: none !important;

	transition:
		background 0.2s ease,
		color 0.2s ease,
		padding-left 0.2s ease !important;
}

.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
li:last-child
a.glink {
	border-bottom: 0 !important;
}

.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
a.glink:hover,
.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
a.glink:focus {
	padding-left: 17px !important;

	background: rgba(184, 154, 91, 0.14) !important;
	color: var(--ws-menu-gold-light) !important;
}

/* Current language inside the dropdown */
.primary-menu-wrapper
.menu-item-gtranslate
.sub-menu
a.gt-current-lang {
	background: var(--ws-menu-gold) !important;
	color: var(--ws-menu-black) !important;
}

/* =========================================================
   DESKTOP MENU SPACING
   Prevent text and arrows from colliding
   ========================================================= */

@media only screen and (min-width: 1025px) {
	.primary-menu-wrapper
	.primary-menu
	> li {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li
	> a {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-has-children
	> a {
		padding-right: 12px !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-gtranslate
	> a {
		padding-left: 13px !important;
		padding-right: 13px !important;
	}
}

/* =========================================================
   TABLET AND MOBILE MENU
   ========================================================= */

@media only screen and (max-width: 1024px) {

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-has-children
	> a {
		display: flex !important;
		justify-content: space-between !important;

		width: 100% !important;

		padding-right: 16px !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-has-children
	> a::after {
		margin-left: auto !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-gtranslate {
		display: block !important;

		margin: 12px 14px !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-gtranslate
	> a {
		display: flex !important;
		justify-content: space-between !important;

		width: 100% !important;
		height: 44px !important;

		padding: 0 15px !important;
	}

	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-gtranslate
	> ul.sub-menu,
	.primary-menu-wrapper
	.primary-menu
	> li.menu-item-gtranslate
	> ul.dropdown-menu {
		position: static !important;

		width: 100% !important;
		min-width: 100% !important;

		margin-top: 7px !important;
	}
}
/* =========================================================
   WESSELS & SMITH — SINGLE ARTICLE META
   Does not affect the Articles archive
   ========================================================= */

body.single-post .top-meta-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;

	position: static !important;
	inset: auto !important;

	gap: 10px 22px !important;

	width: 100% !important;
	height: auto !important;

	margin: 18px 0 30px !important;
	padding: 13px 0 !important;

	clear: both !important;
	float: none !important;
	transform: none !important;

	border-top: 1px solid rgba(184, 154, 91, 0.32) !important;
	border-bottom: 1px solid rgba(184, 154, 91, 0.32) !important;

	background: transparent !important;
	box-shadow: none !important;
}

/* Reset both lists */
body.single-post .top-meta-wrap > ul.nav.post-meta {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;

	position: static !important;
	inset: auto !important;

	gap: 8px 14px !important;

	width: auto !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	float: none !important;
	transform: none !important;

	background: transparent !important;
	list-style: none !important;
}

/* Keep the date on the right */
body.single-post
.top-meta-wrap
> ul.nav.post-meta.pull-right {
	margin-left: auto !important;
}

/* Reset every meta item */
body.single-post .top-meta-wrap .post-meta > li {
	display: inline-flex !important;
	align-items: center !important;

	position: static !important;
	inset: auto !important;

	gap: 7px !important;

	width: auto !important;
	height: auto !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	float: none !important;
	transform: none !important;

	border: 0 !important;
	border-radius: 0 !important;

	background: transparent !important;
	box-shadow: none !important;
}

/* Author and category styling */
body.single-post .top-meta-wrap .post-author,
body.single-post .top-meta-wrap .post-category {
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: 0.45px !important;
	text-transform: uppercase !important;
}

/* Elegant divider between author and category */
body.single-post .top-meta-wrap .post-category {
	margin-left: 2px !important;
	padding-left: 15px !important;

	border-left: 1px solid rgba(184, 154, 91, 0.48) !important;
}

/* Author and category links */
body.single-post .top-meta-wrap .post-author a,
body.single-post .top-meta-wrap .post-category a {
	display: inline !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #5F6268 !important;
	text-decoration: none !important;

	background: transparent !important;
}

body.single-post .top-meta-wrap .post-author a:hover,
body.single-post .top-meta-wrap .post-category a:hover {
	color: #B89A5B !important;
}

/* General meta icons */
body.single-post .top-meta-wrap .post-meta .bi {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	position: static !important;

	width: auto !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #B89A5B !important;
	font-size: 14px !important;
	line-height: 1 !important;

	background: transparent !important;
	transform: none !important;
}

/* Date — clean text rather than a large gold box */
body.single-post .top-meta-wrap li.post-date {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;

	position: static !important;
	inset: auto !important;

	width: auto !important;
	height: auto !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 0 0 18px !important;

	float: none !important;
	transform: none !important;

	border: 0 !important;
	border-left: 1px solid rgba(184, 154, 91, 0.48) !important;
	border-radius: 0 !important;

	background: transparent !important;
	box-shadow: none !important;
}

/* Date link and text */
body.single-post .top-meta-wrap li.post-date a,
body.single-post .top-meta-wrap li.post-date time {
	display: inline !important;

	position: static !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #B89A5B !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: 0.45px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;

	background: transparent !important;
	transform: none !important;
}

/* Remove all theme-generated dots, shapes and decorations */
body.single-post .top-meta-wrap::before,
body.single-post .top-meta-wrap::after,
body.single-post .top-meta-wrap ul::before,
body.single-post .top-meta-wrap ul::after,
body.single-post .top-meta-wrap li::before,
body.single-post .top-meta-wrap li::after,
body.single-post .top-meta-wrap a::before,
body.single-post .top-meta-wrap a::after {
	content: none !important;
	display: none !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width: 900px) {

	body.single-post .top-meta-wrap {
		align-items: flex-start !important;
	}

	body.single-post
	.top-meta-wrap
	> ul.nav.post-meta.pull-right {
		margin-left: 0 !important;
	}

	body.single-post .top-meta-wrap li.post-date {
		padding-left: 0 !important;
		border-left: 0 !important;
	}
}

/* =========================================================
   MOBILE
   ========================================================= */

@media only screen and (max-width: 600px) {

	body.single-post .top-meta-wrap {
		display: block !important;

		margin: 16px 0 26px !important;
		padding: 12px 0 !important;
	}

	body.single-post .top-meta-wrap > ul.nav.post-meta {
		width: 100% !important;
	}

	body.single-post
	.top-meta-wrap
	> ul.nav.post-meta.pull-right {
		margin-top: 11px !important;
		margin-left: 0 !important;
	}

	body.single-post .top-meta-wrap .post-category {
		padding-left: 12px !important;
	}

	body.single-post .top-meta-wrap li.post-date {
		padding-left: 0 !important;
		border-left: 0 !important;
	}
}
/* =========================================================
   SINGLE POST META — FINAL ALIGNMENT PATCH
   ========================================================= */

body.single-post .top-meta-wrap {
	align-items: center !important;
}

/* Left author/category group */
body.single-post
.top-meta-wrap
> ul.nav.post-meta:first-child {
	align-items: center !important;
	align-self: center !important;
}

/* Right date group */
body.single-post
.top-meta-wrap
> ul.nav.post-meta.pull-right {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
	justify-content: flex-start !important;

	min-height: 44px !important;

	margin: 0 0 0 auto !important;
	padding: 0 0 0 18px !important;

	border-left: 1px solid rgba(184, 154, 91, 0.48) !important;
}

/* Keep icon and date on exactly the same line */
body.single-post
.top-meta-wrap
> ul.nav.post-meta.pull-right
> li.post-date {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	align-content: center !important;

	gap: 8px !important;

	width: auto !important;
	height: auto !important;
	min-height: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	background: transparent !important;
}

/* Reset icon */
body.single-post
.top-meta-wrap
li.post-date
> span.bi {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	flex: 0 0 auto !important;

	position: static !important;

	width: 15px !important;
	height: 15px !important;

	margin: 0 !important;
	padding: 0 !important;

	font-size: 13px !important;
	line-height: 15px !important;
	vertical-align: middle !important;

	transform: none !important;
}

/* Reset date link */
body.single-post
.top-meta-wrap
li.post-date
> a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	align-self: center !important;
	flex: 0 0 auto !important;

	position: static !important;

	width: auto !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	line-height: 1 !important;
	vertical-align: middle !important;

	transform: none !important;
}

/* Date text */
body.single-post
.top-meta-wrap
li.post-date
> a
> time {
	display: inline-block !important;

	position: static !important;

	width: auto !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	font-size: 12px !important;
	line-height: 15px !important;
	vertical-align: middle !important;

	white-space: nowrap !important;
	transform: none !important;
}

/* Ensure the left-side icons and wording also share one baseline */
body.single-post .top-meta-wrap .post-author,
body.single-post .top-meta-wrap .post-category {
	align-items: center !important;
	line-height: 15px !important;
}

body.single-post .top-meta-wrap .post-author > a,
body.single-post .top-meta-wrap .post-category > a {
	line-height: 15px !important;
}

/* Mobile */
@media only screen and (max-width: 600px) {
	body.single-post
	.top-meta-wrap
	> ul.nav.post-meta.pull-right {
		margin-top: 11px !important;
		margin-left: 0 !important;
		padding-left: 0 !important;

		border-left: 0 !important;
	}
}