/* Food Shed footer newsletter signup. Brand fonts are declared here too because the footer is on every page. */
@font-face {
	font-family: "Press Style";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(/wp-content/uploads/fs-home-v2/fonts/press-style.woff2) format("woff2");
}

@font-face {
	font-family: "Caveat Brush";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(/wp-content/uploads/fs-home-v2/fonts/caveat-brush-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Caveat Brush";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(/wp-content/uploads/fs-home-v2/fonts/caveat-brush-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.fsnl {
	--fsnl-ink: #3C2415;
	--fsnl-purple: #52154E;
	--fsnl-orange: #F36C22;
	--fsnl-gold: #FCB534;
	--fsnl-green-dk: #4F6F33;
	--fsnl-gray: #646159;
	--fsnl-paper: #FFF8EB;
	position: relative;
	padding: 76px 24px 84px;
	color: var(--fsnl-ink);
	font-family: "Lato", sans-serif;
	background: url(/wp-content/uploads/fs-home-v2/grain.svg) 0 0 / 220px 220px, var(--fsnl-purple);
}

/* Torn top edge, same as the homepage sections. */
.fsnl::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -27px;
	height: 28px;
	background: inherit;
	pointer-events: none;
	-webkit-mask: url(/wp-content/uploads/fs-home-v2/torn-edge.svg) 0 0 / 100% 100% no-repeat;
	mask: url(/wp-content/uploads/fs-home-v2/torn-edge.svg) 0 0 / 100% 100% no-repeat;
}

.fsnl__inner {
	max-width: 1080px;
	margin: 0 auto;
}

/* The postcard */
.fsnl__card {
	position: relative;
	padding: 46px 52px 34px;
	background: var(--fsnl-paper);
	border: 3px solid var(--fsnl-ink);
	border-radius: 22px;
	box-shadow: 8px 8px 0 var(--fsnl-ink);
	transform: rotate(-.5deg);
}

.fsnl__copy {
	max-width: 620px;
}

.fsnl .fsnl__kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	font: 400 28px/1.1 "Caveat Brush", cursive;
	color: var(--fsnl-green-dk);
}

.fsnl__kicker::before {
	content: "";
	flex: none;
	width: 12px;
	height: 34px;
	background: url(/wp-content/uploads/fs-home-v2/brand/carrot.png) center / contain no-repeat;
	transform: rotate(20deg);
}

.fsnl .fsnl__title {
	margin: 0 0 12px;
	padding: 0;
	font: 400 50px/1.02 "Press Style", "Lato", sans-serif;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fsnl-purple);
}

.fsnl__accent {
	color: var(--fsnl-orange);
	background: url(/wp-content/uploads/fs-home-v2/swoosh.svg) 0 96% / 100% .26em no-repeat;
	padding-bottom: .06em;
}

.fsnl .fsnl__text {
	margin: 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--fsnl-ink);
}

.fsnl__nowrap {
	white-space: nowrap;
}

.fsnl .fsnl__fine {
	margin: 2px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--fsnl-gray);
}

/* Stamp and postmark in the top-right corner */
.fsnl__stamp {
	position: absolute;
	top: -26px;
	right: 40px;
	width: 112px;
	transform: rotate(6deg);
	filter: drop-shadow(4px 4px 0 var(--fsnl-ink));
	pointer-events: none;
}

.fsnl__postmark {
	position: absolute;
	top: 58px;
	right: 118px;
	width: 200px;
	opacity: .72;
	transform: rotate(-10deg);
	pointer-events: none;
}

.fsnl__stamp svg,
.fsnl__postmark svg {
	display: block;
	width: 100%;
	height: auto;
}

/* The form: one row of First name, Email, ZIP and the button */
.fsnl__form {
	margin-top: 26px;
}

.fsnl .wpforms-container {
	--wpforms-field-border-color: var(--fsnl-ink);
	--wpforms-field-border-size: 2px;
	--wpforms-field-border-radius: 12px;
	--wpforms-field-background-color: #FFFFFF;
	--wpforms-field-text-color: var(--fsnl-ink);
	--wpforms-label-color: var(--fsnl-ink);
	--wpforms-label-error-color: #C2410C;
	--wpforms-button-background-color: var(--fsnl-purple);
	--wpforms-button-text-color: #FFFFFF;
	--wpforms-button-border-radius: 999px;
	--wpforms-field-size-input-height: 52px;
	--wpforms-field-size-font-size: 16px;
	margin: 0 !important;
	padding: 0;
}

.fsnl div.wpforms-container-full .wpforms-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, .65fr) auto;
	gap: 14px;
	align-items: start;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-field-container {
	display: contents;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-field {
	margin: 0;
	padding: 0;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-field-hidden,
.fsnl div.wpforms-container-full .wpforms-form .wpforms-field-hp {
	display: none;
}

/* hCaptcha, noscript and error notices go full width below the row so the button stays beside the fields. */
.fsnl div.wpforms-container-full .wpforms-form > :not(.wpforms-field-container):not(.wpforms-submit-container) {
	grid-column: 1 / -1;
	order: 2;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-field-label {
	margin: 0 0 6px;
	padding: 0;
	font: 900 12px/1.2 "Lato", sans-serif;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fsnl-ink);
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-required-label {
	color: var(--fsnl-orange);
}

.fsnl div.wpforms-container-full .wpforms-form input[type=text],
.fsnl div.wpforms-container-full .wpforms-form input[type=email] {
	width: 100%;
	max-width: none;
	height: 52px;
	padding: 0 16px;
	font: 400 16px/1 "Lato", sans-serif;
	color: var(--fsnl-ink);
	background: #FFFFFF;
	border: 2px solid var(--fsnl-ink);
	border-radius: 12px;
	box-shadow: none;
	transition: box-shadow .15s ease;
}

.fsnl div.wpforms-container-full .wpforms-form input::placeholder {
	color: #9A948A;
	opacity: 1;
}

.fsnl div.wpforms-container-full .wpforms-form input[type=text]:focus,
.fsnl div.wpforms-container-full .wpforms-form input[type=email]:focus {
	border-color: var(--fsnl-ink);
	box-shadow: 0 0 0 4px var(--fsnl-gold);
	outline: none;
}

.fsnl div.wpforms-container-full .wpforms-form input.wpforms-error {
	border-color: #C2410C;
}

.fsnl div.wpforms-container-full .wpforms-form em.wpforms-error,
.fsnl div.wpforms-container-full .wpforms-form label.wpforms-error {
	margin-top: 6px;
	padding: 0;
	font: 700 13px/1.3 "Lato", sans-serif;
	color: #C2410C;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-submit-container {
	position: relative;
	margin: 0;
	padding: 20px 0 0;
}

.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 52px;
	padding: 0 26px;
	font: 900 17px/1 "Lato", sans-serif;
	white-space: nowrap;
	color: #FFFFFF;
	background: var(--fsnl-purple);
	border: 2px solid var(--fsnl-ink);
	border-radius: 999px;
	box-shadow: 4px 4px 0 var(--fsnl-ink);
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit::after {
	content: "\2192";
	font-size: 19px;
}

.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit:hover {
	background: #6A1E65;
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--fsnl-ink);
}

.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit:active {
	transform: translate(2px, 2px);
	box-shadow: 1px 1px 0 var(--fsnl-ink);
}

.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit:focus-visible {
	outline: 3px solid var(--fsnl-gold);
	outline-offset: 3px;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-submit-spinner {
	position: absolute;
	right: -30px;
	top: 34px;
	margin: 0;
}

.fsnl div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container {
	margin: 0;
	padding: 0;
}

.fsnl .wpforms-container .wpforms-error-container,
.fsnl .wpforms-container .wpforms-error-container p {
	margin: 0;
	font: 700 14px/1.4 "Lato", sans-serif;
	color: #C2410C;
}

/* After signing up */
.fsnl .wpforms-confirmation-container-full,
.fsnl div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
	margin: 0;
	padding: 22px 26px;
	font: 400 17px/1.5 "Lato", sans-serif;
	color: var(--fsnl-ink);
	background: #FFFFFF;
	border: 2px solid var(--fsnl-ink);
	border-radius: 16px;
	box-shadow: none;
}

.fsnl .wpforms-confirmation-container-full p {
	margin: 0 0 6px;
}

.fsnl .wpforms-confirmation-container-full p:last-child {
	margin-bottom: 0;
}

.fsnl .wpforms-confirmation-container-full .fsnl-done__title {
	margin-bottom: 8px;
	font: 400 32px/1.05 "Press Style", "Lato", sans-serif;
	color: var(--fsnl-purple);
}

.fsnl__fallback {
	display: inline-flex;
	padding: 14px 26px;
	font: 900 17px/1 "Lato", sans-serif;
	color: #FFFFFF;
	text-decoration: none;
	background: var(--fsnl-purple);
	border: 2px solid var(--fsnl-ink);
	border-radius: 999px;
	box-shadow: 4px 4px 0 var(--fsnl-ink);
}

@media (max-width: 1024px) {
	.fsnl .fsnl__copy {
		max-width: 520px;
	}

	.fsnl__postmark {
		right: 108px;
		width: 170px;
	}
}

@media (max-width: 860px) {
	.fsnl div.wpforms-container-full .wpforms-form {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.fsnl div.wpforms-container-full .wpforms-form .wpforms-submit-container {
		padding-top: 18px;
	}

	.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit {
		width: 100%;
	}

	.fsnl__postmark {
		display: none;
	}

	.fsnl .fsnl__copy {
		max-width: none;
		padding-right: 120px;
	}
}

@media (max-width: 600px) {
	.fsnl {
		padding: 56px 16px 60px;
	}

	.fsnl__card {
		padding: 32px 22px 24px;
		border-radius: 18px;
		box-shadow: 6px 6px 0 var(--fsnl-ink);
		transform: none;
	}

	.fsnl .fsnl__copy {
		padding-right: 0;
	}

	.fsnl .fsnl__kicker {
		padding-right: 72px;
		font-size: 23px;
	}

	.fsnl .fsnl__title {
		padding-right: 64px;
		font-size: 34px;
	}

	.fsnl .fsnl__text {
		font-size: 16px;
	}

	.fsnl__stamp {
		top: -20px;
		right: 14px;
		width: 76px;
	}

	.fsnl div.wpforms-container-full .wpforms-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.fsnl div.wpforms-container-full .wpforms-form .wpforms-submit-container {
		padding-top: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fsnl div.wpforms-container-full .wpforms-form button.wpforms-submit {
		transition: none;
	}
}
