/* Web Designer Durban Header & Footer */
:root {
	--wdbd-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--wdbd-green: #0e9f6e;
	--wdbd-green-dark: #0b7f58;
	--wdbd-green-light: #14b37d;
	--wdbd-lime: #8cc63f;
	--wdbd-tint: #e9f7f0;
	--wdbd-tint-2: #f3faf6;
	--wdbd-forest: #0b3d2e;
	--wdbd-ink: #0f172a;
	--wdbd-slate: #334155;
	--wdbd-muted: #64748b;
	--wdbd-border: #e2e8f0;
	--wdbd-footer: #0b0c0b;
	--wdbd-admin-bar: 0px;
}
body.admin-bar { --wdbd-admin-bar: 32px; }
@media (max-width: 782px) { body.admin-bar { --wdbd-admin-bar: 46px; } }

body.wdbd-hide-theme-hf .site-header:not(.wdbd-header),
body.wdbd-hide-theme-hf #masthead,
body.wdbd-hide-theme-hf header#site-header,
body.wdbd-hide-theme-hf .site-footer:not(.wdbd-footer),
body.wdbd-hide-theme-hf #colophon,
body.wdbd-hide-theme-hf footer#site-footer { display: none !important; }

.wdbd-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }
@media (max-width: 1024px) { .wdbd-wrap { padding: 0 24px; } }
@media (max-width: 640px)  { .wdbd-wrap { padding: 0 16px; } }

.wdbd-header *, .wdbd-footer *, .wdbd-header *::before, .wdbd-footer *::before { box-sizing: border-box; }
.wdbd-header, .wdbd-footer { font-family: var(--wdbd-font); line-height: 1.5; }
.wdbd-header a, .wdbd-footer a { text-decoration: none; }

/* ============================== HEADER ============================== */
.wdbd-header { position: sticky; top: var(--wdbd-admin-bar); z-index: 999; width: 100%; }
.wdbd-header--static { position: relative; top: 0; }

.wdbd-topbar { background: var(--wdbd-forest); color: var(--wdbd-tint); font-size: 12px; line-height: 16px; }
.wdbd-topbar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 8px; padding-bottom: 8px; }
.wdbd-topbar-l { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.wdbd-topbar a, .wdbd-topbar-r { color: var(--wdbd-tint); display: inline-flex; align-items: center; gap: 6px; }
.wdbd-topbar a:hover { color: #fff; }
.wdbd-topbar i { font-size: 11px; color: var(--wdbd-lime); }

.wdbd-nav {
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--wdbd-border);
	transition: box-shadow .2s ease; position: relative;
}
.wdbd-header.is-scrolled .wdbd-nav { box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04); }
.wdbd-nav-in { display: flex; align-items: center; min-height: 72px; gap: 16px; }

.wdbd-logo { display: inline-flex; align-items: center; margin-right: auto; color: var(--wdbd-ink); font-weight: 800; font-size: 18px; }
.wdbd-logo img { display: block; height: var(--wdbd-logo-h, 44px); width: auto; max-width: 100%; }
@media (max-width: 640px) { .wdbd-logo img { height: var(--wdbd-logo-h-m, 34px); } }

.wdbd-menu { display: flex; align-items: center; gap: 2px; }
.wdbd-menu ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.wdbd-menu li { margin: 0; }
.wdbd-header .wdbd-link,
.wdbd-header button.wdbd-link,
.wdbd-menu li > a {
	all: unset; box-sizing: border-box;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 12px; border-radius: 10px;
	font-family: var(--wdbd-font); font-size: 14px; font-weight: 600; line-height: 20px;
	color: var(--wdbd-slate); cursor: pointer;
	transition: background-color .15s, color .15s;
}
.wdbd-header .wdbd-link:hover, .wdbd-menu li > a:hover,
.wdbd-header .wdbd-link:focus-visible { background: var(--wdbd-tint-2); color: var(--wdbd-ink); }
.wdbd-header .wdbd-link.is-active,
.wdbd-menu li.current-menu-item > a { color: var(--wdbd-green); background: var(--wdbd-tint); }
.wdbd-header .wdbd-link:focus-visible { outline: 2px solid var(--wdbd-green); outline-offset: 2px; }
.wdbd-dd-btn i { font-size: 10px; transition: transform .2s; }
.wdbd-dd.is-open .wdbd-dd-btn i { transform: rotate(180deg); }

.wdbd-cta, .wdbd-header a.wdbd-cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 11px 20px; border-radius: 10px;
	background: var(--wdbd-green); color: #fff !important;
	font-size: 14px; font-weight: 700; line-height: 20px;
	box-shadow: 0 8px 20px -10px rgba(14,159,110,.7);
	transition: background-color .15s, transform .15s; white-space: nowrap;
}
.wdbd-cta:hover { background: var(--wdbd-green-dark); transform: translateY(-1px); }

/* Services mega menu */
.wdbd-dd { position: relative; }
.wdbd-mega {
	position: absolute; top: calc(100% + 18px); left: 50%;
	width: 560px; padding: 12px;
	background: #fff; border: 1px solid var(--wdbd-border); border-radius: 16px;
	box-shadow: 0 20px 40px -12px rgba(0,0,0,.18), 0 4px 10px rgba(0,0,0,.04);
	opacity: 0; visibility: hidden; transform: translate(-50%, 6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 1000;
}
.wdbd-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -20px; height: 20px; }
.wdbd-dd.is-open .wdbd-mega { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.wdbd-mega-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.wdbd-mega-item { display: flex; gap: 12px; padding: 12px; border-radius: 14px; color: var(--wdbd-ink); transition: background-color .15s; }
.wdbd-mega-item:hover, .wdbd-mega-item.is-active { background: var(--wdbd-tint-2); }
.wdbd-mega-ic {
	flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px;
	background: var(--wdbd-tint); color: var(--wdbd-green);
	display: inline-flex; align-items: center; justify-content: center; font-size: 14px;
	transition: background-color .15s, color .15s;
}
.wdbd-mega-item:hover .wdbd-mega-ic { background: var(--wdbd-green); color: #fff; }
.wdbd-mega-txt { display: flex; flex-direction: column; gap: 2px; }
.wdbd-mega-txt strong { font-size: 14px; font-weight: 700; color: var(--wdbd-ink); line-height: 20px; }
.wdbd-mega-txt small { font-size: 12px; color: var(--wdbd-muted); line-height: 16px; }
.wdbd-mega-foot {
	margin-top: 8px; padding: 12px 16px; border-radius: 12px;
	background: linear-gradient(135deg, var(--wdbd-forest), #0f4a38); color: var(--wdbd-tint);
	display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; font-weight: 600;
}
.wdbd-mega-foot a { color: var(--wdbd-lime); font-weight: 700; }
.wdbd-mega-foot a:hover { color: #fff; }

/* Burger & mobile panel */
.wdbd-header button.wdbd-burger {
	all: unset; box-sizing: border-box;
	display: none; width: 42px; height: 42px; border-radius: 10px; cursor: pointer;
	flex-direction: column; align-items: center; justify-content: center; gap: 5px;
	border: 1px solid var(--wdbd-border); background: #fff;
}
.wdbd-burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--wdbd-ink); transition: transform .2s, opacity .2s; }
.wdbd-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.wdbd-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.wdbd-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.wdbd-mobile {
	background: #fff; border-top: 1px solid var(--wdbd-border);
	max-height: calc(100vh - 104px - var(--wdbd-admin-bar)); overflow-y: auto;
	padding: 12px 0 20px; box-shadow: 0 20px 30px -15px rgba(0,0,0,.2);
}
.wdbd-mobile[hidden] { display: none; }
.wdbd-mobile ul { list-style: none; margin: 0; padding: 0; }
.wdbd-m-link, .wdbd-mobile li > a { display: block; padding: 12px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--wdbd-slate); }
.wdbd-m-link:hover, .wdbd-mobile li > a:hover { background: var(--wdbd-tint-2); }
.wdbd-m-label { margin: 8px 12px 4px; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--wdbd-green); }
.wdbd-m-services { display: grid; grid-template-columns: 1fr; gap: 2px; margin-bottom: 4px; }
.wdbd-m-services a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--wdbd-ink); }
.wdbd-m-services a:hover { background: var(--wdbd-tint-2); }
.wdbd-m-services .wdbd-mega-ic { flex-basis: 32px; width: 32px; height: 32px; font-size: 13px; }
.wdbd-cta--block { display: flex; margin-top: 12px; width: 100%; padding: 12px 20px; }

@media (min-width: 640px) { .wdbd-m-services { grid-template-columns: 1fr 1fr; } }
@media (max-width: 1023px) {
	.wdbd-menu { display: none; }
	.wdbd-header .wdbd-nav-in > a.wdbd-cta { margin-left: auto; }
	.wdbd-header button.wdbd-burger { display: inline-flex; }
}
@media (max-width: 560px) { .wdbd-header .wdbd-nav-in > a.wdbd-cta { display: none; } }
@media (max-width: 640px) {
	.wdbd-topbar-r, .wdbd-hide-xs { display: none !important; }
	.wdbd-topbar-in { justify-content: center; }
}

/* ============================== FOOTER ============================== */
.wdbd-footer { background: var(--wdbd-footer); color: #cbd5e1; font-size: 14px; }
.wdbd-footer-cta { border-bottom: 1px solid rgba(255,255,255,.08); }
.wdbd-footer-cta-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 40px; padding-bottom: 40px; flex-wrap: wrap; }
.wdbd-footer-cta h2 { margin: 0; font-family: var(--wdbd-font); font-size: clamp(22px, 3vw, 30px); font-weight: 800; color: #fff; line-height: 1.2; letter-spacing: -.02em; }
.wdbd-footer-cta h2 em { font-style: normal; background: linear-gradient(90deg, #14b37d, var(--wdbd-lime)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wdbd-footer-cta p { margin: 6px 0 0; color: #94a3b8; }
.wdbd-footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; padding-top: 56px; padding-bottom: 56px; }
.wdbd-f-brand .wdbd-logo { margin: 0; }
.wdbd-f-brand .wdbd-logo img { height: var(--wdbd-flogo-h, 40px); }
.wdbd-f-brand p { margin: 18px 0 20px; color: #94a3b8; font-size: 14px; line-height: 1.7; }
.wdbd-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.wdbd-socials a {
	width: 38px; height: 38px; border-radius: 10px;
	border: 1px solid rgba(255,255,255,.14); color: #cbd5e1;
	display: inline-flex; align-items: center; justify-content: center; font-size: 14px; transition: all .15s;
}
.wdbd-socials a:hover { background: var(--wdbd-green); border-color: var(--wdbd-green); color: #fff; }
.wdbd-f-col h3 { margin: 4px 0 16px; padding: 0; font-family: var(--wdbd-font); font-size: 13px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: #fff; line-height: 20px; }
.wdbd-f-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wdbd-f-col li { margin: 0; line-height: 1.5; }
.wdbd-footer a { color: #cbd5e1; transition: color .15s; }
.wdbd-footer a:hover { color: var(--wdbd-lime); }
.wdbd-f-contact li { display: flex; gap: 12px; align-items: flex-start; }
.wdbd-f-contact i { color: var(--wdbd-lime); width: 16px; text-align: center; margin-top: 4px; font-size: 13px; }
.wdbd-f-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.wdbd-f-bottom-in { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; font-size: 12px; color: #94a3b8; }
.wdbd-f-legal { display: flex; gap: 16px; flex-wrap: wrap; }
@media (max-width: 1023px) { .wdbd-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
	.wdbd-footer-grid { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; padding-bottom: 40px; }
	.wdbd-f-bottom-in { flex-direction: column; text-align: center; }
}

/* ===================== CONTACT OPTIONS (replaces the old quote form) ===================== */
.wdbd-contact-options { display: grid; gap: 12px; margin-top: 16px; font-family: var(--wdbd-font); }
.wdbd-contact-options a {
	display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px;
	border: 1px solid var(--wdbd-border); background: #fff; color: var(--wdbd-ink); text-decoration: none;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.wdbd-contact-options a:hover { border-color: var(--wdbd-green); box-shadow: 0 12px 24px -16px rgba(14,159,110,.6); transform: translateY(-1px); }
.wdbd-contact-options .wdbd-co-ic { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--wdbd-tint); color: var(--wdbd-green); font-size: 17px; }
.wdbd-contact-options .wdbd-co-wa .wdbd-co-ic { background: #e7f8ee; color: #1fa855; }
.wdbd-contact-options strong { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; }
.wdbd-contact-options small { display: block; font-size: 13px; color: var(--wdbd-muted); line-height: 1.4; word-break: break-word; }
.wdbd-contact-options .wdbd-co-main { background: var(--wdbd-green); border-color: var(--wdbd-green); color: #fff; }
.wdbd-contact-options .wdbd-co-main small { color: rgba(255,255,255,.85); }
.wdbd-contact-options .wdbd-co-main .wdbd-co-ic { background: rgba(255,255,255,.18); color: #fff; }
.wdbd-contact-options .wdbd-co-main:hover { background: var(--wdbd-green-dark); }
