/* Asymmetric radii (design handoff). Collapse to 28px below 860px, except the
   product image, which keeps its desktop corners on phones too. */
.radius-hero { border-radius: 120px 32px 120px 32px; }
.radius-product { border-radius: 32px 120px 32px 120px; }
.radius-step-a { border-radius: 80px 24px 80px 24px; }
.radius-step-b { border-radius: 24px 80px 24px 80px; }

@media (max-width: 859px) {
	.radius-hero,
	.radius-step-a,
	.radius-step-b { border-radius: 28px; }
}

/* Page bands stack edge to edge (no root block gap between header, main, footer). */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Designed sections use line-height "normal" (design source); per-element values below still apply. */
.lp-announce,
.lp-header,
.lp-hero,
.lp-buy,
.lp-howto,
.lp-journal,
.lp-ig,
.lp-newsletter,
.lp-footer { line-height: normal; }

/* Small primary button variant. */
.wp-block-button.is-style-small .wp-block-button__link,
.btn-small {
	font-size: 13px;
	letter-spacing: 0.08em;
	padding: 16px 28px;
}

/* ---------- Header ---------- */
/* Part wrapper must not become the sticky containing block. */
.wp-block-template-part:has(> .lp-header) { display: contents; }

.lp-header {
	position: sticky;
	top: 0;
	z-index: 30;
}
.admin-bar .lp-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .lp-header { top: 46px; }
}
/* Below 600px the admin bar scrolls away with the page, so no offset. */
@media (max-width: 600px) {
	.admin-bar .lp-header { top: 0; }
}

.lp-header__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}
.lp-header__row > * { margin: 0; }
.lp-header .lp-logo { margin: 0; justify-self: start; }
.lp-header .lp-logo a { display: block; }
/* Logo size comes from the Site Logo block's width slider (Site Editor), not CSS. */
.lp-header .lp-logo img { display: block; height: auto; }
.lp-header .lp-cart-link { justify-self: end; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--ink); }

.lp-header a,
.lp-footer a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}
.lp-header a:hover,
.lp-footer a:hover { color: var(--wp--preset--color--terracotta); }

/* Desktop menu links and cart (the block's 14px is set inline on the nav; the links inherit it). */
@media (min-width: 860px) {
	.lp-header .lp-nav .wp-block-navigation-item__content,
	.lp-header .lp-cart-link { font-size: 16px; }
	/* Extra links that only belong in the phone menu. */
	.lp-header .lp-nav .lp-nav__phone { display: none; }
}

/* Hamburger: two 2px lines, 24px wide (drawn with pseudo-elements, no icon svg). */
.lp-nav .wp-block-navigation__responsive-container-open {
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 24px;
	padding: 6px 0;
	color: var(--wp--preset--color--ink);
}
.lp-nav .wp-block-navigation__responsive-container-open svg { display: none; }
.lp-nav .wp-block-navigation__responsive-container-open::before,
.lp-nav .wp-block-navigation__responsive-container-open::after {
	content: "";
	display: block;
	height: 2px;
	background: var(--wp--preset--color--ink);
}

@media (max-width: 859px) {
	.lp-header { padding: 12px 16px !important; }
	.lp-header__row { grid-template-columns: auto 1fr auto; }
	.lp-header .lp-logo { grid-column: 2; grid-row: 1; justify-self: center; }
	/* Keep the slider width on phones, but never crowd out the burger and cart. */
	.lp-header .lp-logo { max-width: 45vw; }
	.lp-header .lp-nav { display: contents; }
	.lp-header .lp-nav .wp-block-navigation__responsive-container-open {
		grid-column: 1;
		grid-row: 1;
		display: flex;
	}
	.lp-header .lp-cart-link { grid-column: 3; grid-row: 1; }

	/* Core flips to the inline menu at 600px; keep the overlay up to 859px. */
	.lp-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
}

/* Overlay (README section 2, mobile). */
.lp-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 20px 24px;
	background-color: var(--wp--preset--color--cream);
}
.lp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 0;
	gap: 0;
	align-items: stretch;
}
.lp-nav .is-menu-open .wp-block-navigation__responsive-container-content::before {
	content: "";
	display: block;
	width: 100%;
	height: 56px;
	margin-bottom: 8px;
	padding-bottom: 20px;
	box-sizing: content-box;
	border-bottom: 1px solid var(--wp--preset--color--line);
	/* The Site Logo (set by functions.php), falling back to the theme's logo image. */
	background: var(--lp-menu-logo, url("../img/logo-ink.png")) left center / auto 56px no-repeat;
}
.lp-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.lp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	width: 100%;
	gap: 8px;
	align-items: stretch;
}
.lp-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
/* Extra classes outweigh core's 7.1 overlay reset (padding: 0). */
.lp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 18px 0;
	font-family: var(--wp--preset--font-family--lora);
	font-size: 24px;
	font-weight: 400;
}
.lp-nav .wp-block-navigation__responsive-container-close {
	top: 7px;
	right: 4px;
	color: var(--wp--preset--color--ink);
}

/* ---------- Footer ---------- */
.lp-footer__cols {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: 48px;
}
.lp-footer__cols > * { margin: 0; }
.lp-footer__col {
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 14px;
	color: var(--wp--preset--color--ink);
}
.lp-footer__col > * { margin: 0; }
.lp-footer__brand { gap: 20px; }
.lp-footer__brand p { max-width: 280px; }
.lp-footer__brand .wp-block-image img,
.lp-footer__brand .wp-block-site-logo img { display: block; height: auto; }
.lp-footer__heading {
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--terracotta);
}
.lp-footer__bottom { gap: 24px; margin-top: 0; }
.lp-footer .lp-footer__legal { gap: 26px; }

@media (max-width: 859px) {
	.lp-footer { padding-left: 16px !important; padding-right: 16px !important; }
	.lp-footer__cols { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
	.lp-footer__cols > .lp-footer__col:first-child { grid-column: 1 / -1; }
}

/* ---------- Hero ---------- */
/* --lp-hero-* values come from Appearance > Layout (inc/layout.php); fallbacks are the defaults. */
.lp-hero {
	display: grid;
	grid-template-columns: var(--lp-hero-cols, minmax(0, 47fr) minmax(0, 53fr));
	gap: var(--lp-hero-gap, 48px);
	align-items: var(--lp-hero-align, center);
	padding: 24px 40px 40px;
	max-width: var(--lp-hero-max, none);
	margin-inline: auto;
	box-sizing: content-box;
}
.lp-hero > * { margin: 0; }
.lp-hero__text {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 40px 0 40px 16px;
	min-width: 0;
	/* Pasted text can carry non-breaking spaces; never let it run under the image. */
	overflow-wrap: anywhere;
}
.lp-hero__text > * { margin: 0; }
/* Beats the Site Editor's preset font-size classes (!important), so the size lives in one place. */
.lp-hero .lp-hero__title {
	font-family: var(--wp--preset--font-family--lora);
	font-weight: 400;
	font-size: var(--lp-hero-title, clamp(40px, 4.2vw, 56px)) !important;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-wrap: balance;
	max-width: var(--lp-hero-title-w, none);
	overflow-wrap: normal;
}
.lp-hero__lead { font-size: 19px; line-height: 1.5; max-width: var(--lp-hero-lead-w, 520px); }
.lp-checks {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 17px;
	color: var(--wp--preset--color--ink);
}
.lp-checks li { display: flex; gap: 10px; margin: 0; padding: 0; }
.lp-checks li::before { content: "\2713"; color: var(--wp--preset--color--terracotta); }
.lp-hero__cta { margin-top: 14px; }
.lp-hero__img {
	position: relative;
	order: var(--lp-hero-img-order, 0);
	margin: 0;
	min-height: var(--lp-hero-img-h, min(78vh, 760px));
	overflow: hidden;
	background: var(--wp--preset--color--peach);
	/* "Bucket" frame: soft corners, top slightly wider than the bottom.
	   Path is in a 100x100 box stretched to the figure, so it fits any aspect ratio.
	   Layout settings swap it for plain corners via --lp-hero-mask: none. */
	--lp-mask-bucket: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M17 0H84C94 0 100 8 100 20L97 76C96 92 90 100 77 100H24C10 100 4 92 3 74L0 22C0 8 7 0 17 0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
	border-radius: var(--lp-hero-radius, 0);
	-webkit-mask: var(--lp-hero-mask, var(--lp-mask-bucket));
	mask: var(--lp-hero-mask, var(--lp-mask-bucket));
	/* Own GPU layer: the frame mask is applied by the compositor, not repainted every video frame. */
	transform: translateZ(0);
}
/* Image or Video block: the media fills the frame either way. */
.lp-hero__img img,
.lp-hero__img video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ---------- How to use ---------- */
.lp-howto { padding: 0 16px; }
.lp-howto__card {
	border-radius: var(--lp-card-radius, 48px);
	padding: 88px 40px 96px;
}
.lp-howto__title {
	font-family: var(--wp--preset--font-family--lora);
	font-weight: 400;
	font-size: 38px;
	line-height: 1.15;
	text-align: center;
	max-width: 760px;
	margin: 0 auto 64px;
	text-wrap: pretty;
}
.lp-howto__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px 64px;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}
.lp-howto__grid > * { margin: 0; }
/* Rows alternate media left, right, left; source order already pairs each step with its frame.
   Fallback fill shows while a frame's video is loading or not chosen yet. */
.lp-howto__img { aspect-ratio: 4 / 3; overflow: hidden; margin: 0; background: var(--wp--preset--color--fallback); }
.lp-howto__img img,
.lp-howto__img video { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Steps 1 and 3: the action is in the upper part of the tall clips, so crop above the middle. */
.lp-howto__img--a img,
.lp-howto__img--a video { object-position: 50% 30%; }
.lp-howto__img--c img,
.lp-howto__img--c video { object-position: 50% 20%; }
.lp-howto__steps { display: flex; flex-direction: column; gap: 36px; }
.lp-howto__steps > * { margin: 0; }
.lp-step { display: flex; flex-direction: column; gap: 10px; }
.lp-step > * { margin: 0; }
.lp-step h3 { font-family: var(--wp--preset--font-family--nunito); font-weight: 800; font-size: 21px; line-height: normal; }
.lp-step p { font-size: 15.5px; line-height: 1.7; }
.lp-howto__cta { margin: 64px 0 0; justify-content: center; }

/* Journal */
.lp-journal { padding: 0 16px; }
/* Stacked right under the how-to card: same 16px gutter as the cards' sides. */
.lp-howto + .lp-journal { margin-block-start: 16px; }
.lp-journal__card { border-radius: var(--lp-card-radius, 48px); padding: 88px 40px; }
.lp-journal__head { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; margin: 0 0 48px; }
.lp-journal__head > * { margin: 0; }
.lp-journal__title { font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: 38px; }
.lp-journal__all { font-weight: 700; font-size: 14px; color: var(--wp--preset--color--ink); }
.lp-journal__all a { text-decoration: none; color: inherit; transition: color .2s ease; }
.lp-journal__all a:hover { color: var(--wp--preset--color--terracotta); }
.lp-journal__query .wp-block-post-template { gap: 28px; margin: 0; padding: 0; }
.lp-jcard { display: flex; flex-direction: column; gap: 18px; }
.lp-jcard > * { margin: 0; }
.lp-jcard__img { overflow: hidden; border-radius: 28px; background: var(--wp--preset--color--fallback); }
.lp-jcard__img a { display: block; height: 100%; }
.lp-jcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 28px; transition: transform .7s ease; }
.lp-jcard:hover .lp-jcard__img img { transform: scale(1.04); }
.lp-jcard__body { display: flex; flex-direction: column; gap: 8px; }
.lp-jcard__body > * { margin: 0; }
.lp-jcard__title { font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: 21px; line-height: 1.3; }
.lp-jcard__title a { text-decoration: none; color: inherit; }
.lp-jcard__excerpt { font-size: 14.5px; line-height: 1.65; color: var(--wp--preset--color--body); }
.lp-jcard__excerpt p { margin: 0; }
.lp-jcard__more { margin-top: 4px; font-weight: 700; font-size: 13.5px; color: var(--wp--preset--color--terracotta); text-decoration: none; }

@media (max-width: 859px) {
	.lp-product-section { padding: 56px 16px !important; }
	.lp-hero {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 8px 16px 24px;
	}
	/* Phones: a share of the visible screen (svh ignores the browser bars), not a tall 4:5 box. */
	.lp-hero__img { order: var(--lp-hero-img-order-m, -1); min-height: 0; height: 45vh; height: var(--lp-hero-img-h-m, 45svh); border-radius: var(--lp-hero-radius-m, 0); }
	.lp-hero__text { padding: 8px 4px 0; gap: 16px; }
	.lp-hero .lp-hero__title { font-size: var(--lp-hero-title-m, 40px) !important; line-height: 1.05; }
	.lp-hero__lead { font-size: 17px; }
	.lp-howto__card { padding: 56px 40px; }
	.lp-howto__title { font-size: 28px; }
	.lp-howto__grid { grid-template-columns: 1fr; gap: 40px; }
	.lp-howto__img--a { order: 1; }
	.lp-howto__steps--a { order: 2; }
	.lp-howto__img--b { order: 3; }
	.lp-howto__steps--b { order: 4; }
	.lp-howto__img--c { order: 5; }
	.lp-howto__steps--c { order: 6; }
	.lp-journal__card { padding: 56px 40px; }
	.lp-journal__title { font-size: 28px; }
	.lp-journal__query .wp-block-post-template { grid-template-columns: 1fr !important; }
}

/* ---------- Instagram strip ---------- */
.lp-ig { padding: 96px 40px 80px; }
.lp-ig__head { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; margin: 0 0 24px; }
.lp-ig__head > * { margin: 0; }
.lp-ig__title { font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: 28px; }
.lp-ig__link { font-weight: 700; font-size: 14px; color: var(--wp--preset--color--ink); }
.lp-ig__link a { text-decoration: none; color: inherit; transition: color .2s ease; }
.lp-ig__link a:hover { color: var(--wp--preset--color--terracotta); }
.lp-ig__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.lp-ig__grid > * { margin: 0; }
.lp-ig__tile { aspect-ratio: 1; overflow: hidden; border-radius: 24px; background: var(--wp--preset--color--fallback); }
.lp-ig__tile a { display: block; width: 100%; height: 100%; }
.lp-ig__tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.lp-ig__tile:hover img { transform: scale(1.04); }
/* No synced posts yet: one note across the whole grid. */
.lp-ig__empty { grid-column: 1 / -1; margin: 0; padding: 56px 24px; border-radius: 24px; background: var(--wp--preset--color--fallback); color: var(--wp--preset--color--body); text-align: center; font-size: 15px; }

/* ---------- Newsletter ---------- */
.lp-newsletter { padding: 0 16px 16px; }
.lp-newsletter__card { border-radius: var(--lp-card-radius, 48px); padding: 80px 40px; }
.lp-newsletter__inner { max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.lp-newsletter__inner > * { margin: 0; }
.lp-newsletter__title { font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: 32px; line-height: 1.2; }
.lp-newsletter__text { font-size: 15px; line-height: 1.7; }
.lp-newsletter__form { display: flex; flex-wrap: wrap; width: 100%; gap: 8px; margin-top: 8px; }
.lp-newsletter__input, .lp-newsletter__btn { box-sizing: border-box; }
.lp-newsletter__input { flex: 1; min-width: 200px; background: var(--wp--preset--color--cream); border: 1px solid var(--wp--preset--color--line); border-radius: 999px; outline: 0; padding: 16px 22px; font-family: inherit; font-size: 15px; color: var(--wp--preset--color--ink); }
.lp-newsletter__input:focus-visible { border-color: var(--wp--preset--color--terracotta); }
.lp-newsletter__btn { background: var(--wp--preset--color--terracotta); color: var(--wp--preset--color--cream); border: 0; border-radius: 999px; cursor: pointer; font-family: inherit; font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding: 16px 28px; transition: background .2s ease; }
.lp-newsletter__btn:hover { background: var(--wp--preset--color--terracotta-hover, #A85B36); }
.lp-newsletter__btn:disabled { opacity: .6; cursor: progress; }
/* Spam trap: off-screen, skipped by keyboard and screen readers. */
.lp-newsletter__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lp-newsletter__msg { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--ink); }
.lp-newsletter__msg:empty { display: none; }
.lp-newsletter__msg.is-error { color: var(--wp--preset--color--peach-text); }
.lp-newsletter__note { font-size: 12.5px; color: var(--wp--preset--color--muted); }
.lp-newsletter__note a { color: inherit; }

@media (max-width: 859px) {
	.lp-ig { padding: 56px 16px; }
	.lp-ig__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-newsletter__card { padding: 56px 40px; }
	.lp-newsletter__title { font-size: 28px; }
	.lp-newsletter__form { flex-direction: column; }
	.lp-newsletter__input, .lp-newsletter__btn { width: 100%; min-width: 0; flex: none; }
}

/* ---------- Generic templates (page, post, archive, search, 404) ---------- */
.lp-page { padding: 40px 24px 96px; }
.lp-page__title { font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: 44px; line-height: 1.15; color: var(--wp--preset--color--ink); margin: 0 0 24px; }
/* Woo caps cart/checkout/account titles at 1000px; match the wide store column. */
.lp-woo .lp-page__title.wp-block-post-title { max-width: var(--wp--style--global--wide-size, 1180px); }
/* Coupon "Pritaikyti": compact, sized by the input next to it, not the big theme pill. */
.lp-woo .wc-block-components-totals-coupon__button.wp-element-button { padding: 0 16px; min-height: 0; font-size: 12px; letter-spacing: .06em; }
/* Woo zeroes the country/state select's top margin assuming it is the first field; LT puts names first. */
.lp-woo .wc-block-components-form .wc-block-components-address-form > * + .wc-block-components-country-input,
.lp-woo .wc-block-components-form .wc-block-components-address-form > * + .wc-block-components-state-input { margin-top: 12px; }
.lp-post__img { margin: 0 0 32px; overflow: hidden; background: var(--wp--preset--color--fallback); }
.lp-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp-post__date { font-size: 14px; color: var(--wp--preset--color--muted); margin: -16px 0 32px; }
.lp-post__back { margin-top: 48px; font-weight: 700; font-size: 14px; }
.lp-post__back a { text-decoration: none; color: inherit; transition: color .2s ease; }
.lp-post__back a:hover { color: var(--wp--preset--color--terracotta); }
.lp-archive { max-width: var(--wp--style--global--wide-size, 1180px); margin: 0 auto; padding: 72px 40px 96px; box-sizing: border-box; }
.lp-archive .lp-page__title { text-align: left; }
.lp-pagination { margin-top: 56px; gap: 16px; font-weight: 700; font-size: 14px; }
.lp-pagination a { text-decoration: none; color: inherit; }
.lp-pagination a:hover { color: var(--wp--preset--color--terracotta); }
.lp-404 { padding: 120px 24px 140px; text-align: center; }
.lp-404 > * { margin-left: auto; margin-right: auto; }
.lp-404__eyebrow { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--terracotta); }
.lp-404__code { margin: 14px 0 0; font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: clamp(88px, 16vw, 144px); line-height: 1; color: var(--wp--preset--color--ink); }
.lp-404__lede { margin: 12px 0 0; font-family: var(--wp--preset--font-family--lora); font-size: 21px; line-height: 1.5; color: var(--wp--preset--color--body); }
.lp-404 .wp-block-buttons { margin-top: 32px; gap: 12px; }
.lp-btn-ghost .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); box-shadow: inset 0 0 0 1px var(--wp--preset--color--ink); }
.lp-btn-ghost .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); }
.lp-product-desc { color: var(--wp--preset--color--body); }

@media (max-width: 859px) {
	.lp-page { padding: 24px 16px 64px; }
	.lp-page__title { font-size: 32px; }
	.lp-archive { padding: 48px 16px 64px; }
	.lp-archive .wp-block-post-template { grid-template-columns: 1fr !important; }
	.lp-404 { padding: 72px 16px 96px; }
	.lp-product-desc { padding: 0 16px 64px !important; }
}

/* Woo cart/checkout form fields: soft warm fields like the newsletter input instead of Woo's grey-black boxes. */
.lp-woo {
	--lp-field-border: var(--wp--preset--color--line);
	--lp-field-border-hover: color-mix(in srgb, var(--wp--preset--color--line) 55%, var(--wp--preset--color--muted));
}
.lp-woo .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]),
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__select,
.lp-woo .wc-block-components-textarea,
.lp-woo .wc-block-components-quantity-selector {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--lp-field-border);
	border-radius: 14px;
	box-shadow: none;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--nunito);
	font-size: 15.5px;
	transition: border-color .2s ease;
}
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__container { background: transparent; border-radius: 14px; }
.lp-woo .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]),
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__select { padding-left: 18px; padding-right: 18px; }
.lp-woo .wc-block-components-text-input label,
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__label { left: 19px; color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--nunito); }
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__expand { right: 16px; fill: var(--wp--preset--color--muted); }
.lp-woo .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):hover,
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__select:hover,
.lp-woo .wc-block-components-textarea:hover { border-color: var(--lp-field-border-hover); }
.lp-woo .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):focus,
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.lp-woo .wc-block-components-textarea:focus {
	border-color: var(--wp--preset--color--terracotta);
	box-shadow: 0 0 0 1px var(--wp--preset--color--terracotta);
	outline: 0;
}
/* Woo trims the side padding on focus; keep the text where it sits at rest. */
.lp-woo .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):focus,
.lp-woo .wc-blocks-components-select .wc-blocks-components-select__select:focus { padding-left: 18px; padding-right: 18px; }
.lp-woo .wc-block-components-text-input.has-error input:not([type="checkbox"]):not([type="radio"]),
.lp-woo .wc-blocks-components-select.has-error .wc-blocks-components-select__select { border-color: #cc1818; }
.lp-woo .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--lp-field-border-hover);
	border-radius: 6px;
}
.lp-woo .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--wp--preset--color--terracotta); border-color: var(--wp--preset--color--terracotta); }
.lp-woo .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--cream); }
.lp-woo .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus { outline: 2px solid var(--wp--preset--color--terracotta); outline-offset: 2px; }
