/* Facigoo — content pages styles (split from facigoo.css). */
/* ---------------------------------------------------------------------------
 * About page (about frame)
 * ------------------------------------------------------------------------- */
.fg-ap {
	background: var(--white);
	color: var(--text-body);
}

.fg-ap-hero-inner,
.fg-ap-about-inner,
.fg-ap-certs-inner,
.fg-ap-culture-inner,
.fg-ap-cta-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-ap-hero-inner,
	.fg-ap-about-inner,
	.fg-ap-certs-inner,
	.fg-ap-culture-inner,
	.fg-ap-cta-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-ap-eyebrow {
	display: flex;
	align-items: center;
	gap: 16px;
}

.fg-ap-eyebrow-divider {
	width: 48px;
	height: 1px;
	background: var(--brand-orange);
	flex-shrink: 0;
}

.fg-ap-eyebrow-text {
	font-size: 14px;
	letter-spacing: 1.4px;
	color: var(--brand-orange);
}

/* --- 1. Hero --- */
.fg-ap-hero {
	background: var(--white);
	padding: 0 0 64px;
}

.fg-ap-hero-inner {
	display: flex;
	align-items: center;
	gap: 64px;
	min-height: 720px;
	box-sizing: border-box;
}

.fg-ap-hero-text {
	flex: 0 0 580px;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.fg-ap-h1 {
	font-size: 48px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.96px;
	color: var(--ink-strong);
	margin: 0;
}

.fg-ap-intro {
	font-size: 18px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

.fg-ap-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.fg-ap-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	letter-spacing: 0.7px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.fg-ap-btn-primary {
	background: var(--brand-green);
	color: var(--white);
	padding: 17px 28px;
	border: 1px solid var(--brand-green);
}

.fg-ap-btn-primary:hover,
.fg-ap-btn-primary:focus,
.fg-ap-btn-primary:active {
	background: var(--brand-accent);
	border-color: var(--brand-accent);
	color: var(--white);
}

.fg-ap-btn-ghost {
	background: transparent;
	color: var(--ink-strong);
	padding: 16px 28px;
}

.fg-ap-btn-ghost:hover,
.fg-ap-btn-ghost:focus,
.fg-ap-btn-ghost:active {
	color: var(--brand-green);
}

.fg-ap-hero-media {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}

.fg-ap-hero-img {
	display: block;
	width: 540px;
	height: 540px;
	background-size: cover;
	background-position: center;
}

/* --- 2. About --- */
.fg-ap-about {
	background: var(--white);
	padding: 64px 0;
}

.fg-ap-about-inner {
	display: flex;
	gap: 112px;
	align-items: flex-start;
}

.fg-ap-about-left {
	flex: 0 0 544px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.fg-ap-h2 {
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.72px;
	line-height: 1.15;
	color: var(--ink-strong);
	margin: 0;
}

.fg-ap-para {
	font-size: 16px;
	line-height: 1.7;
	color: var(--text-body);
	margin: 0;
}

.fg-ap-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	letter-spacing: 0.7px;
	color: var(--brand-green);
	text-decoration: none;
	transition: color 0.2s ease;
}

.fg-ap-link:hover {
	color: var(--brand-accent);
}

.fg-ap-link-arrow {
	font-size: 14px;
}

.fg-ap-stats {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.fg-ap-stat-row {
	display: flex;
	gap: 16px;
}

.fg-ap-stat {
	flex: 1;
	background: var(--surface-mist);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 140px;
	box-sizing: border-box;
}

.fg-ap-stat-number {
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.72px;
}

.fg-ap-stat-green {
	color: var(--brand-green);
}

.fg-ap-stat-orange {
	color: var(--brand-orange);
}

.fg-ap-stat-label {
	font-size: 12px;
	letter-spacing: 1.2px;
	color: var(--text-body);
}

/* --- 3. Certifications --- */
.fg-ap-certs {
	background: var(--white);
	padding: 64px 0;
}

.fg-ap-certs-head {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 40px;
}

.fg-ap-certs-title {
	max-width: 720px;
}

.fg-ap-certs-sub {
	font-size: 16px;
	line-height: 1.6;
	color: var(--text-body);
	max-width: 640px;
	margin: 0;
}

.fg-ap-certs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.fg-ap-cert {
	overflow: hidden;
}

.fg-ap-cert-img {
	display: block;
	width: 100%;
	height: 420px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--surface-mist);
}

/* --- 4. Culture --- */
.fg-ap-culture {
	background: var(--white);
	padding: 100px 0 64px;
}

.fg-ap-culture-inner {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.fg-ap-culture-media {
	flex: 0 0 760px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-ap-culture-big {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.fg-ap-culture-row {
	display: flex;
	gap: 16px;
}

.fg-ap-culture-small {
	position: relative;
	flex: 1;
	height: 300px;
	overflow: hidden;
}

.fg-ap-culture-img {
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
}

.fg-ap-culture-caption {
	position: absolute;
	left: 24px;
	bottom: 24px;
	font-size: 12px;
	color: var(--ink-strong);
}

.fg-ap-culture-big .fg-ap-culture-caption {
	font-size: 14px;
}

.fg-ap-culture-left {
	flex: 0 0 368px;
	height: 640px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 22px;
}

.fg-ap-culture-title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.32px;
	line-height: 1.2;
	color: var(--ink-strong);
	margin: 0;
}

.fg-ap-culture-intro {
	font-size: 16px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

.fg-ap-values {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fg-ap-value {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 14px;
	letter-spacing: 0.7px;
	color: var(--ink-strong);
}

.fg-ap-value svg {
	color: var(--brand-green);
	flex-shrink: 0;
}

/* --- 5. CTA --- */
.fg-ap-cta {
	background: var(--brand-green);
	padding: 64px 0;
}

.fg-ap-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.fg-ap-cta-texts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fg-ap-cta-title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.75px;
	color: var(--white);
	margin: 0;
}

.fg-ap-cta-text {
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.64);
	margin: 0;
}

.fg-ap-cta-btn {
	background: var(--white);
	color: var(--brand-green);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 16px 32px;
	text-decoration: none;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.fg-ap-cta-btn:hover,
.fg-ap-cta-btn:focus,
.fg-ap-cta-btn:active {
	background: var(--surface-green-soft);
	color: var(--brand-accent);
}

/* --- Responsive --- */
@media (max-width: 1023px) {
	.fg-ap-hero-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 40px;
		padding-top: 48px;
	}
	.fg-ap-hero-text {
		flex: none;
		width: 100%;
	}
	.fg-ap-h1 {
		font-size: 36px;
	}
	.fg-ap-hero-media {
		width: 100%;
	}
	.fg-ap-hero-img {
		width: 100%;
		height: 400px;
	}
	.fg-ap-about-inner {
		flex-direction: column;
		gap: 40px;
	}
	.fg-ap-about-left {
		flex: none;
		width: 100%;
	}
	.fg-ap-stats {
		width: 100%;
	}
	.fg-ap-certs-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.fg-ap-culture-inner {
		flex-direction: column;
	}
	.fg-ap-culture-left {
		flex: none;
		width: 100%;
	}
	.fg-ap-culture-media {
		flex: none;
		width: 100%;
	}
	.fg-ap-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 639px) {
	.fg-ap-certs-grid {
		grid-template-columns: 1fr;
	}
	.fg-ap-cert-img {
		height: 300px;
	}
	.fg-ap-culture-row {
		flex-direction: column;
	}
	.fg-ap-culture-small {
		width: 100%;
	}
	.fg-ap-stat-row {
		flex-direction: column;
	}
	.fg-ap-stat {
		min-height: 0;
	}
}

/* ---------------------------------------------------------------------------
 * Contact archive (contactarchive frame)
 * ------------------------------------------------------------------------- */
.fg-contact-archive {
	background: var(--white);
	color: var(--text-body);
}

.fg-co-eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--brand-orange);
}

.fg-co-title {
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.9px;
	line-height: 1.15;
	color: var(--ink);
	margin: 0;
}

.fg-co-title-sm {
	font-size: 30px;
	letter-spacing: -0.75px;
}

.fg-co-subtitle {
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

.fg-co-subtitle-muted {
	font-size: 14px;
	color: var(--text-muted);
}

/* --- 1. Hero --- */
.fg-co-hero {
	display: flex;
	justify-content: center;
	min-height: 740px;
}

.fg-co-hero-inner {
	display: flex;
	align-items: stretch; /* columns always equal height — map follows the left form */
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-co-hero-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-co-left,
.fg-co-right {
	flex: 1;
	padding: 56px 64px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

.fg-co-left {
	background: var(--white);
}

.fg-co-right {
	background: var(--surface-mist);
}

.fg-co-header {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Form */
.fg-co-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 32px;
}

.fg-co-row {
	display: flex;
	gap: 16px;
}

.fg-co-field {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fg-co-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--text-body);
}

input.fg-co-input,
select.fg-co-input {
	border: 1px solid var(--line);
	background: var(--white);
	padding: 12px 14px;
	font-size: 14px;
	color: var(--text-muted-4);
	font-family: inherit;
	outline: none;
	box-shadow: none;
	border-radius: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: auto;
}

input.fg-co-input:focus,
select.fg-co-input:focus,
textarea.fg-co-input:focus {
	border-color: var(--brand-green);
	box-shadow: none;
	outline: 2px solid var(--brand-green);
	outline-offset: 0;
}

select.fg-co-input {
	color: var(--ink-strong);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
}

textarea.fg-co-input {
	resize: vertical;
	height: 68px; /* ~2 rows by default */
	min-height: 68px;
	padding: 12px 14px;
}

.fg-co-hp {
	position: absolute;
	left: -9999px;
	opacity: 0;
	height: 0;
	width: 0;
}

.fg-co-submit {
	background: var(--brand-green);
	color: var(--white);
	border: 1px solid var(--brand-green);
	padding: 17px 40px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.4px;
	cursor: pointer;
	font-family: inherit;
	transition: all 0.2s ease;
	align-self: flex-start;
}

.fg-co-submit:hover,
.fg-co-submit:focus,
.fg-co-submit:active {
	background: var(--brand-accent);
	border-color: var(--brand-accent);
}

.fg-co-notice {
	font-size: 14px;
	font-weight: 600;
	padding: 12px 16px;
	margin: 16px 0 0;
}

.fg-co-notice-ok {
	background: var(--surface-green-soft);
	color: var(--brand-green-deep);
	border: 1px solid var(--line-green);
}

.fg-co-notice-error {
	background: #FDF0E7;
	color: var(--brand-orange);
	border: 1px solid var(--brand-orange);
}

/* Offices */
.fg-co-offices {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 28px;
}

.fg-co-office {
	background: var(--white);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fg-co-office-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.fg-co-office-name {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--ink-strong);
}

.fg-co-office-loc {
	font-size: 12px;
	color: var(--text-muted-3);
}

.fg-co-office-row {
	display: flex;
	align-items: center;
	gap: 14px;
}

.fg-co-office-icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-co-office-texts {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fg-co-office-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--text-muted-3);
}

.fg-co-office-value {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink-strong);
}

.fg-co-support {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 24px;
}

.fg-co-support-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--text-muted-3);
}

.fg-co-support-phone {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.4px;
	color: var(--brand-green);
}

.fg-co-support-hours {
	font-size: 11px;
	color: var(--text-muted-3);
}

/* --- 2. Address cards --- */
.fg-co-addresses {
	background: var(--white);
	padding: 72px 0 80px;
}

.fg-co-addresses-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-direction: column;
	gap: 28px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-co-addresses-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-co-addresses-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.fg-co-addresses-titleblock {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 640px;
}

.fg-co-all-stores {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--brand-green);
	text-decoration: none;
	transition: color 0.2s ease;
}

.fg-co-all-stores:hover {
	color: var(--brand-accent);
}

.fg-co-address-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.fg-co-address-card {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 28px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	min-height: 250px;
	justify-content: center;
	box-sizing: border-box;
}

.fg-co-address-icon {
	width: 36px;
	height: 36px;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-co-address-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
	margin: 0;
}

.fg-co-address-text {
	font-size: 13px;
	line-height: 1.55;
	color: var(--text-muted);
	margin: 0;
}

.fg-co-address-phone {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}

.fg-co-address-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--brand-green);
	text-decoration: none;
	padding-top: 8px;
	transition: color 0.2s ease;
}

.fg-co-address-cta:hover {
	color: var(--brand-accent);
}

.fg-co-address-card-green {
	background: var(--brand-green);
	border-color: var(--brand-green);
}

.fg-co-address-icon-green {
	color: var(--white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-co-address-title-white {
	color: var(--white);
}

.fg-co-address-text-white {
	color: rgba(255, 255, 255, 0.85);
}

.fg-co-address-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--white);
	text-decoration: none;
	padding: 10px 20px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	margin-top: 8px;
	transition: all 0.2s ease;
}

.fg-co-address-btn:hover {
	background: var(--white);
	color: var(--brand-green);
	border-color: var(--white);
}

/* ---------------------------------------------------------------------------
 * Contact Form 7 — theme-styled forms (contact page + product documentation).
 * ------------------------------------------------------------------------- */
.fg-co-form .wpcf7-form,
.fg-pd-form-fields .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fg-co-form .wpcf7-form p,
.fg-pd-form-fields .wpcf7-form p {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fg-co-form .wpcf7-form label,
.fg-pd-form-fields .wpcf7-form label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--text-body);
}

.fg-co-form .wpcf7-form input[type="text"],
.fg-co-form .wpcf7-form input[type="email"],
.fg-co-form .wpcf7-form input[type="tel"],
.fg-co-form .wpcf7-form select,
.fg-co-form .wpcf7-form textarea,
.fg-pd-form-fields .wpcf7-form input[type="text"],
.fg-pd-form-fields .wpcf7-form input[type="email"],
.fg-pd-form-fields .wpcf7-form input[type="tel"],
.fg-pd-form-fields .wpcf7-form select,
.fg-pd-form-fields .wpcf7-form textarea {
	border: 1px solid var(--line);
	background: var(--white);
	padding: 12px 14px;
	font-size: 14px;
	color: var(--text-muted-4);
	font-family: inherit;
	outline: none;
	box-shadow: none;
	border-radius: 0;
	box-sizing: border-box;
	width: 100%;
}

.fg-co-form .wpcf7-form input:focus,
.fg-co-form .wpcf7-form select:focus,
.fg-co-form .wpcf7-form textarea:focus,
.fg-pd-form-fields .wpcf7-form input:focus,
.fg-pd-form-fields .wpcf7-form select:focus,
.fg-pd-form-fields .wpcf7-form textarea:focus {
	border-color: var(--brand-green);
	outline: 1px solid var(--brand-green);
	outline-offset: 0;
}

.fg-co-form .wpcf7-form textarea,
.fg-pd-form-fields .wpcf7-form textarea {
	height: 68px; /* ~2 rows by default */
	min-height: 68px;
	resize: vertical;
}

.fg-co-form .wpcf7-form .wpcf7-submit,
.fg-pd-form-fields .wpcf7-form .wpcf7-submit {
	background: var(--brand-green);
	color: var(--white);
	border: 1px solid var(--brand-green);
	padding: 17px 40px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.4px;
	cursor: pointer;
	font-family: inherit;
	transition: all 0.2s ease;
	align-self: flex-start;
}

.fg-co-form .wpcf7-form .wpcf7-submit:hover,
.fg-pd-form-fields .wpcf7-form .wpcf7-submit:hover {
	background: var(--brand-accent);
	border-color: var(--brand-accent);
}

.fg-co-form .wpcf7-form .wpcf7-not-valid,
.fg-pd-form-fields .wpcf7-form .wpcf7-not-valid {
	border-color: var(--brand-orange) !important;
}

.fg-co-form .wpcf7-response-output,
.fg-pd-form-fields .wpcf7-response-output {
	margin: 12px 0 0;
	padding: 12px 16px;
	border: 1px solid var(--line);
	font-size: 14px;
}

.fg-co-form .wpcf7-mail-sent-ok,
.fg-pd-form-fields .wpcf7-mail-sent-ok {
	background: var(--surface-green-soft);
	color: var(--brand-green-deep);
	border-color: var(--line-green);
}

.fg-co-form .wpcf7-validation-errors,
.fg-co-form .wpcf7-mail-sent-ng,
.fg-pd-form-fields .wpcf7-validation-errors,
.fg-pd-form-fields .wpcf7-mail-sent-ng {
	background: #FDF0E7;
	color: var(--brand-orange);
	border-color: var(--brand-orange);
}

.fg-co-form .wpcf7-not-valid-tip,
.fg-pd-form-fields .wpcf7-not-valid-tip {
	color: var(--brand-orange);
	font-size: 12px;
}

/* ---------------------------------------------------------------------------
 * Contact Form 7 — theme-styled forms (end)
 * ------------------------------------------------------------------------- */

/* --- Contact responsive --- */
@media (max-width: 1023px) {
	.fg-co-hero-inner {
		flex-direction: column;
	}
	.fg-co-left,
	.fg-co-right {
		padding: 40px 24px;
	}
	.fg-co-address-cards {
		grid-template-columns: 1fr;
	}
	.fg-co-row {
		flex-direction: column;
	}
}

@media (max-width: 639px) {
	.fg-co-title {
		font-size: 28px;
	}
	.fg-co-office-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.fg-co-addresses-head {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------------------------------------------------------------------------
 * Contact shop (contactshop frame)
 * ------------------------------------------------------------------------- */
.fg-contact-shop {
	background: var(--white);
	color: var(--text-body);
}

.fg-cs-section {
	padding: 80px 0;
}

.fg-cs-container {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-direction: column;
	gap: 36px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-cs-container {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-cs-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.fg-cs-titleblock {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 640px;
}

.fg-cs-eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--brand-orange);
}

.fg-cs-title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.75px;
	color: var(--ink);
	margin: 0;
}

.fg-cs-count-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 32px;
	border: 1px solid var(--brand-green);
	color: var(--brand-green);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.fg-cs-count-btn:hover {
	background: var(--brand-green);
	color: var(--white);
}

.fg-cs-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.fg-cs-filter {
	padding: 10px 20px;
	border: 1px solid var(--brand-green);
	background: var(--white);
	color: var(--brand-green);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	cursor: pointer;
	font-family: inherit;
	transition: all 0.2s ease;
}

.fg-cs-filter:hover,
.fg-cs-filter:focus,
.fg-cs-filter:active,
.fg-cs-filter-active {
	background: var(--brand-green);
	color: var(--white);
	border-color: var(--brand-green);
}

.fg-cs-subtitle {
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-muted);
	margin: 0;
	max-width: 680px;
}

/* City group */
.fg-cs-city {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fg-cs-city-head {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 12px;
}

.fg-cs-city-name {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--ink-strong);
	white-space: nowrap;
}

.fg-cs-city-count {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: var(--brand-green);
	white-space: nowrap;
}

.fg-cs-city-line {
	flex: 1;
	height: 1px;
	background: var(--line);
}

.fg-cs-city-rows {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.fg-cs-store {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fg-cs-store-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fg-cs-store-icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-cs-store-name {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
}

.fg-cs-store-address {
	font-size: 13px;
	line-height: 1.55;
	color: var(--text-muted);
	margin: 0;
}

.fg-cs-store-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--brand-green);
	text-decoration: none;
	padding-top: 12px;
	transition: color 0.2s ease;
}

.fg-cs-store-cta:hover {
	color: var(--brand-accent);
}

/* --- Contact shop responsive --- */
@media (max-width: 1023px) {
	.fg-cs-city-rows {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 639px) {
	.fg-cs-head {
		flex-direction: column;
		align-items: flex-start;
	}
	.fg-cs-city-rows {
		grid-template-columns: 1fr;
	}
	.fg-cs-city-head {
		flex-wrap: wrap;
	}
}

/* ---------------------------------------------------------------------------
 * Contact details (contactdetails frame / single boutique)
 * ------------------------------------------------------------------------- */
.fg-contact-details {
	background: var(--white);
	color: var(--text-body);
}

.fg-cd-main {
	padding: 56px 0;
}

.fg-cd-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-cd-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-cd-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fg-cd-breadcrumb a {
	font-size: 11px;
	letter-spacing: 1px;
	color: var(--text-muted-4);
	text-decoration: none;
	transition: color 0.2s ease;
}

.fg-cd-breadcrumb a:hover {
	color: var(--brand-green);
}

.fg-cd-breadcrumb span {
	font-size: 11px;
	color: var(--text-muted-4);
}

.fg-cd-breadcrumb-current {
	font-weight: 700;
	color: var(--ink-strong) !important;
}

.fg-cd-title-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}

.fg-cd-title-block {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 640px;
}

.fg-cd-eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--brand-orange);
}

.fg-cd-title {
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.9px;
	color: var(--ink);
	margin: 0;
}

.fg-cd-subtitle {
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-muted);
	margin: 0;
}

.fg-cd-actions {
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.fg-cd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.4px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.fg-cd-btn-primary {
	background: var(--brand-green);
	color: var(--white);
	border: 1px solid var(--brand-green);
	padding: 17px 40px;
}

.fg-cd-btn-primary:hover,
.fg-cd-btn-primary:focus,
.fg-cd-btn-primary:active {
	background: var(--brand-accent);
	border-color: var(--brand-accent);
}

.fg-cd-btn-outline {
	border: 1px solid var(--brand-green);
	color: var(--brand-green);
	padding: 17px 40px;
}

.fg-cd-btn-outline:hover,
.fg-cd-btn-outline:focus,
.fg-cd-btn-outline:active {
	background: var(--brand-green);
	color: var(--white);
	border-color: var(--brand-green);
}

.fg-cd-info-row {
	display: flex;
	gap: 24px;
}

.fg-cd-store-img {
	flex: 1;
	min-height: 400px;
	background: var(--surface-mist);
	background-size: cover;
	background-position: center;
}

.fg-cd-info-card {
	width: 420px;
	flex-shrink: 0;
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	box-sizing: border-box;
}

.fg-cd-info-heading {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--ink-strong);
}

.fg-cd-info-row2 {
	display: flex;
	align-items: center;
	gap: 14px;
}

.fg-cd-info-icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-cd-info-texts {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fg-cd-info-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--text-muted-3);
}

.fg-cd-info-value {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink-strong);
}

.fg-cd-info-line {
	height: 1px;
	background: var(--line);
}

.fg-cd-info-note {
	font-size: 12px;
	line-height: 1.6;
	color: var(--text-muted);
	margin: 0;
}

.fg-cd-services {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fg-cd-services-heading {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--ink-strong);
}

.fg-cd-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.fg-cd-chip {
	background: var(--surface-mist);
	color: var(--brand-green-deep);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 10px 20px;
}

.fg-cd-others {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-top: 16px;
}

.fg-cd-others-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.fg-cd-others-title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--ink-strong);
}

.fg-cd-others-link {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--brand-green);
	text-decoration: none;
}

.fg-cd-others-link:hover {
	color: var(--brand-accent);
}

.fg-cd-others-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.fg-cd-other-card {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.fg-cd-other-card:hover {
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.07);
	transform: translateY(-2px);
}

.fg-cd-other-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fg-cd-other-icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-cd-other-name {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
}

.fg-cd-other-address {
	font-size: 13px;
	line-height: 1.55;
	color: var(--text-muted);
}

.fg-cd-other-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--brand-green);
	padding-top: 12px;
}

/* --- Contact details responsive --- */
@media (max-width: 1023px) {
	.fg-cd-title-row {
		flex-direction: column;
		align-items: flex-start;
	}
	.fg-cd-info-row {
		flex-direction: column;
	}
	.fg-cd-info-card {
		width: 100%;
	}
	.fg-cd-others-cards {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------------
 * Services (services frame)
 * ------------------------------------------------------------------------- */
.fg-services {
	background: var(--white);
	color: var(--text-body);
}

.fg-sv-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-sv-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-sv-page-title {
	padding: 64px 0;
}

.fg-sv-breadcrumb {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.fg-sv-breadcrumb a {
	font-size: 12px;
	letter-spacing: 0.7px;
	color: var(--text-body);
	text-decoration: none;
}

.fg-sv-breadcrumb a:hover {
	color: var(--brand-green);
}

.fg-sv-breadcrumb span {
	font-size: 12px;
	color: var(--line);
}

.fg-sv-breadcrumb-current {
	font-weight: 700;
	color: var(--ink-strong) !important;
}

.fg-sv-h1 {
	font-size: 44px;
	font-weight: 800;
	letter-spacing: -1.5px;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 24px;
}

.fg-sv-intro {
	font-size: 16px;
	line-height: 1.6;
	color: var(--text-body);
	max-width: 672px;
	margin: 0;
}

.fg-sv-services {
	padding: 48px 0 80px;
}

.fg-sv-section-head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 40px;
}

.fg-sv-eyebrow {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--brand-orange);
}

.fg-sv-eyebrow-line {
	width: 48px;
	height: 1px;
	background: var(--brand-orange);
}

.fg-sv-h2 {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.75px;
	color: var(--ink);
	margin: 0;
}

.fg-sv-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.fg-sv-card {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fg-sv-card-icon {
	width: 48px;
	height: 48px;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-sv-card-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ink-strong);
	margin: 0;
}

.fg-sv-card-text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

.fg-sv-process {
	background: var(--surface-mist);
	padding: 64px 0;
}

.fg-sv-process .fg-sv-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-sv-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.fg-sv-step {
	background: var(--white);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fg-sv-step-num {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.5px;
	color: var(--brand-orange);
}

.fg-sv-step-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
}

.fg-sv-step-text {
	font-size: 13px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

.fg-sv-cta {
	background: var(--brand-green);
	padding: 64px 0;
}

.fg-sv-cta-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-sv-cta-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-sv-cta-texts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fg-sv-cta-title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.75px;
	color: var(--white);
	margin: 0;
}

.fg-sv-cta-text {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.64);
	margin: 0;
}

.fg-sv-cta-btn {
	background: var(--white);
	color: var(--brand-green);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 16px 32px;
	text-decoration: none;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.fg-sv-cta-btn:hover {
	background: var(--surface-green-soft);
	color: var(--brand-accent);
}

/* --- Services responsive --- */
@media (max-width: 1023px) {
	.fg-sv-grid {
		grid-template-columns: 1fr;
	}
	.fg-sv-steps {
		grid-template-columns: repeat(2, 1fr);
	}
	.fg-sv-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 639px) {
	.fg-sv-h1 {
		font-size: 34px;
	}
	.fg-sv-steps {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------------
 * Legal / content pages (privacypolicy, termsofuse, deliverypolicy, compliance, faq, helpcenter, dealer)
 * ------------------------------------------------------------------------- */
.fg-legal,
.fg-faq,
.fg-help,
.fg-dealer {
	background: var(--white);
	color: var(--text-body);
}

.fg-legal-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-legal-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Page title */
.fg-legal-title {
	padding: 64px 0;
}

.fg-legal-title .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.fg-legal-breadcrumb {
	display: flex;
	align-items: center;
	gap: 16px;
}

.fg-legal-breadcrumb a {
	font-size: 12px;
	letter-spacing: 0.7px;
	color: var(--text-body);
	text-decoration: none;
}

.fg-legal-breadcrumb a:hover {
	color: var(--brand-green);
}

.fg-legal-breadcrumb span {
	font-size: 12px;
	color: var(--line);
}

.fg-legal-breadcrumb-current {
	font-weight: 700;
	color: var(--ink-strong) !important;
}

.fg-legal-h1 {
	font-size: 44px;
	font-weight: 800;
	letter-spacing: -1.5px;
	line-height: 1.1;
	color: var(--ink);
	margin: 0;
}

.fg-legal-updated {
	font-size: 13px;
	letter-spacing: 0.5px;
	color: var(--text-muted-4);
	margin: 0;
}

.fg-legal-intro {
	font-size: 16px;
	line-height: 1.6;
	color: var(--text-body);
	max-width: 672px;
	margin: 0;
}

/* Content sections */
.fg-legal-content {
	padding: 24px 0 80px;
}

.fg-legal-content .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.fg-legal-section {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fg-legal-h2 {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.4px;
	color: var(--ink-strong);
	margin: 0;
}

.fg-legal-h2-lg {
	font-size: 30px;
	letter-spacing: -0.75px;
	color: var(--ink);
}

.fg-legal-para {
	font-size: 15px;
	line-height: 1.7;
	color: var(--text-body);
	margin: 0;
}

/* Cards sections (compliance / helpcenter / dealer benefits) */
.fg-legal-cards-sec,
.fg-help-cats {
	padding: 48px 0 80px;
}

.fg-legal-section-head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 40px;
}

.fg-legal-eyebrow {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--brand-orange);
}

.fg-legal-eyebrow-line {
	width: 48px;
	height: 1px;
	background: var(--brand-orange);
}

.fg-legal-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.fg-legal-card {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fg-legal-card-icon {
	width: 48px;
	height: 48px;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-legal-card-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ink-strong);
	margin: 0;
}

.fg-legal-card-text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

/* Stats (compliance) */
.fg-legal-stats {
	background: var(--surface-mist);
	padding: 64px 0;
}

.fg-legal-stats .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-legal-stats-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.fg-legal-stat {
	background: var(--white);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.fg-legal-stat-num {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.7px;
	color: var(--brand-green);
}

.fg-legal-stat-label {
	font-size: 13px;
	color: var(--text-body);
}

/* Steps (dealer / services reuse) */
.fg-legal-steps-sec {
	background: var(--surface-mist);
	padding: 64px 0;
}

.fg-legal-steps-sec .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-legal-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.fg-legal-step {
	background: var(--white);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fg-legal-step-num {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.5px;
	color: var(--brand-orange);
}

.fg-legal-step-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
}

.fg-legal-step-text {
	font-size: 13px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

/* Zones (delivery) */
.fg-legal-zones {
	padding: 48px 0 64px;
}

.fg-legal-zones .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-legal-zone-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.fg-legal-zone-card {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fg-legal-zone-icon {
	width: 48px;
	height: 48px;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-legal-zone-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ink-strong);
	margin: 0;
}

.fg-legal-zone-text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

/* CTA band */
.fg-legal-cta {
	background: var(--brand-green);
	padding: 64px 0;
}

.fg-legal-cta-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	box-sizing: border-box;
}

@media (min-width: 1201px) {
	.fg-legal-cta-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

.fg-legal-cta-texts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fg-legal-cta-title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.75px;
	color: var(--white);
	margin: 0;
}

.fg-legal-cta-text {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.64);
	margin: 0;
}

.fg-legal-cta-btn {
	background: var(--white);
	color: var(--brand-green);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 16px 32px;
	text-decoration: none;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.fg-legal-cta-btn:hover {
	background: var(--surface-green-soft);
	color: var(--brand-accent);
}

/* FAQ */
.fg-faq-content {
	padding: 32px 0 80px;
}

.fg-faq-content .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-faq-cat {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.fg-faq-cat-head {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 4px;
}

.fg-faq-cat-name {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--ink-strong);
	white-space: nowrap;
}

.fg-faq-cat-line {
	flex: 1;
	height: 1px;
	background: var(--line);
}

.fg-faq-item {
	background: var(--white);
	border: 1px solid var(--line-green);
}

.fg-faq-q {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	background: none !important;
	border: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	transition: background 0.2s ease, color 0.2s ease;
}

.fg-faq-q:hover,
.fg-faq-q:focus,
.fg-faq-q:active,
.fg-faq-q:focus-visible {
	background: var(--surface-green-soft) !important;
	color: var(--brand-green-deep);
}

.fg-faq-item.fg-faq-open .fg-faq-q {
	background: var(--surface-green-soft) !important;
}

.fg-faq-toggle {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease;
}

.fg-faq-item.fg-faq-open .fg-faq-toggle {
	transform: rotate(45deg);
}

.fg-faq-a {
	display: none;
	padding: 0 24px 20px;
}

.fg-faq-item.fg-faq-open .fg-faq-a {
	display: block;
}

.fg-faq-a p {
	font-size: 14px;
	line-height: 1.7;
	color: var(--text-body);
	margin: 0;
}

/* Help center */
.fg-help-popular {
	padding: 48px 0;
}

.fg-help-popular .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-help-articles {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.fg-help-article {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 18px 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fg-help-article-title {
	font-size: 15px;
	font-weight: 700;
	color: var(--ink-strong);
}

.fg-help-article-text {
	font-size: 13px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

.fg-help-contact {
	background: var(--surface-mist);
	padding: 64px 0;
}

.fg-help-contact .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-help-contact-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.fg-help-contact-card {
	background: var(--white);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.fg-help-contact-card:hover {
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.07);
	transform: translateY(-2px);
}

.fg-help-contact-icon {
	width: 36px;
	height: 36px;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-help-contact-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--text-muted-3);
}

.fg-help-contact-value {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-strong);
}

/* Dealer requirements */
.fg-dealer-reqs {
	padding: 64px 0;
}

.fg-dealer-reqs .fg-legal-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fg-dealer-reqs-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.fg-dealer-req {
	background: var(--white);
	border: 1px solid var(--line-green);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fg-dealer-req-icon {
	width: 36px;
	height: 36px;
	background: var(--surface-green-soft);
	color: var(--brand-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fg-dealer-req-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink-strong);
}

.fg-dealer-req-text {
	font-size: 13px;
	line-height: 1.6;
	color: var(--text-body);
	margin: 0;
}

/* Legal responsive */
@media (max-width: 1023px) {
	.fg-legal-cards {
		grid-template-columns: 1fr;
	}
	.fg-legal-stats-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.fg-legal-steps {
		grid-template-columns: repeat(2, 1fr);
	}
	.fg-legal-zone-grid {
		grid-template-columns: 1fr;
	}
	.fg-help-articles {
		grid-template-columns: 1fr;
	}
	.fg-help-contact-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.fg-dealer-reqs-row {
		grid-template-columns: 1fr;
	}
	.fg-legal-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 639px) {
	.fg-legal-h1 {
		font-size: 32px;
	}
	.fg-legal-stats-row,
	.fg-legal-steps,
	.fg-help-contact-row {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------------
 * Contact — Google map on the right.
 * The map module is a fixed 600px block, vertically centered in the hero so its
 * top/bottom align with the left "CONTACTEZ-NOUS" module (eyebrow → ENVOYER
 * button) on desktop — no background bands above/below the 600px map.
 * ------------------------------------------------------------------------- */
.fg-co-right-map {
	padding: 0;
	position: relative;
	height: 600px;
	align-self: center;
	background: transparent;
}

.fg-co-right-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

@media (max-width: 1023px) {
	/* Stacked layout: map below the form — keep the original full-width block. */
	.fg-co-right-map {
		height: auto;
		align-self: stretch;
		min-height: 420px;
	}
	.fg-co-right-map iframe {
		position: absolute;
		inset: 0;
		transform: none;
		height: 100%;
	}
}



