/**
 * FoodX contact page.
 *
 * Scoped under .fx-contact. Shares the site container convention
 * (1360px cap, 20px gutter) with .fx-products-in, .fx-pdp and .fx-shop.
 */

.fx-contact{
	--fx-forest:#163d2b;
	--fx-forest-deep:#0f2c1f;
	--fx-green:#2f7a4f;
	--fx-green-soft:#e8f2ea;
	--fx-ink:#1a2b22;
	--fx-muted:#7a8078;
	--fx-line:#ebe8e1;
	--fx-tomato:#d2452e;
	--fx-radius:16px;

	max-width:1360px;
	width:calc(100% - 40px);
	margin:0 auto;
	padding:24px 0 96px;
	color:var(--fx-ink);
	box-sizing:border-box;
}

.fx-contact *{box-sizing:border-box;}

/* --- breadcrumb --------------------------------------------------------- */

.fx-contact .fx-crumbs{
	display:flex;flex-wrap:wrap;align-items:center;gap:8px;
	font-size:.85rem;color:var(--fx-muted);margin-bottom:26px;
}
.fx-contact .fx-crumbs a{color:var(--fx-muted);text-decoration:none;}
.fx-contact .fx-crumbs a:hover{color:var(--fx-green);text-decoration:underline;}
.fx-contact .fx-crumbs .is-current{color:var(--fx-ink);font-weight:700;}

/* --- head --------------------------------------------------------------- */

.fx-ct-head{max-width:60ch;margin-bottom:40px;}
.fx-ct-eyebrow{
	font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
	color:var(--fx-green);margin:0 0 10px;
}
.fx-ct-title{
	font-family:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,sans-serif;
	font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1.08;
	letter-spacing:-.02em;color:var(--fx-forest);margin:0 0 14px;
}
.fx-ct-lede{color:var(--fx-muted);font-size:1.02rem;line-height:1.6;margin:0;}

/* --- layout ------------------------------------------------------------- */

.fx-ct-body{
	display:grid;
	grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
	gap:56px;
	align-items:start;
}

@media (max-width:900px){
	.fx-ct-body{grid-template-columns:1fr;gap:40px;}
}

/* --- info column -------------------------------------------------------- */

.fx-ct-info-title{
	font-size:1.15rem;font-weight:800;color:var(--fx-forest);
	margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--fx-line);
}
.fx-ct-details{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:22px;}
.fx-ct-detail{display:flex;gap:14px;align-items:flex-start;}
.fx-ct-ic{
	flex:0 0 auto;width:38px;height:38px;border-radius:10px;
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--fx-green-soft);color:var(--fx-green);
}
.fx-ct-detail-body{display:flex;flex-direction:column;gap:3px;padding-top:1px;}
.fx-ct-detail-label{
	font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-muted);
}
.fx-ct-detail-value{font-size:.96rem;line-height:1.5;color:var(--fx-ink);}
.fx-ct-detail-value a{color:var(--fx-green);text-decoration:none;}
.fx-ct-detail-value a:hover{text-decoration:underline;}

.fx-ct-note{
	background:#faf9f6;border:1px solid var(--fx-line);border-radius:12px;
	padding:16px 18px;
}
.fx-ct-note p{margin:0;font-size:.88rem;line-height:1.55;color:var(--fx-muted);}

/* --- form --------------------------------------------------------------- */

.fx-ct-form-wrap{
	background:#fff;border:1px solid var(--fx-line);border-radius:var(--fx-radius);
	padding:30px 30px 32px;
}

@media (max-width:520px){
	.fx-ct-form-wrap{padding:22px 18px 24px;}
}

.fx-ct-banner{
	border-radius:11px;padding:14px 16px;margin:0 0 22px;
	font-size:.92rem;line-height:1.5;font-weight:600;
}
.fx-ct-banner.is-ok{background:var(--fx-green-soft);color:#1c5637;border:1px solid #bcdcc6;}
.fx-ct-banner.is-err{background:#fdecea;color:#a5271a;border:1px solid #f2c4bd;}

.fx-ct-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

@media (max-width:520px){
	.fx-ct-row{grid-template-columns:1fr;gap:0;}
}

.fx-ct-field{margin:0 0 18px;display:flex;flex-direction:column;gap:7px;}
.fx-ct-field label{font-size:.82rem;font-weight:700;color:var(--fx-ink);}
.fx-req{color:var(--fx-tomato);}
.fx-opt{color:var(--fx-muted);font-weight:400;}

.fx-ct-field input,
.fx-ct-field select,
.fx-ct-field textarea{
	width:100%;font:inherit;font-size:.95rem;color:var(--fx-ink);
	background:#fff;border:1px solid var(--fx-line);border-radius:10px;padding:12px 14px;
}
.fx-ct-field textarea{resize:vertical;min-height:140px;line-height:1.55;}
.fx-ct-field input:focus,
.fx-ct-field select:focus,
.fx-ct-field textarea:focus{
	outline:none;border-color:var(--fx-green);box-shadow:0 0 0 3px rgba(47,122,79,.14);
}

.fx-ct-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px;}
.fx-ct-submit{
	appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:.95rem;
	color:#fff;background:var(--fx-forest);border-radius:999px;padding:13px 32px;
	transition:background .18s ease;
}
.fx-ct-submit:hover{background:var(--fx-forest-deep);}
.fx-ct-reassure{font-size:.84rem;color:var(--fx-muted);}

/* Honeypot — visually gone, still in the tab order for no one but bots. */
.fx-ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

@media (prefers-reduced-motion:reduce){
	.fx-ct-submit{transition:none;}
}
