.gct{
	--gct-text:#45444A;
	--gct-green:#3B7A75;
	--gct-dark:#013F3E;
	--gct-light:#BDDBD4;
	--gct-field:rgba(189,219,212,.3);
	--gct-error:#b3261e;
	--gct-heading-font:var(--gb-font,'Montserrat',system-ui,sans-serif);
	font-family:var(--gb-font,'Montserrat',system-ui,sans-serif);
	color:var(--gct-text);
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;align-items:stretch;
	width:100%;max-width:100%;min-width:0;margin:0 0 48px;
}
.gct,.gct *,.gct *::before,.gct *::after{box-sizing:border-box}
.gct .gct-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gct .gct-col{min-width:0}

/* both columns end at the same height: the message box takes whatever space the left column needs (it can still be resized) */
.gct .gct-formcol{display:flex;flex-direction:column}
.gct .gct-form{flex:1 1 auto;display:flex;flex-direction:column}
.gct .gct-field-msg{flex:1 1 auto;display:flex;flex-direction:column}
.gct .gct-field-msg .gct-textarea{flex:1 1 auto}

.gct .gct-title{
	margin:0 0 22px;padding:0;border:0;
	font-family:var(--gct-heading-font)!important;font-size:20px;font-weight:700;line-height:1.2;color:var(--gct-dark);
}

/* ---------- Contact info ---------- */
.gct .gct-line{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:0;font-size:14px;font-weight:500;line-height:1.5;color:var(--gct-text)}
.gct .gct-icon{flex:none;width:22px;height:22px;color:var(--gct-dark)}
.gct .gct-line a{color:var(--gct-text);text-decoration:none}
.gct .gct-line a:hover{color:var(--gct-dark);text-decoration:underline}
.gct .gct-addr{margin:16px 0 0}

.gct .gct-map{position:relative;width:100%;aspect-ratio:15/8;margin:18px 0 0;background:#e5e5e5;overflow:hidden}
.gct .gct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.gct .gct-map-link{position:absolute;inset:0;display:block;cursor:pointer;background:transparent}
.gct .gct-map-link:hover{background:rgba(1,63,62,.06)}
.gct .gct-map-link:focus-visible{outline:3px solid var(--gct-dark);outline-offset:-3px}

/* ---------- Form ---------- */
.gct .gct-form{margin:0}
.gct .gct-field{margin:0 0 14px}
.gct .gct-input{
	display:block;width:100%!important;margin:0!important;
	background:var(--gct-field)!important;color:var(--gct-dark)!important;-webkit-text-fill-color:var(--gct-dark)!important;
	border:1px solid transparent!important;border-radius:16px!important;box-shadow:none!important;outline:0!important;
	font:600 14px/1.3 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;
	-webkit-appearance:none;appearance:none;transition:border-color .2s ease,background-color .2s ease;
}
.gct input.gct-input{height:44px!important;padding:0 20px!important}
.gct textarea.gct-input{min-height:150px;padding:14px 20px!important;resize:vertical}
.gct .gct-input::placeholder{color:var(--gct-dark);-webkit-text-fill-color:var(--gct-dark);opacity:1}
.gct .gct-input:focus{border-color:var(--gct-green)!important;background:rgba(189,219,212,.42)!important}
.gct .gct-input[aria-invalid="true"]{border-color:var(--gct-error)!important}
.gct .gct-err{margin:6px 0 0 8px;padding:0;font-size:12.5px;font-weight:600;line-height:1.4;color:var(--gct-error)}
.gct .gct-err[hidden]{display:none}

/* LGPD checkbox */
.gct .gct-check{position:relative;display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer;font-size:14px;font-weight:500;line-height:1.4;color:var(--gct-text)}
.gct .gct-check input{position:absolute;opacity:0;width:20px;height:20px;margin:0;cursor:pointer}
.gct .gct-box{
	flex:none;position:relative;width:20px;height:20px;margin-top:1px;
	background:var(--gct-field);border:1px solid var(--gct-light);border-radius:4px;
	transition:border-color .2s ease;
}
.gct .gct-box::after{
	content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;
	border:solid var(--gct-dark);border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transform-origin:center;
	transition:transform .15s ease;
}
.gct .gct-check input:checked + .gct-box::after{transform:rotate(45deg) scale(1)}
.gct .gct-check input:focus-visible + .gct-box{outline:2px solid var(--gct-dark);outline-offset:2px}
.gct .gct-check input[aria-invalid="true"] + .gct-box{border-color:var(--gct-error)}
.gct .gct-check-text a{color:var(--gct-dark);font-weight:700;text-decoration:none;transition:color .2s ease}
.gct .gct-check-text a:hover,.gct .gct-check-text a:focus-visible{color:var(--gct-green);text-decoration:underline}

/* honeypot */
.gct .gct-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.gct .gct-alert{
	margin:0 0 14px;padding:11px 16px;border-radius:12px;
	background:#fdeeee;color:#8a1c14;font-size:13px;font-weight:600;line-height:1.4;
}
.gct .gct-alert[hidden]{display:none}

.gct .gct-send{
	display:flex!important;align-items:center;justify-content:center;
	width:100%!important;height:40px!important;min-height:0!important;margin:6px 0 0!important;padding:0 20px!important;
	background:var(--gct-green)!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
	font:600 15px/1 var(--gct-heading-font)!important;text-transform:none!important;letter-spacing:0!important;
	cursor:pointer;transition:background-color .2s ease;
}
.gct .gct-send:hover{background:var(--gct-dark)!important}
.gct .gct-send:focus-visible{outline:2px solid var(--gct-dark)!important;outline-offset:3px}
.gct .gct-send[disabled]{opacity:.7;cursor:progress}

.gct .gct-ok{padding:28px 26px;border-radius:16px;background:var(--gct-field);font-size:15px;font-weight:600;line-height:1.5;color:var(--gct-dark)}
.gct .gct-ok[hidden]{display:none}
.gct .gct-ok:focus{outline:none}

@media (max-width:820px){
	.gct{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media (prefers-reduced-motion:reduce){
	.gct .gct-input,.gct .gct-send,.gct .gct-box,.gct .gct-box::after,.gct .gct-check-text a{transition:none}
}
