/* G&G Invest: secties. Rijen krijgen een klasse via het veld "Extra class name" in WPBakery. */

/* Hero (home) en paginakop (subpagina's) */
body.gg .gg-hero,
body.gg .gg-paginakop {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	min-height: 600px;
}
body.gg .gg-hero > .row-bg-wrap,
body.gg .gg-paginakop > .row-bg-wrap { box-shadow: 0 4px 4px rgba(0, 0, 0, .25); }
body.gg .gg-paginakop { min-height: 460px; }
body.gg .gg-hero > .row_col_wrap_12,
body.gg .gg-paginakop > .row_col_wrap_12 { width: 100%; position: relative; z-index: 2; }
body.gg .gg-hero > .row-bg-wrap .row-bg,
body.gg .gg-paginakop > .row-bg-wrap .row-bg {
	animation: gg-kenburns 18s var(--gg-ease) both;
}
@keyframes gg-kenburns {
	from { transform: scale(1.12); }
	to { transform: scale(1); }
}
body.gg .gg-hero > .row-bg-wrap::after,
body.gg .gg-paginakop > .row-bg-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 55% at 50% 48%, rgba(20, 8, 10, .42), rgba(20, 8, 10, 0) 70%), linear-gradient(180deg, rgba(20, 8, 10, .18), rgba(20, 8, 10, 0) 35%);
	pointer-events: none;
}
body.gg .gg-paginakop > .row-bg-wrap::after {
	background: linear-gradient(100deg, rgba(42, 17, 22, .86) 0%, rgba(42, 17, 22, .62) 45%, rgba(42, 17, 22, .2) 100%);
}
body.gg .gg-hero h1,
body.gg .gg-hero .nectar-split-heading h1 {
	font-family: var(--gg-body) !important;
	font-weight: 700 !important;
	font-size: clamp(36px, 3.2vw, 54px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.02em !important;
	color: #fff !important;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .25);
	max-width: 820px;
	margin: 0 auto 18px;
}
body.gg .gg-hero .gg-intro,
body.gg .gg-paginakop .gg-intro {
	color: rgba(255, 255, 255, .92);
	text-shadow: 0 1px 12px rgba(0, 0, 0, .3);
	max-width: 640px;
}
body.gg .gg-hero .gg-intro { margin: 0 auto; }
body.gg .gg-paginakop h1 { color: #fff; max-width: 760px; }
body.gg .gg-paginakop .gg-intro { margin: 0; }

/* Het grote g&g-merkteken */
body.gg .gg-hero::after,
body.gg .gg-paginakop::after {
	content: "";
	position: absolute;
	z-index: 1;
	right: calc(-8.9vw - (100vw - 100%) / 2);
	bottom: -7vw;
	width: 34.8vw;
	aspect-ratio: 602 / 576;
	background: url("../img/gg-mark-oranje.svg") center / contain no-repeat;
	pointer-events: none;
	transform: translate3d(0, var(--gg-par, 0px), 0);
	animation: gg-merk-in 1.4s .35s var(--gg-ease) both;
}
body.gg .gg-paginakop::after { width: 22vw; right: calc(-5vw - (100vw - 100%) / 2); bottom: -5vw; }
@keyframes gg-merk-in {
	from { opacity: 0; clip-path: inset(0 0 100% 0); }
	to { opacity: 1; clip-path: inset(0 0 0 0); }
}
body.gg .gg-hero .gg-knoppen,
body.gg .gg-paginakop .gg-knoppen { margin-top: 32px; }

/* Split: tekst + afgerond beeld */
body.gg .gg-split { position: relative; z-index: 1; }
body.gg .gg-beeld img,
body.gg img.gg-beeld {
	width: 100%;
	aspect-ratio: 561 / 420;
	object-fit: cover;
	border-radius: var(--gg-radius-beeld);
}
body.gg .gg-beeld,
body.gg .img-with-aniamtion-wrap.gg-beeld .inner,
body.gg .img-with-aniamtion-wrap.gg-beeld .hover-wrap {
	border-radius: var(--gg-radius-beeld);
}
body.gg .gg-beeld-hoog img,
body.gg img.gg-beeld-hoog { aspect-ratio: 4 / 5; }
body.gg .gg-split .gg-tekst { max-width: 600px; }

/* Oranje band met team */
body.gg .gg-team { overflow: visible !important; z-index: 1; margin-top: 150px; }
body.gg .gg-team-tekst { padding-bottom: 56px; }
body.gg .gg-team-kolom { align-self: flex-end; }
body.gg .gg-team-foto { margin-bottom: 0 !important; }
body.gg .gg-team-kolom .img-with-aniamtion-wrap, body.gg .gg-team-kolom .img-with-aniamtion-wrap .inner, body.gg .gg-team-kolom .hover-wrap { overflow: visible !important; margin-bottom: 0 !important; }
body.gg .gg-team-foto img, body.gg img.gg-team-foto { width: 100%; max-width: 620px; display: block; }
body.gg .gg-team h2 { color: var(--gg-bordeaux); }
body.gg .gg-team p { color: var(--gg-bordeaux); opacity: .86; }
body.gg .gg-wat { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 18px; }
body.gg .gg-wat li { list-style: none; position: relative; padding-left: 44px; color: var(--gg-bordeaux); line-height: 24px; }
body.gg .gg-wat li strong { display: block; font-family: var(--gg-kop); font-size: 18px; margin-bottom: 2px; }
body.gg .gg-wat li::before {
	content: counter(gg-wat, decimal-leading-zero);
	counter-increment: gg-wat;
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--gg-bordeaux);
	color: var(--gg-oranje);
	font: 700 12px/30px var(--gg-body);
	text-align: center;
}
body.gg .gg-wat { counter-reset: gg-wat; }

/* Stappen met voortgangslijn */
body.gg .gg-stappen { position: relative; --gg-voortgang: 0; }
body.gg .gg-stappen::before,
body.gg .gg-stappen::after {
	content: "";
	position: absolute;
	top: 28px;
	left: 12.5%;
	right: 12.5%;
	height: 2px;
	background: var(--gg-lijn);
	z-index: 0;
}
body.gg .gg-stappen::after {
	background: var(--gg-oranje);
	right: auto;
	width: calc(75% * var(--gg-voortgang));
	transition: width .2s linear;
}
body.gg .gg-stap { text-align: center; position: relative; z-index: 1; }
body.gg .gg-stap .vc_column-inner { padding: 0 12px; }
body.gg .gg-stap-nr {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--gg-lijn);
	font: 700 18px/1 var(--gg-kop);
	color: var(--gg-bordeaux);
	transition: background .4s ease, border-color .4s ease, color .4s ease, transform .4s var(--gg-ease);
}
body.gg .gg-stap.is-actief .gg-stap-nr { background: var(--gg-oranje); border-color: var(--gg-oranje); transform: scale(1.08); }
body.gg .gg-stap p { color: var(--gg-tekst-zacht); }
body.gg .gg-stappen--donker .gg-stap-nr { background: var(--gg-bordeaux); color: #fff; border-color: rgba(255, 255, 255, .2); }
body.gg .gg-stappen--donker .gg-stap.is-actief .gg-stap-nr { color: var(--gg-bordeaux); }

/* Kaarten (stijl van de referentiekaarten in het design) */
body.gg .gg-kaarten-blok {
	position: relative;
	border-radius: 6px;
}
body.gg .gg-kaart > .vc_column-inner {
	height: 100%;
	padding: 24px !important;
	background: #fff;
	border: 1px solid var(--gg-lijn);
	border-radius: var(--gg-radius-kaart);
	transition: transform .45s var(--gg-ease), box-shadow .45s ease, border-color .45s ease;
}
body.gg .gg-kaart:hover > .vc_column-inner {
	transform: translateY(-6px);
	box-shadow: var(--gg-schaduw);
	border-color: rgba(251, 176, 64, .7);
}
body.gg .gg-kaart h3 {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 18px;
	line-height: 24px;
	min-height: 48px;
	margin-bottom: 16px;
}
body.gg .gg-kaart h3::before {
	content: "";
	flex: 0 0 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--gg-oranje-zacht) var(--gg-ico, none) center / 22px no-repeat;
	transition: transform .45s var(--gg-ease), background-color .45s ease;
}
body.gg .gg-kaart:hover h3::before { transform: rotate(-8deg) scale(1.06); background-color: var(--gg-oranje); }
body.gg .gg-kaart p { color: var(--gg-tekst); }
body.gg .gg-kaart.gg-ico-beheer { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V9l7-5 7 5v12M9 21v-6h6v6'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-snel { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8Z'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-regio { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12s-8-7-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-cijfers { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M8 6h8M8 11h.01M12 11h.01M16 11h.01M8 15h.01M12 15h.01M16 15h.01M8 19h.01M12 19h4'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-sleutel { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='4.5'/%3E%3Cpath d='m10.7 12.3 9.3-9.3M17 6l3 3M14 9l2 2'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-hand { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-agenda { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-oog { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-bouw { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20h20M4 20V10l6-4v14M10 20V4l10 4v12M14 10h2M14 14h2'/%3E%3C/svg%3E"); }
body.gg .gg-kaart.gg-ico-papier { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E"); }

/* Sectie met grijze kaartenbak en vervaagd merkteken (zoals Referenties) */
body.gg .gg-waarom { position: relative; overflow: visible !important; }
body.gg .gg-waarom::after {
	content: "";
	position: absolute;
	z-index: 0;
	right: calc(-16vw - (100vw - 100%) / 2);
	bottom: -14vw;
	width: 41vw;
	aspect-ratio: 602 / 576;
	background: url("../img/gg-mark-oranje.svg") center / contain no-repeat;
	opacity: .2;
	pointer-events: none;
	transform: translate3d(0, var(--gg-par, 0px), 0) rotate(-4deg);
}
body.gg .gg-waarom > .row_col_wrap_12 { position: relative; z-index: 1; }
body.gg .gg-grijs-bak > .vc_column-inner {
	background: var(--gg-grijs);
	padding: 56px 24px 24px !important;
	border-radius: 6px;
}

/* Drie wegen / opties */
body.gg .gg-optie > .vc_column-inner {
	height: 100%;
	padding: 32px 28px !important;
	border: 1px solid var(--gg-lijn);
	border-radius: var(--gg-radius-kaart);
	background: #fff;
	transition: transform .45s var(--gg-ease), box-shadow .45s ease;
}
body.gg .gg-optie:hover > .vc_column-inner { transform: translateY(-6px); box-shadow: var(--gg-schaduw); }
body.gg .gg-optie .gg-optie-nr {
	display: inline-block;
	margin-bottom: 14px;
	font: 600 12px/16px var(--gg-body);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gg-tekst-zacht);
}
body.gg .gg-optie--uitgelicht > .vc_column-inner {
	background: var(--gg-bordeaux);
	border-color: var(--gg-bordeaux);
	position: relative;
	overflow: hidden;
}
body.gg .gg-optie--uitgelicht > .vc_column-inner::after {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -70px;
	width: 220px;
	aspect-ratio: 602 / 576;
	background: url("../img/gg-mark-oranje.svg") center / contain no-repeat;
	opacity: .14;
	transition: transform .8s var(--gg-ease);
}
body.gg .gg-optie--uitgelicht:hover > .vc_column-inner::after { transform: rotate(-8deg) scale(1.08); }
body.gg .gg-optie--uitgelicht h3,
body.gg .gg-optie--uitgelicht p { color: #fff; }
body.gg .gg-optie--uitgelicht .gg-optie-nr { color: var(--gg-oranje); }

/* Rekenvoorbeeld */
body.gg .gg-reken-kaart > .vc_column-inner {
	padding: 40px !important;
	border-radius: var(--gg-radius-beeld);
	background: var(--gg-bordeaux);
	color: #fff;
	box-shadow: 0 30px 60px -30px rgba(55, 23, 29, .6);
}
body.gg .gg-reken-kaart h3,
body.gg .gg-reken-kaart p { color: #fff; }
body.gg ul.gg-reken { list-style: none; margin: 0 0 20px; padding: 0; }
body.gg ul.gg-reken li {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px dashed rgba(255, 255, 255, .2);
	color: rgba(255, 255, 255, .85);
	list-style: none;
}
body.gg ul.gg-reken li span { flex: 1; }
body.gg ul.gg-reken li strong { color: var(--gg-oranje); font-family: var(--gg-kop); font-size: 18px; white-space: nowrap; }
body.gg ul.gg-reken li.gg-reken-totaal { border-bottom: 0; padding-top: 20px; }
body.gg ul.gg-reken li.gg-reken-totaal span { color: #fff; font-weight: 600; }
body.gg ul.gg-reken li.gg-reken-totaal strong { font-size: 26px; }
body.gg .gg-reken-kaart .gg-invul { background: rgba(251, 176, 64, .14); }

/* Wij / jij lijsten */
body.gg .gg-lijst-kaart > .vc_column-inner {
	height: 100%;
	padding: 32px !important;
	border-radius: var(--gg-radius-kaart);
	border: 1px solid var(--gg-lijn);
	background: #fff;
}
body.gg .gg-lijst-kaart--oranje > .vc_column-inner { background: var(--gg-oranje); border-color: var(--gg-oranje); }
body.gg ul.gg-vinkjes { list-style: none; margin: 0; padding: 0; }
body.gg ul.gg-vinkjes li {
	position: relative;
	padding: 10px 0 10px 34px;
	border-bottom: 1px solid var(--gg-lijn);
	list-style: none;
}
body.gg ul.gg-vinkjes li:last-child { border-bottom: 0; }
body.gg ul.gg-vinkjes li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--gg-oranje) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
body.gg .gg-lijst-kaart--oranje ul.gg-vinkjes li { border-color: rgba(55, 23, 29, .14); color: var(--gg-bordeaux); }
body.gg .gg-lijst-kaart--oranje ul.gg-vinkjes li::before { background-color: var(--gg-bordeaux); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fbb040' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

/* FAQ (Salient toggles) */
body.gg .gg-faq .toggle {
	border: 1px solid var(--gg-lijn) !important;
	border-radius: var(--gg-radius-kaart) !important;
	margin-bottom: 12px !important;
	background: #fff !important;
	overflow: hidden;
	transition: box-shadow .3s ease, border-color .3s ease;
}
body.gg .gg-faq .toggle.open { border-color: var(--gg-oranje) !important; box-shadow: var(--gg-schaduw); }
body.gg .gg-faq .toggle > .toggle-title { margin: 0 !important; }
body.gg .gg-faq .toggle > .toggle-title a {
	position: relative;
	display: block;
	background: transparent !important;
	border: 0 !important;
	font-family: var(--gg-kop) !important;
	font-size: 18px !important;
	line-height: 26px !important;
	color: var(--gg-bordeaux) !important;
	padding: 20px 64px 20px 24px !important;
}
body.gg .gg-faq .toggle > .toggle-title a i { display: none !important; }
body.gg .gg-faq .toggle > .toggle-title a::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	border-radius: 50%;
	background: var(--gg-oranje-zacht) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .4s var(--gg-ease), background-color .3s ease;
}
body.gg .gg-faq .toggle.open > .toggle-title a::after { transform: rotate(135deg); background-color: var(--gg-oranje); }
body.gg .gg-faq .toggle > div { padding: 0 !important; background: transparent !important; border: 0 !important; }
body.gg .gg-faq .toggle .inner-toggle-wrap { padding: 0 24px 22px !important; }
body.gg .gg-faq .toggle .inner-toggle-wrap p { color: var(--gg-tekst); }

/* Afsluitende oproep */
body.gg .gg-cta > .vc_column-inner {
	position: relative;
	overflow: hidden;
	padding: 72px 48px !important;
	border-radius: var(--gg-radius-beeld);
	background: var(--gg-bordeaux);
	text-align: center;
}
body.gg .gg-cta > .vc_column-inner::before,
body.gg .gg-cta > .vc_column-inner::after {
	content: "";
	position: absolute;
	width: 300px;
	aspect-ratio: 602 / 576;
	background: url("../img/gg-mark-oranje.svg") center / contain no-repeat;
	opacity: .1;
	pointer-events: none;
}
body.gg .gg-cta > .vc_column-inner::before { left: -90px; top: -80px; transform: rotate(12deg); }
body.gg .gg-cta > .vc_column-inner::after { right: -70px; bottom: -110px; transform: rotate(-10deg); }
body.gg .gg-cta h2 { color: #fff; }
body.gg .gg-cta p { color: rgba(255, 255, 255, .85); max-width: 620px; margin: 0 auto; }
body.gg .gg-cta .gg-knoppen { margin-top: 28px; position: relative; z-index: 1; }

/* Contactgegevens */
body.gg ul.gg-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
body.gg ul.gg-contact li {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	border: 1px solid var(--gg-lijn);
	border-radius: var(--gg-radius-kaart);
	background: #fff;
	list-style: none;
	transition: transform .35s var(--gg-ease), border-color .35s ease, box-shadow .35s ease;
}
body.gg ul.gg-contact li:hover { transform: translateX(6px); border-color: var(--gg-oranje); box-shadow: var(--gg-schaduw); }
body.gg ul.gg-contact li::before {
	content: "";
	flex: 0 0 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--gg-oranje-zacht) var(--gg-ico) center / 20px no-repeat;
}
body.gg ul.gg-contact li small { display: block; font-size: 12px; line-height: 16px; letter-spacing: .08em; text-transform: uppercase; color: var(--gg-tekst-zacht); }
body.gg ul.gg-contact li a,
body.gg ul.gg-contact li strong { color: var(--gg-bordeaux); font-weight: 600; }
body.gg li.gg-c-tel { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E"); }
body.gg li.gg-c-mail { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
body.gg li.gg-c-adres { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12s-8-7-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
body.gg li.gg-c-kbo { --gg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2337171d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E"); }

/* Mensen */
body.gg .gg-persoon > .vc_column-inner {
	padding: 32px !important;
	border-radius: var(--gg-radius-kaart);
	border: 1px solid var(--gg-lijn);
	background: #fff;
	text-align: center;
	transition: transform .45s var(--gg-ease), box-shadow .45s ease;
}
body.gg .gg-persoon:hover > .vc_column-inner { transform: translateY(-6px); box-shadow: var(--gg-schaduw); }
body.gg .gg-initialen {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--gg-bordeaux);
	color: var(--gg-oranje);
	font: 700 30px/1 var(--gg-kop);
}

/* Footer (Global Section) */
body.gg .gg-footer { position: relative; overflow: hidden; }
body.gg .gg-footer h3 {
	font-family: var(--gg-body) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 27px !important;
	color: #fff !important;
	margin-bottom: 16px !important;
}
body.gg .gg-footer p,
body.gg .gg-footer li { color: #99a1af; }
body.gg .gg-footer ul { list-style: none; margin: 0; padding: 0; }
body.gg .gg-footer ul li { list-style: none; margin: 0 0 8px; color: #d1d5dc; }
body.gg .gg-footer a { color: #d1d5dc; transition: color .25s ease, padding-left .25s var(--gg-ease); }
body.gg .gg-footer ul a:hover { color: var(--gg-oranje); padding-left: 4px; }
body.gg .gg-footer .gg-footer-contact li { display: flex; gap: 10px; align-items: flex-start; }
body.gg .gg-footer .gg-footer-contact li::before {
	content: "";
	flex: 0 0 16px;
	height: 16px;
	margin-top: 4px;
	background: var(--gg-oranje);
	-webkit-mask: var(--gg-ico) center / contain no-repeat;
	mask: var(--gg-ico) center / contain no-repeat;
}
body.gg .gg-footer img.gg-footer-logo,
body.gg .gg-footer .gg-footer-logo img { width: 104px !important; height: auto; }
body.gg .nectar-global-section.before-footer { background: var(--gg-bordeaux); padding: 0 !important; }
body.gg .nectar-global-section.before-footer .gg-footer-onder .vc_column-inner { text-align: center; }
body.gg .gg-footer-onder > .row_col_wrap_12 > .vc_column_container > .vc_column-inner { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 28px; }
body.gg .gg-footer-onder p { font-size: 14px; color: #99a1af; }
body.gg .gg-footer-onder a { color: #99a1af; }
body.gg .gg-footer-onder a:hover { color: var(--gg-oranje); }

/* Responsief */
@media (max-width: 999px) {
	body.gg .gg-hero { min-height: 560px; }
	body.gg .gg-hero::after { width: 46vw; right: calc(-14vw - (100vw - 100%) / 2); bottom: -10vw; }
	body.gg .gg-paginakop::after { width: 34vw; right: calc(-9vw - (100vw - 100%) / 2); bottom: -8vw; }
	body.gg .gg-stappen::before, body.gg .gg-stappen::after { display: none; }
	body.gg .gg-stap { margin-bottom: 28px; }
	body.gg .gg-waarom::after { width: 60vw; right: calc(-24vw - (100vw - 100%) / 2); }
}
@media (max-width: 690px) {
	body.gg .gg-hero { min-height: 520px; }
	body.gg .gg-paginakop { min-height: 400px; }
	body.gg .gg-hero::after { width: 34vw; right: calc(-8vw - (100vw - 100%) / 2); bottom: -16vw; }
	body.gg .gg-paginakop::after { width: 30vw; bottom: -12vw; }
	body.gg .gg-cta > .vc_column-inner { padding: 48px 22px !important; border-radius: 28px; }
	body.gg .gg-reken-kaart > .vc_column-inner { padding: 28px 22px !important; border-radius: 28px; }
	body.gg .gg-beeld img, body.gg img.gg-beeld { border-radius: 28px; }
	body.gg ul.gg-reken li { flex-wrap: wrap; }
}

/* Aanvullingen */
.gg-intro p { font-size: inherit; line-height: inherit; color: inherit; }
body.gg .gg-paginakop .gg-knoppen .nectar-button:first-child,
body.gg .gg-tekst .gg-knoppen .nectar-button:first-child { margin-left: 0 !important; }
body.gg .gg-cta-rij,
body.gg .gg-waarom + .wpb_row { position: relative; z-index: 2; }
@media (max-width: 999px) {
	body.gg .gg-team { margin-top: 100px; }
	body.gg .gg-team-tekst { padding-top: 32px; padding-bottom: 40px; }
}

/* Bovenkop leesbaar op foto */
body.gg .gg-hero .gg-bovenkop,
body.gg .gg-paginakop .gg-bovenkop {
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(42, 17, 22, .55);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: var(--gg-oranje);
}
body.gg .gg-hero .gg-bovenkop::before,
body.gg .gg-paginakop .gg-bovenkop::before { width: 8px; height: 8px; border-radius: 50%; }
body.gg .gg-team-kolom > .vc_column-inner { margin-top: -150px; }
body.gg .gg-team .gg-bovenkop,
body.gg .gg-oranje-band .gg-bovenkop { color: var(--gg-bordeaux); }
@media (max-width: 999px) {
	body.gg .gg-team-kolom > .vc_column-inner { margin-top: -90px; }
}
body.gg ul.gg-contact li strong,
body.gg strong, body.gg b { font-family: inherit; }
body.gg #to-top { background: var(--gg-bordeaux) !important; border-radius: 8px !important; }
body.gg #to-top i { color: var(--gg-oranje) !important; }
