.cg-footer { background: #f5f5f5; color: #666; border-top: 0; padding: 0; }
.cg-footer .container { max-width: 1280px; margin: 0 auto; padding: 0; }
.cg-footer a { color: #666; text-decoration: none; }
.cg-footer a:hover { color: #254578; }
.cg-footer-grid { display: grid; grid-template-columns: 21.637% 31.956% 24.141% 22.266%; column-gap: 0; row-gap: 0; align-items: start; }
.cg-footer .container.cg-footer-grid { box-sizing: border-box; padding: 80px 0 50px; }
.cg-footer .cg-footer-links { box-sizing: border-box; padding-left: 130px; }
.cg-footer .cg-footer-links a { font-size: 14px; font-weight: 300; line-height: 24px; color: #666; }
.cg-footer .cg-footer-links li { margin: 0; padding: 0; }
.cg-footer .cg-footer-links li + li { margin-top: 6px; }
.cg-footer-contact { margin: 0; }
.cg-footer-aside { justify-self: stretch; align-self: stretch; display: flex; flex-direction: column; align-items: center; width: 100%; gap: 0; }
.cg-footer-brand { display: flex; flex-direction: column; align-items: center; justify-self: stretch; align-self: center; width: 100%; max-width: 100%; margin: 0; text-align: center; gap: 10px; }
.cg-footer-brand a { display: flex; flex-direction: column; align-items: center; gap: 8px; width: auto; max-width: 100%; height: auto; overflow: visible; text-align: center; }
.cg-footer .cg-footer-brand img { display: block; width: 72px; max-width: none; height: auto; }
.cg-footer .cg-logo-name { color: #243044; font-size: 14px; font-weight: 700; line-height: 1.3; white-space: normal; }
.cg-footer .cg-footer-tagline { margin: 0; max-width: 100%; white-space: nowrap; text-align: center; color: #666; font-size: 13px; font-weight: 300; line-height: 1.2; border-bottom: 1px solid #fff; padding-bottom: 8px; }
.cg-footer h2 { margin: 0; font-size: 15px; font-weight: 800; line-height: 1.5; color: #666; }
.cg-footer ul { list-style: none; margin: 0; padding: 0; }
.cg-footer li { margin: 0 0 6px; }
.cg-footer p { margin: 0 0 15px; line-height: 1.5; color: #777; font-size: 15px; font-weight: 400; }
.cg-footer-contact a { color: #777; }
.cg-footer .cg-note { display: inline; margin: 0; font-size: 12px; color: #8a6d3b; font-style: italic; }
.cg-footer .cg-social { display: flex; align-items: center; gap: 20px; list-style: none; margin: 5px 0 0; padding: 0; }
.cg-footer .cg-social li { margin: 0; }
.cg-footer .cg-social a,
.cg-about-page .cg-footer .cg-social a { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; background: #172a88; color: #fff; border-radius: 4px; }
.cg-footer .cg-social a:hover,
.cg-about-page .cg-footer .cg-social a:hover { background: #121f68; color: #fff; }
.cg-footer .cg-social svg { width: 20px; height: 20px; fill: #fff; display: block; }
.cg-footer .cg-social a[aria-label="YouTube"],
.cg-about-page .cg-footer .cg-social a[aria-label="YouTube"] { width: 46px; height: 30px; border-radius: 6px; background: #172a88; }
.cg-footer .cg-social a[aria-label="YouTube"] svg { width: 22px; height: 22px; }
.cg-footer-search { display: flex; align-items: stretch; width: 100%; min-height: 39px; margin: 0; }
.cg-footer-search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cg-footer-search input { flex: 1; min-width: 0; width: 100%; min-height: 39px; box-sizing: border-box; margin: 0; border: 1px solid #d5dbe3; border-right: 0; border-radius: 3px 0 0 3px; padding: 0 13px; background: #fff; font: inherit; font-size: 14px; color: #666; -webkit-appearance: none; appearance: none; }
.cg-footer-search input::-webkit-search-decoration,
.cg-footer-search input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.cg-footer-search button { width: 39px; min-width: 39px; margin: 0; padding: 0; border: 0; border-radius: 0 3px 3px 0; background: #777; color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.cg-footer-search button:hover { background: #5f5f5f; }
.cg-footer-search svg { width: 19px; height: 19px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.cg-iso-badge { display: flex; justify-content: center; align-items: center; width: 100%; margin-top: 32px; padding-top: 0; }
.cg-iso-badge .cg-mark,
.cg-iso-badge img.cg-mark { width: 48%; max-width: 124px; height: auto; display: block; object-fit: contain; }
.cg-footer-bottom { background: #ebebeb; color: #777; font-size: 13px; font-weight: 400; min-height: 40px; }
.cg-footer .container.cg-footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; box-sizing: border-box; max-width: none; min-height: 40px; padding: 0 40px; }
.cg-footer .cg-footer-bottom p { margin: 0; color: #777; }
.cg-whatsapp-float { position: fixed; bottom: 24px; left: 18px; z-index: 999; display: inline-flex; align-items: center; text-decoration: none; background: transparent; padding: 0; box-shadow: none; }
.cg-whatsapp-float:hover { background: transparent; }
.cg-whatsapp-float .cg-wa-icon { position: relative; z-index: 2; width: 36px; height: 36px; background: #25d366; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cg-whatsapp-float .cg-wa-label { position: relative; z-index: 1; margin: 0 0 0 -16px; background: #e6e6e6; color: #4a4a4a; border-radius: 999px; padding: 6px 14px 6px 24px; font-size: 13px; font-weight: 500; line-height: 1.2; }
.cg-whatsapp-float:hover .cg-wa-label { background: #dedede; }
.cg-whatsapp-float svg { width: 24px; height: 24px; fill: #fff; display: block; }
@media (max-width: 1024px) {
	.cg-footer .container.cg-footer-grid { grid-template-columns: 33% 33% 34%; padding: 60px 20px; row-gap: 28px; }
	.cg-footer-brand { grid-column: 1 / -1; align-self: center; }
	.cg-footer .cg-footer-links { padding-left: 30px; }
	.cg-footer-aside { align-items: flex-start; align-self: stretch; padding-left: 30px; box-sizing: border-box; }
	.cg-iso-badge img.cg-mark { width: 112px; max-width: 100%; }
	.cg-footer-brand a { width: auto; height: auto; }
	.cg-footer .cg-footer-brand img { width: 64px; height: auto; }
	.cg-footer .cg-footer-tagline { white-space: normal; }
}
@media (max-width: 767px) {
	.cg-footer .container.cg-footer-grid { grid-template-columns: 1fr; padding: 40px 20px; }
	.cg-footer .cg-footer-links,
	.cg-footer-aside { padding-left: 0; }
	.cg-footer-brand a { width: auto; height: auto; overflow: visible; }
	.cg-footer .cg-footer-brand img { width: 56px; max-width: none; height: auto; }
	.cg-footer-search input { min-height: 44px; font-size: 16px; }
	.cg-footer-search button { width: 44px; min-width: 44px; }
	.cg-iso-badge { margin-top: 32px; padding-top: 0; justify-content: center; }
	.cg-iso-badge img.cg-mark { width: 116px; max-width: 46%; }
	.cg-footer .container.cg-footer-bottom-inner { display: grid; grid-template-columns: 1fr; min-height: 0; padding: 12px 20px; }
	.cg-whatsapp-float .cg-wa-icon { width: 48px; height: 48px; }
	.cg-whatsapp-float .cg-wa-label { display: none; }
	.cg-consent-actions { justify-content: stretch; flex-wrap: wrap; }
	.cg-consent-actions .cg-consent-btn { flex: 1; min-height: 44px; }
}
.cg-footer-bottom .cg-consent-open { border: 0; background: transparent; color: #254578; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; }
.cg-topbar-email { display: inline-flex; align-items: center; gap: 2px; }
.cg-copy-email { width: 28px; height: 28px; min-width: 28px; padding: 0; border: 0; background: transparent; color: #254578; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.cg-copy-email svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cg-copy-email .cg-copy-check { display: none; }
.cg-copy-email.is-copied { color: #1b7f3a; }
.cg-copy-email.is-copied .cg-copy-icon { display: none; }
.cg-copy-email.is-copied .cg-copy-check { display: block; }
.cg-consent-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; display: flex; gap: 16px; align-items: center; justify-content: space-between; max-width: 920px; margin: 0 auto; background: #fff; color: #243044; border: 1px solid #e6ebf1; border-radius: 8px; box-shadow: 0 8px 28px rgba(20, 32, 51, 0.16); padding: 14px 16px; }
.cg-consent-banner[hidden], .cg-consent-modal[hidden] { display: none; }
.cg-consent-banner p { margin: 0; font-size: 14px; line-height: 1.5; }
.cg-consent-actions { display: flex; gap: 8px; flex-shrink: 0; }
.cg-consent-btn { border: 1px solid #254578; background: #fff; color: #254578; border-radius: 4px; padding: 8px 14px; font: inherit; font-size: 14px; cursor: pointer; }
.cg-consent-btn-primary { background: #254578; color: #fff; }
.cg-consent-modal { position: fixed; inset: 0; z-index: 1100; background: rgba(20, 32, 51, 0.45); display: flex; align-items: center; justify-content: center; padding: 24px; }
.cg-consent-card { width: min(640px, 100%); max-height: min(86vh, 720px); overflow: auto; background: #fff; border-radius: 8px; box-shadow: 0 16px 48px rgba(20, 32, 51, 0.2); }
.cg-consent-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 0; }
.cg-consent-head h2 { margin: 0; font-size: 20px; color: #1c2430; }
.cg-consent-close { border: 0; background: transparent; font-size: 24px; line-height: 1; cursor: pointer; color: #5c6770; }
.cg-consent-body { padding: 12px 20px 4px; color: #243044; font-size: 14px; line-height: 1.55; }
.cg-consent-body p { margin: 0 0 10px; }
.cg-consent-body a { color: #254578; }
.cg-consent-body details { border-top: 1px solid #e6ebf1; padding: 12px 0; }
.cg-consent-body summary { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 700; list-style: none; }
.cg-consent-body summary::-webkit-details-marker { display: none; }
.cg-consent-body summary::before { content: ""; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 6px solid #243044; }
.cg-consent-body details[open] > summary::before { transform: rotate(90deg); }
.cg-consent-body summary span { flex: 1; }
.cg-consent-body summary em { color: #1b7f3a; font-style: normal; font-weight: 600; font-size: 13px; }
.cg-consent-body details p { font-weight: 400; color: #5c6770; margin: 8px 0 0 16px; }
.cg-consent-switch { display: inline-flex; align-items: center; }
.cg-consent-switch input { appearance: none; width: 36px; height: 20px; margin: 0; border-radius: 999px; background: #c5cdd6; position: relative; cursor: pointer; }
.cg-consent-switch input::after { content: ""; position: absolute; width: 16px; height: 16px; border-radius: 50%; background: #fff; top: 2px; left: 2px; }
.cg-consent-switch input:checked { background: #1863dc; }
.cg-consent-switch input:checked::after { left: 18px; }
.cg-consent-actions-modal { padding: 8px 20px 18px; }
.cg-consent-actions-modal .cg-consent-btn { flex: 1; min-height: 44px; border-color: #d5dbe3; color: #1863dc; background: #fff; font-weight: 600; }
.cg-consent-actions-modal .cg-consent-btn-primary { background: #1863dc; border-color: #1863dc; color: #fff; }
.cg-consent-revisit { position: fixed; left: 15px; bottom: 15px; z-index: 1001; width: 45px; height: 45px; padding: 0; border: 0; border-radius: 50%; background: #0056A7; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cg-consent-revisit[hidden] { display: none; }
.cg-consent-revisit img { width: 30px; height: 30px; max-width: none; display: block; }
.cg-consent-revisit::after { content: "Consent Preferences"; position: absolute; left: 54px; bottom: 8px; padding: 6px 10px; border-radius: 4px; background: #1c2430; color: #fff; font-size: 13px; line-height: 1.2; white-space: nowrap; opacity: 0; pointer-events: none; }
.cg-consent-revisit:hover::after, .cg-consent-revisit:focus-visible::after { opacity: 1; }
body:has(.cg-consent-revisit:not([hidden])) .cg-whatsapp-float { bottom: 72px; }
body.home .cg-whatsapp-float { left: auto; right: 18px; }
body.home .cg-whatsapp-float .cg-wa-icon { width: 48px; height: 48px; }
body.home .cg-whatsapp-float svg { width: 30px; height: 30px; }
body.home .cg-whatsapp-float .cg-wa-label { margin: 0 0 0 -18px; padding: 8px 18px 8px 32px; font-size: 16px; }
body.home:has(.cg-consent-revisit:not([hidden])) .cg-whatsapp-float { bottom: 24px; }
.cg-map-hold { min-height: 160px; border: 1px dashed #d7dee8; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding: 16px; color: #5c6770; }
.cg-map-hold iframe { width: 100%; height: 320px; border: 0; }
.cg-map-hold:has(iframe) { border: 0; padding: 0; min-height: 0; }
body:has(#cg-consent-banner:not([hidden])) .cg-whatsapp-float { bottom: 96px; }
@media (max-width: 720px) {
	.cg-consent-banner { flex-direction: column; align-items: stretch; left: 8px; right: 8px; }
	.cg-consent-actions-modal { flex-wrap: wrap; }
	.cg-consent-close { width: 44px; height: 44px; }
}
@media (max-width: 576px) {
	.cg-copy-email { width: 44px; height: 44px; min-width: 44px; }
}
html.cg-quote-lock,
html.cg-quote-lock body { overflow: hidden; }
.cg-quote-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1200;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	background: rgba(36, 48, 64, 0.55);
}
.cg-quote-modal.is-open { display: flex; }
.cg-quote-dialog {
	width: min(640px, calc(100% - 32px));
	max-height: calc(100dvh - 32px);
	overflow: auto;
	background: #fff;
	box-shadow: 0 24px 80px rgba(17, 36, 59, 0.21);
	color: #1c2430;
	font-family: 'Segoe UI', Roboto, Arial, sans-serif;
}
.cg-quote-head {
	position: relative;
	background: #1d4e89;
	color: #fff;
	padding: 38px 44px 32px;
}
.cg-quote-kicker {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.2;
	color: #d9e5f4;
}
.cg-home .cg-quote-head h2,
.cg-quote-head h2 {
	margin: 16px 0 12px;
	color: #fff;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.25;
}
.cg-quote-head p { margin: 0; max-width: 440px; color: #e3eaf4; font-size: 16px; line-height: 1.65; }
.cg-quote-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.cg-quote-close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.cg-quote-close:hover { background: rgba(255, 255, 255, 0.09); }
.cg-quote-body { background: #fff; padding: 10px 44px 16px; }
.cg-quote-row {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 28px 0;
}
.cg-quote-row + .cg-quote-row { border-top: 1px solid #e6ebf1; }
.cg-quote-icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0;
	background: #edf2f8;
	color: #254578;
}
.cg-quote-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cg-quote-icon-wa { background: #e7f8ee; color: #25d366; }
.cg-quote-icon-wa svg { fill: currentColor; stroke: none; }
.cg-quote-label { margin: 0 0 6px; font-size: 18px; font-weight: 600; color: #383838; line-height: 1.4; }
.cg-quote-mail { display: flex; align-items: center; gap: 10px; margin: 0; flex-wrap: wrap; }
.cg-home .cg-quote-mail a,
.cg-quote-mail a { color: #254578; font-size: 22px; font-weight: 500; line-height: 1.6; text-decoration: none; }
.cg-home .cg-quote-mail a:hover,
.cg-quote-mail a:hover { color: #163a66; }
.cg-quote-mail .cg-copy-email { width: 36px; height: 36px; min-width: 36px; background: #edf2f8; border-radius: 3px; }
.cg-quote-mail .cg-copy-email:hover { background: #dce7f3; }
.cg-quote-mail .cg-copy-email svg { width: 19px; height: 19px; }
.cg-quote-hint { margin: 8px 0 0; color: #727a85; font-size: 14px; line-height: 1.4; }
.cg-quote-phone { margin: 0 0 16px; color: #474747; font-size: 18px; line-height: 1.4; }
.cg-home .cg-quote-wa,
.cg-quote-wa {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	background: #1d4e89;
	color: #fff;
	padding: 12px 24px;
	min-height: 48px;
	font-size: 15px;
	font-weight: 600;
	line-height: 24px;
	text-decoration: none;
}
.cg-home .cg-quote-wa:hover,
.cg-quote-wa:hover { background: #163a66; color: #fff; }
@media (max-width: 540px) {
	.cg-quote-head { padding: 32px 24px 28px; }
	.cg-home .cg-quote-head h2,
	.cg-quote-head h2 { font-size: 28px; }
	.cg-quote-body { padding: 0 24px 8px; }
	.cg-quote-row { gap: 14px; padding: 24px 0; }
	.cg-quote-icon { width: 36px; height: 36px; }
	.cg-home .cg-quote-mail a,
	.cg-quote-mail a { font-size: 18px; }
}
