/*
Theme Name: Nifty One
Author: Nifty Tools
Description: A modern, editorial block theme for independent shops, with full WooCommerce support.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nifty-one
Domain Path: /languages
Tags: full-site-editing, e-commerce, block-patterns, custom-colors, custom-logo, featured-images, wide-blocks, translation-ready
*/

/* Follow the palette from Appearance → Editor → Styles, so colour changes there apply everywhere. */
:root {
	--nifty-ink: var(--wp--preset--color--ink, #1b1e1d);
	--nifty-paper: var(--wp--preset--color--paper, #f7f6f2);
	--nifty-green: var(--wp--preset--color--forest, #0e6a55);
	--nifty-lime: var(--wp--preset--color--citrus, #dceb6e);
	--nifty-line: var(--wp--preset--color--line, #e3e1da);
	--nifty-muted: var(--wp--preset--color--muted, #5b615e);
}

html {
	scroll-behavior: smooth;
	overflow-x: clip;
}

body {
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

a {
	text-underline-offset: 0.18em;
}

a:hover {
	text-decoration-thickness: 2px;
}

:where(.wp-site-blocks *:focus-visible) {
	outline: 3px solid var(--nifty-green);
	outline-offset: 3px;
}

.nifty-one-header {
	position: sticky;
	top: 0;
	z-index: 20;
	border-bottom: 1px solid var(--nifty-line);
	background: var(--nifty-paper);
}

.nifty-one-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--nifty-green);
	background-image: linear-gradient(125deg, #0e6a55 0%, #0e6a55 58%, #137a63 58%, #137a63 100%);
	color: #fff;
}


.nifty-one-hero h1 {
	max-width: 760px;
	text-wrap: balance;
}

.nifty-one-hero > .wp-block-columns {
	padding-right: 24px;
	padding-left: 24px;
}

.nifty-one-hero p {
	text-wrap: pretty;
}

.nifty-one-hero-art {
	min-height: 300px;
	background: repeating-linear-gradient(135deg, #137a63 0 12px, #0f7059 12px 24px);
}

.nifty-one-benefit {
	border-top: 1px solid var(--nifty-ink);
	padding-top: 20px;
}

.nifty-one-product-grid .wc-block-components-product-image img,
.nifty-one-product-grid .wc-block-components-product-image {
	border-radius: 8px;
}

.nifty-one-product-grid .wp-block-post-title {
	font-size: 18px;
}

.woocommerce input,
.woocommerce select,
.woocommerce textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input {
	border-color: #d6d3cb;
	border-radius: 4px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button:not(.is-link) {
	border-radius: 4px;
	background: var(--nifty-green);
	color: #fff;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: #0a5242;
	color: #fff;
}

@media (max-width: 781px) {
	.nifty-one-hero-art {
		min-height: 220px;
	}

	.nifty-one-hero h1 {
		font-size: 44px !important;
	}

	.nifty-one-header .wp-block-site-title {
		font-size: 24px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}


.nifty-one-header {
	border-bottom: 0;
}

.nifty-one-announcement {
	background: var(--nifty-lime);
	color: var(--nifty-ink);
	font-size: 13px;
	font-weight: 600;
}

.nifty-one-announcement p {
	margin: 0;
	padding: 8px 16px;
}

.nifty-one-header-bar {
	border-bottom: 1px solid var(--nifty-line);
	background: var(--nifty-paper);
	padding-top: 14px;
	padding-bottom: 14px;
}

.nifty-one-header .wp-block-site-title {
	font-size: 30px !important;
}

.nifty-one-header .wp-block-navigation-item__content {
	color: var(--nifty-ink);
	text-decoration: none;
}

.nifty-one-header .wp-block-navigation-item__content:hover {
	color: var(--nifty-green);
}

.nifty-one-header-actions .wp-block-navigation {
	white-space: nowrap;
}

.nifty-one-header-actions .wp-block-search__inside-wrapper {
	border: 1px solid var(--nifty-line);
	border-radius: 999px;
	background: #fff;
	padding: 4px 10px;
}

.nifty-one-header-actions .wp-block-search__input {
	border: 0;
	background: transparent;
}

.nifty-one-header-actions .wp-block-search__button {
	margin: 0;
	padding: 4px;
	background: transparent;
	color: var(--nifty-ink);
}

/* Mini cart: icon + item count in a pill. The icon is chosen in the Mini-Cart block settings. */
.nifty-one-header-actions .wc-block-mini-cart__button {
	display: flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	border-radius: 999px;
	background: var(--nifty-ink);
	color: var(--nifty-paper);
	padding: 8px 16px;
}

.nifty-one-header-actions .wc-block-mini-cart__button:hover {
	background: var(--nifty-green);
}

.nifty-one-header-actions .wc-block-mini-cart__icon {
	width: 22px;
	height: 22px;
	color: currentColor;
	fill: currentColor;
}

.nifty-one-header-actions .wc-block-mini-cart__quantity-badge {
	position: static !important;
	display: inline-flex;
	align-items: center;
}

.nifty-one-header-actions .wc-block-mini-cart__badge:not([hidden]) {
	position: static;
	display: inline-flex !important;
	margin: 0 !important;
	transform: none !important;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--nifty-paper) !important;
	color: var(--nifty-ink) !important;
	font-size: 14px;
	font-weight: 700;
}

.nifty-one-hero {
	background-image: none;
}

.nifty-one-hero-art {
	position: relative;
	display: flex;
	min-height: 0;
	aspect-ratio: 5 / 4;
	align-items: flex-end;
	border-radius: 8px;
	background: repeating-linear-gradient(135deg, #137a63 0 12px, #0f7059 12px 24px);
	padding: 16px;
}

.nifty-one-hero-art p {
	margin: 0;
	border-radius: 3px;
	background: var(--nifty-lime);
	color: var(--nifty-ink);
	font-family: monospace;
	font-size: 11px;
	line-height: 1.4;
	padding: 5px 8px;
}

.nifty-one-hero h1 {
	max-width: 650px;
	font-size: 72px;
}

.nifty-one-hero-actions .wp-block-button__link {
	border-radius: 999px;
	padding: 14px 24px;
}

.nifty-one-hero-actions .is-style-outline .wp-block-button__link {
	border: 1px solid #fff;
	color: #fff;
}

.nifty-one-shop-section > .wp-block-group:first-child {
	margin-bottom: 24px;
}

.nifty-one-shop-section > .wp-block-group:first-child h2 {
	margin: 0;
}

.nifty-one-shop-section > .wp-block-group:first-child p {
	margin: 0;
	font-size: 14px;
}

.nifty-one-product-grid .wp-block-post-template {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	column-gap: 20px;
	row-gap: 28px;
}

.nifty-one-product-grid .nifty-one-product-art {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 8px;
	background: #f3f2ec;
}

.nifty-one-product-grid .wp-block-post-title {
	margin-top: 12px;
	margin-bottom: 0;
	font-size: 17px;
}

.nifty-one-product-grid .wp-block-woocommerce-product-price {
	margin-top: 2px;
	font-size: 14px;
}

.nifty-one-product-grid .wp-block-post-excerpt {
	margin-top: 0;
	color: var(--nifty-muted);
	font-size: 13px;
}

.nifty-one-compare {
	margin-top: 24px;
	margin-bottom: 24px;
	border-top: 1px solid var(--nifty-ink);
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/* Comparison section: left-aligned to the wide edge like "Shop by form" and the benefits row. */
.nifty-one-compare h2 {
	max-width: 760px;
	margin-top: 0;
	margin-bottom: 8px;
}

.nifty-one-compare-intro {
	max-width: 640px;
	margin-top: 0;
	color: #4a504d;
}

.nifty-one-compare-table {
	margin-top: var(--wp--preset--spacing--40);
	overflow-x: auto;
	font-size: 14px;
}

.nifty-one-compare-table table {
	width: 100%;
	min-width: 700px;
	border-collapse: collapse;
}

.nifty-one-compare-table th:first-child,
.nifty-one-compare-table td:first-child {
	padding-left: 0;
}

.nifty-one-compare-table td:last-child {
	padding-right: 0;
}

.nifty-one-compare-table th,
.nifty-one-compare-table td {
	border: 0;
	border-bottom: 1px solid var(--nifty-line);
	padding: 14px 10px;
	text-align: left;
}

.nifty-one-compare-table thead th {
	border-bottom: 1px solid var(--nifty-ink);
	font-weight: 600;
}

.nifty-one-compare-table th:first-child {
	font-weight: 600;
}

.nifty-one-compare-table td:last-child {
	text-align: right;
}

.nifty-one-benefit {
	border-top: 1px solid var(--nifty-ink);
	padding-top: 20px;
}

.nifty-one-benefit h3 {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: 19px;
}

.nifty-one-benefit p {
	margin-top: 0;
	color: #4a504d;
	font-size: 14px;
}

.nifty-one-testimonial {
	margin-bottom: 96px;
	border-radius: 8px;
	background: var(--nifty-lime);
	color: var(--nifty-ink);
}

.nifty-one-testimonial .wp-block-columns {
	margin-bottom: 0;
}

.nifty-one-quote {
	margin: 0;
	border: 0;
	padding: 0;
	font-family: Archivo, sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
}

.nifty-one-quote p {
	margin: 0;
}

.nifty-one-footer .wp-block-site-title {
	font-size: 32px !important;
}

.nifty-one-footer,
.nifty-one-footer p,
.nifty-one-footer h2,
.nifty-one-footer a,
.nifty-one-footer .wp-block-site-title a,
.nifty-one-footer .wp-block-navigation-item__content {
	color: #fff;
}

.nifty-one-footer .wp-block-navigation-item__content {
	text-decoration: none;
}

.nifty-one-footer a:hover,
.nifty-one-footer .wp-block-navigation-item__content:hover {
	color: var(--nifty-lime);
}

.nifty-one-footer-heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.nifty-one-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.nifty-one-footer-bottom p {
	margin: 0;
}

.nifty-one-disclaimer {
	max-width: 760px;
	opacity: 0.85;
}

.nifty-one-footer .wp-block-separator {
	margin-top: 48px;
	margin-bottom: 24px;
	background-color: #33383a;
}

.nifty-one-footer-bottom p:first-child {
	max-width: 760px;
	line-height: 1.55;
}

.nifty-one-footer-cta .wp-block-button__link {
	border-radius: 4px;
}

@media (min-width: 782px) and (max-width: 1024px) {
	.nifty-one-hero h1 {
		font-size: 52px;
	}

	.nifty-one-product-grid .wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 681px) and (max-width: 781px) {
	.nifty-one-hero .wp-block-columns {
		flex-wrap: nowrap !important;
		gap: 24px;
	}

	.nifty-one-hero .wp-block-column {
		flex-basis: 50% !important;
	}

	.nifty-one-hero h1 {
		font-size: 44px !important;
	}
}

@media (max-width: 781px) {
	.nifty-one-header-bar {
		padding-right: 16px;
		padding-left: 16px;
	}

	.nifty-one-header-actions {
		gap: 8px;
	}

	.nifty-one-product-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.nifty-one-compare {
		padding: 24px 0 !important;
	}

	.nifty-one-testimonial {
		padding: 28px !important;
	}

	.nifty-one-quote {
		font-size: 24px;
	}

	.nifty-one-footer-columns > .wp-block-column {
		flex-basis: calc(50% - 20px) !important;
	}
}


.nifty-one-product-grid .wp-block-post {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	row-gap: 4px;
}

.nifty-one-product-grid .nifty-one-product-art {
	grid-column: 1 / -1;
}

.nifty-one-product-grid .wp-block-post-title {
	grid-column: 1;
	grid-row: 2;
}

.nifty-one-product-grid .wp-block-woocommerce-product-price {
	grid-column: 2;
	grid-row: 2;
	align-self: baseline;
	text-align: right;
}

.nifty-one-product-grid .wp-block-post-excerpt {
	grid-column: 1 / -1;
	grid-row: 3;
}

.nifty-one-shop-heading {
	width: 100%;
}

.nifty-one-footer-columns {
	display: grid !important;
	grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr));
	gap: 40px;
}

.nifty-one-footer-columns > .wp-block-column {
	width: auto;
	min-width: 0;
}

@media (min-width: 782px) and (max-width: 1024px) {
	.nifty-one-hero h1 {
		font-size: 52px !important;
	}
}

@media (min-width: 681px) and (max-width: 781px) {
	.nifty-one-hero h1 {
		font-size: 50px !important;
	}

	.nifty-one-shop-section h2 {
		font-size: 32px !important;
	}

	.nifty-one-product-grid .wp-block-post-template {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		column-gap: 12px;
	}

	.nifty-one-product-grid .wp-block-post-title {
		font-size: 14px;
	}

	.nifty-one-product-grid .wp-block-post-excerpt,
	.nifty-one-product-grid .wp-block-woocommerce-product-price {
		font-size: 11px;
	}


	.nifty-one-footer-columns {
		gap: 20px;
	}
}

@media (max-width: 680px) {
	.nifty-one-product-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.nifty-one-footer-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}
}


/* Forms dropdown (desktop): product thumbnail, name and one-line description, then a compare link. */
@media (min-width: 600px) {
	.nifty-one-header .nifty-one-forms-menu > .wp-block-navigation__submenu-container {
		width: 360px !important;
		min-width: 360px !important;
		gap: 0;
		border: 1px solid var(--wp--preset--color--line) !important;
		border-radius: 16px;
		background: var(--wp--preset--color--white) !important;
		box-shadow: 0 2px 6px rgba(27, 30, 29, 0.05), 0 16px 36px rgba(27, 30, 29, 0.1);
		padding: 8px !important;
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100%;
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: grid !important;
		width: 100%;
		grid-template-columns: 48px minmax(0, 1fr);
		align-items: center;
		column-gap: 14px;
		border-radius: 12px;
		color: var(--wp--preset--color--ink);
		padding: 8px !important;
		transition: background-color 0.15s ease;
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		width: 48px;
		height: 48px;
		grid-row: 1 / span 2;
		border-radius: 10px;
		background: #f3f2ec var(--nifty-form-thumb) center / cover no-repeat;
		content: "";
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
		align-self: end;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.3;
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
		display: block;
		align-self: start;
		margin-top: 2px;
		color: var(--wp--preset--color--muted);
		font-size: 13px;
		font-weight: 400;
		line-height: 1.35;
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: var(--wp--preset--color--paper);
	}

	.nifty-one-header .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
		color: var(--wp--preset--color--forest);
	}

	/* "Compare forms" footer link. */
	.nifty-one-header .nifty-one-forms-menu .is-form-compare {
		margin-top: 6px;
		border-top: 1px solid var(--wp--preset--color--line);
		padding-top: 6px;
	}

	.nifty-one-header .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content {
		display: flex !important;
		justify-content: space-between;
		color: var(--wp--preset--color--forest);
		padding: 10px 8px !important;
	}

	.nifty-one-header .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content::before {
		content: none;
	}

	.nifty-one-header .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content::after {
		content: "\2192";
		transition: transform 0.15s ease;
	}

	.nifty-one-header .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content:hover::after {
		transform: translateX(3px);
	}

	.nifty-one-header .nifty-one-forms-menu .is-form-compare .wp-block-navigation-item__label {
		align-self: center;
		font-size: 14px;
	}
}

/* Product thumbnails (bundled with the theme). */
.nifty-one-forms-menu .is-form-tablets { --nifty-form-thumb: url("assets/images/forms/tablets.webp"); }
.nifty-one-forms-menu .is-form-capsules { --nifty-form-thumb: url("assets/images/forms/capsules.webp"); }
.nifty-one-forms-menu .is-form-liquid { --nifty-form-thumb: url("assets/images/forms/liquid.webp"); }
.nifty-one-forms-menu .is-form-oral { --nifty-form-thumb: url("assets/images/forms/oral-solution.webp"); }
.nifty-one-forms-menu .is-form-powder { --nifty-form-thumb: url("assets/images/forms/powder.webp"); }

.nifty-one-testimonial > .wp-block-columns {
	width: 100%;
	max-width: none !important;
}

/* Keep hero/testimonial columns full width even if caching plugins strip generated layout CSS. */
.nifty-one-hero > .wp-block-columns,
.nifty-one-testimonial > .wp-block-columns {
	display: flex;
	box-sizing: border-box;
	width: 100%;
}

.nifty-one-quote {
	font-size: 36px;
}

@media (max-width: 781px) {

	.nifty-one-quote {
		font-size: 24px;
	}
}
/* ==========================================================================
   Shared components
   ========================================================================== */

.is-style-eyebrow {
	margin-bottom: 0.75rem;
	color: var(--wp--preset--color--forest);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid currentColor;
	background: transparent;
	color: var(--wp--preset--color--ink);
	padding: calc(0.8125rem - 1.5px) calc(1.5rem - 1.5px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

/* Line icons, drawn with CSS masks so they inherit the text colour. */
.nifty-one-icon,
.nifty-one-contact-icon {
	--nifty-icon: none;
}

.is-icon-mail { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.is-icon-phone { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.is-icon-box { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8 12 3 3 8v8l9 5 9-5z'/%3E%3Cpath d='m3 8 9 5 9-5M12 13v8'/%3E%3C/svg%3E"); }
.is-icon-chat { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }

.nifty-one-icon::before {
	display: inline-block;
	width: 1.125rem;
	height: 1.125rem;
	margin-right: 0.5rem;
	vertical-align: -0.2em;
	background: currentColor;
	content: "";
	-webkit-mask: var(--nifty-icon) center / contain no-repeat;
	mask: var(--nifty-icon) center / contain no-repeat;
}

.nifty-one-footer .nifty-one-icon a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* ==========================================================================
   Page hero (landing pages)
   ========================================================================== */

.nifty-one-landing > .wp-block-post-content > :first-child {
	margin-top: 0;
}

.nifty-one-page-hero h1 {
	margin-top: 0;
	margin-bottom: 1rem;
	text-wrap: balance;
}

.nifty-one-page-hero p:last-child {
	margin-bottom: 0;
	text-wrap: pretty;
}

/* ==========================================================================
   Contact page
   ========================================================================== */

.nifty-one-contact-details > h2 {
	margin-top: 0;
	margin-bottom: 0.5rem;
}

.nifty-one-contact-details > p {
	margin-top: 0;
	margin-bottom: 1.75rem;
}

/* Contact rows: content on the page, separated by hairlines — no boxes. */
.nifty-one-contact-card {
	position: relative;
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	padding: 1.25rem 0 1.25rem 2.25rem;
}

.nifty-one-contact-details .nifty-one-contact-card:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.nifty-one-contact-card > * {
	margin: 0;
}

.nifty-one-contact-card h3 {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0;
}

.nifty-one-contact-card .nifty-one-contact-value {
	margin-top: 0.125rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.nifty-one-contact-value a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.nifty-one-contact-value a:hover {
	color: var(--wp--preset--color--forest);
	text-decoration: underline;
}

.nifty-one-contact-card p.has-small-font-size {
	margin-top: 0.25rem;
	color: var(--wp--preset--color--muted);
}

.nifty-one-contact-icon {
	position: absolute;
	top: 1.4rem;
	left: 0;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--wp--preset--color--forest);
}

.nifty-one-contact-icon::before {
	position: absolute;
	inset: 0;
	background: currentColor;
	content: "";
	-webkit-mask: var(--nifty-icon) center / contain no-repeat;
	mask: var(--nifty-icon) center / contain no-repeat;
}

.nifty-one-form-card {
	padding: 0;
}

.nifty-one-form-card > h2 {
	margin-top: 0;
	margin-bottom: 0.375rem;
}

.nifty-one-form-card > p {
	margin-top: 0;
	margin-bottom: 1.75rem;
}

/* SureForms: match the theme's type, fields and buttons. */
.nifty-one-form-card .srfm-form-container {
	--srfm-color-input-border: #d6d3cb;
	--srfm-color-input-border-hover: #a9b3ae;
	--srfm-color-input-background: var(--wp--preset--color--white);
	--srfm-color-input-background-hover: var(--wp--preset--color--white);
	--srfm-bg-color: transparent;
	font-family: var(--wp--preset--font-family--body);
}

.nifty-one-form-card .srfm-form-container .srfm-form {
	padding: 0;
}

.nifty-one-form-card .srfm-block-label {
	font-weight: 600;
}

.nifty-one-form-card .srfm-input-common {
	border-radius: 10px !important;
	font-size: 1rem;
}

.nifty-one-form-card .srfm-submit-container .srfm-button,
.nifty-one-form-card .srfm-submit-container .wp-block-button__link,
.nifty-one-form-card .srfm-submit-container button {
	min-width: 12rem;
	border-radius: 999px;
	font-weight: 700;
}

.nifty-one-help-strip {
	border-radius: 12px;
	gap: 1.5rem;
}

.nifty-one-help-strip h2,
.nifty-one-help-strip p {
	margin: 0;
}

@media (max-width: 781px) {
	.nifty-one-help-strip {
		padding: 1.5rem !important;
	}
}

/* ==========================================================================
   About page
   ========================================================================== */

.nifty-one-rounded-image img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.nifty-one-facts-grid {
	gap: var(--wp--preset--spacing--40);
}

.nifty-one-fact {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	padding-top: 1.25rem;
}

.nifty-one-fact > * {
	margin: 0;
}

.nifty-one-fact .nifty-one-fact-value {
	margin-bottom: 0.375rem;
	color: var(--wp--preset--color--citrus);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.nifty-one-fact p:not(.nifty-one-fact-value) {
	max-width: 22ch;
	opacity: 0.9;
}

.nifty-one-value-card {
	border-top: 1px solid var(--wp--preset--color--ink);
	padding-top: 1.25rem;
}

.nifty-one-value-card > * {
	margin: 0;
}

.nifty-one-value-card h3 {
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

.nifty-one-value-card p:not(.nifty-one-value-number) {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.nifty-one-value-number {
	color: var(--wp--preset--color--forest);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.nifty-one-step {
	position: relative;
	border-top: 2px solid var(--wp--preset--color--line);
	padding: 1.5rem 1.5rem 0 0;
}

.nifty-one-step::before {
	position: absolute;
	top: -0.4rem;
	left: 0;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--forest);
	box-shadow: 0 0 0 4px var(--wp--preset--color--paper);
	content: "";
}

.nifty-one-step .nifty-one-step-label {
	margin: 0 0 0.25rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nifty-one-step h3 {
	margin: 0 0 0.375rem;
}

.nifty-one-step p {
	margin: 0;
	color: var(--wp--preset--color--muted);
}

.nifty-one-quote-band {
	border-radius: 24px;
}

.nifty-one-quote-band p {
	margin: 0;
}

.nifty-one-quote-band .nifty-one-quote-text {
	margin-bottom: 1.25rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-wrap: balance;
}

.nifty-one-cta h2 {
	margin-bottom: 0.75rem;
	text-wrap: balance;
}

.nifty-one-cta p {
	margin-top: 0;
	margin-bottom: 1.75rem;
}

/* ==========================================================================
   FAQ page
   ========================================================================== */

.nifty-one-faq-nav-title {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.nifty-one-faq-topics {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nifty-one-faq-topics li {
	margin: 0;
}

.nifty-one-faq-topics a {
	display: block;
	border-left: 2px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	font-weight: 500;
	padding: 0.5rem 0 0.5rem 1rem;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.nifty-one-faq-topics a:hover,
.nifty-one-faq-topics a:focus-visible {
	border-left-color: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--forest);
}

.nifty-one-faq-group {
	scroll-margin-top: 8rem;
}

.nifty-one-faq-group + .nifty-one-faq-group {
	margin-top: var(--wp--preset--spacing--60);
}

.nifty-one-faq-group > h2 {
	margin: 0 0 0.5rem;
}

.nifty-one-faq-group > .wp-block-details {
	margin: 0;
}

.wp-block-details.is-style-faq {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 0;
}

.wp-block-details.is-style-faq summary {
	position: relative;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
	padding: 1.25rem 3rem 1.25rem 0;
	transition: color 0.2s ease;
}

.wp-block-details.is-style-faq summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.is-style-faq summary:hover {
	color: var(--wp--preset--color--forest);
}

.wp-block-details.is-style-faq summary::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--wp--preset--color--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B1E1D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 1rem no-repeat;
	content: "";
	transform: translateY(-50%);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.wp-block-details.is-style-faq[open] summary::after {
	background-color: var(--wp--preset--color--citrus);
	transform: translateY(-50%) rotate(45deg);
}

.wp-block-details.is-style-faq > :not(summary) {
	max-width: 62ch;
	margin-top: 0;
	color: #3f4542;
	padding-bottom: 1.25rem;
}

.nifty-one-help-strip.has-ink-background-color p {
	opacity: 0.85;
}

@media (min-width: 782px) {
	.nifty-one-faq-nav {
		position: sticky;
		top: 8rem;
		align-self: flex-start;
	}
}

@media (max-width: 1024px) {
	.nifty-one-facts-grid,
	.nifty-one-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.nifty-one-steps {
		row-gap: 2rem !important;
	}
}

@media (max-width: 781px) {
	.nifty-one-value-grid {
		grid-template-columns: 1fr !important;
	}

	.nifty-one-faq-topics {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.nifty-one-faq-topics {
		gap: 0.25rem 1.25rem;
	}

	.nifty-one-faq-topics a {
		border: 0;
		font-size: var(--wp--preset--font-size--small);
		padding: 0.25rem 0;
		text-decoration: underline;
		text-decoration-color: var(--wp--preset--color--line);
		text-underline-offset: 0.3em;
	}

	.nifty-one-quote-band {
		padding: 1.75rem !important;
	}
}

@media (max-width: 480px) {
	.nifty-one-facts-grid,
	.nifty-one-steps {
		grid-template-columns: 1fr !important;
	}
}

.is-icon-truck { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.is-icon-clock { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.is-icon-return { --nifty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 0 11H11'/%3E%3C/svg%3E"); }

/* ==========================================================================
   Policy pages (Terms of sale, Shipping & returns, Privacy policy)
   Header band, then a contents sidebar beside the text on wide screens.
   ========================================================================== */

.nifty-one-legal-hero .wp-block-post-title {
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.nifty-one-legal-meta {
	color: #3f4542;
	font-size: var(--wp--preset--font-size--small);
}

.nifty-one-legal-meta > * {
	margin: 0;
}

/* Reading column. */
.nifty-one-legal-content > * {
	max-width: 720px;
	margin-right: 0;
	margin-left: 0;
}

.nifty-one-legal-content > * + * {
	margin-top: 1.5rem;
}

.nifty-one-policy-label {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--forest);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Shipping highlights: three facts in a row, each under a rule. */
.nifty-one-policy-highlights {
	gap: 1.5rem;
}

.nifty-one-policy-highlights .nifty-one-contact-card {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--ink);
	padding: 1rem 0 0;
}

.nifty-one-policy-highlights .nifty-one-contact-icon {
	position: relative;
	top: auto;
	left: auto;
	margin-bottom: 0.75rem;
}

.nifty-one-policy-highlights .nifty-one-contact-value {
	font-size: var(--wp--preset--font-size--medium);
}

/* "In short" summary. */
.nifty-one-policy-summary {
	border-left: 2px solid var(--wp--preset--color--forest);
	padding: 0.25rem 0 0.25rem 1.25rem;
}

.nifty-one-policy-summary p {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
}

/* Contents list. */
.nifty-one-policy-toc {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 1.25rem 0;
}

.nifty-one-policy-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: nifty-toc;
	font-size: var(--wp--preset--font-size--small);
}

.nifty-one-policy-toc li {
	margin: 0;
	counter-increment: nifty-toc;
}

.nifty-one-policy-toc a {
	display: flex;
	gap: 0.75rem;
	border-left: 2px solid transparent;
	color: var(--wp--preset--color--muted);
	line-height: 1.35;
	padding: 0.4rem 0 0.4rem 0.75rem;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.nifty-one-policy-toc a::before {
	min-width: 1.4em;
	color: #b9b6ad;
	content: counter(nifty-toc, decimal-leading-zero);
	font-variant-numeric: tabular-nums;
	transition: color 0.15s ease;
}

.nifty-one-policy-toc a:hover,
.nifty-one-policy-toc a:focus-visible {
	color: var(--wp--preset--color--ink);
}

.nifty-one-policy-toc a[aria-current="true"] {
	border-left-color: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}

.nifty-one-policy-toc a[aria-current="true"]::before,
.nifty-one-policy-toc a:hover::before {
	color: var(--wp--preset--color--forest);
}

/* Numbered sections. */
.nifty-one-policy-body {
	counter-reset: nifty-policy;
}

.nifty-one-legal-content .nifty-one-policy-body {
	margin-top: var(--wp--preset--spacing--50);
}

.nifty-one-policy-body h2 {
	scroll-margin-top: 7.5rem;
	margin-top: var(--wp--preset--spacing--60);
	margin-bottom: 0.875rem;
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--large);
	counter-increment: nifty-policy;
}

.nifty-one-policy-body h2::before {
	margin-right: 0.75rem;
	color: var(--wp--preset--color--forest);
	content: counter(nifty-policy, decimal-leading-zero);
	font-variant-numeric: tabular-nums;
}

.nifty-one-policy-body h2:first-child {
	margin-top: 0;
	border-top: 0;
	padding-top: 0;
}

.nifty-one-policy-body p,
.nifty-one-policy-body ul {
	margin-top: 0;
	margin-bottom: 1rem;
	color: #3f4542;
	line-height: 1.7;
}

.nifty-one-policy-body ul {
	padding-left: 1.25rem;
}

.nifty-one-policy-body li + li {
	margin-top: 0.5rem;
}

.nifty-one-policy-body li::marker {
	color: var(--wp--preset--color--forest);
}

.nifty-one-policy-body strong {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}

/* Questions row. */
.nifty-one-legal-content .nifty-one-policy-contact {
	margin-top: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--ink);
	gap: 1rem;
	padding: var(--wp--preset--spacing--40) 0 0;
}

.nifty-one-policy-contact p {
	margin: 0;
}

/* Links to the other policies. */
.nifty-one-legal-related {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: var(--wp--preset--spacing--40);
}

.nifty-one-legal-links {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 0.5rem 2rem;
}

.nifty-one-legal-links li {
	margin: 0;
}

.nifty-one-legal-links a {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	text-decoration: none;
}

.nifty-one-legal-links a::after {
	margin-left: 0.4em;
	color: var(--wp--preset--color--forest);
	content: "\2192";
}

.nifty-one-legal-links a:hover {
	color: var(--wp--preset--color--forest);
	text-decoration: underline;
}

.nifty-one-legal-links a[aria-current="page"] {
	color: var(--wp--preset--color--muted);
	font-weight: 500;
	pointer-events: none;
}

.nifty-one-legal-links a[aria-current="page"]::after {
	content: none;
}

/* Wide screens: sticky contents on the left, text on the right. */
@media (min-width: 1024px) {
	.nifty-one-legal-content {
		display: grid;
		grid-template-columns: minmax(200px, 250px) minmax(0, 720px);
		align-items: start;
		column-gap: var(--wp--preset--spacing--70);
	}

	.nifty-one-legal-content > * {
		grid-column: 2;
	}

	.nifty-one-legal-content > * + * {
		margin-top: 0;
	}

	.nifty-one-legal-content > :not(.nifty-one-policy-toc) + :not(.nifty-one-policy-toc) {
		margin-top: 2rem;
	}

	.nifty-one-legal-content > .nifty-one-policy-toc {
		position: sticky;
		top: 7.5rem;
		grid-column: 1;
		grid-row: 1 / span 50;
		align-self: start;
		max-height: calc(100vh - 9rem);
		overflow-y: auto;
		border: 0;
		padding: 0;
	}

	.nifty-one-legal-content .nifty-one-policy-body {
		margin-top: var(--wp--preset--spacing--60);
	}

	.nifty-one-legal-related {
		display: grid;
		grid-template-columns: minmax(200px, 250px) minmax(0, 720px);
		column-gap: var(--wp--preset--spacing--70);
	}

	.nifty-one-legal-related > * {
		grid-column: 2;
	}
}

@media (max-width: 781px) {
	.nifty-one-policy-highlights {
		grid-template-columns: 1fr !important;
	}
}

/* Printing a policy: just the text, with link addresses. */
@media print {
	header.wp-block-template-part,
	footer.wp-block-template-part,
	.nifty-one-policy-toc,
	.nifty-one-policy-contact .wp-block-buttons,
	.nifty-one-legal-related,
	.nifty-one-policy-highlights .nifty-one-contact-icon {
		display: none !important;
	}

	body,
	.nifty-one-legal-hero {
		background: #fff !important;
		color: #000 !important;
	}

	.nifty-one-legal-hero {
		padding: 0 0 1rem !important;
	}

	.nifty-one-legal-content {
		display: block !important;
		padding-top: 0 !important;
	}

	.nifty-one-legal-content > * {
		max-width: none;
	}

	.nifty-one-policy-body h2 {
		break-after: avoid;
	}

	.nifty-one-policy-body p,
	.nifty-one-policy-body li {
		color: #000;
		orphans: 3;
		widows: 3;
	}

	.nifty-one-policy-body a[href^="/"]::after,
	.nifty-one-policy-body a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.85em;
	}
}

/* Home hero image. */
.nifty-one-hero-image {
	margin: 0;
}

.nifty-one-hero-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 8 / 5;
	object-fit: cover;
	border-radius: 12px;
}

/* Editor-only placeholder for the theme's server-rendered product blocks. */
.nifty-one-block-placeholder {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	border: 1px dashed var(--wp--preset--color--line);
	border-radius: 8px;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	padding: 1rem 1.25rem;
}

.nifty-one-block-placeholder strong {
	color: var(--wp--preset--color--ink);
}

/* Header logo (Image block holding assets/images/logo.svg; replaceable in the Site Editor). */
.wp-block-image.nifty-one-logo {
	flex-shrink: 0;
	margin: 0;
	line-height: 0;
}

.wp-block-image.nifty-one-logo img {
	display: block;
	max-width: 100%;
	height: auto;
}

.wp-block-image.nifty-one-logo a:focus-visible {
	outline-offset: 6px;
}

@media (max-width: 781px) {
	.nifty-one-header .wp-block-image.nifty-one-logo img {
		width: 148px !important;
	}
}

/* ==========================================================================
   Mobile menu (core Navigation overlay, below 600px)
   ========================================================================== */

/* Menu button sits at the far right, after account and cart. */
@media (max-width: 599px) {
	.nifty-one-header-inner .nifty-one-primary-nav {
		order: 3;
	}

	.nifty-one-header-inner .nifty-one-header-actions {
		margin-left: auto;
	}

	.nifty-one-header .wp-block-navigation__responsive-container-open {
		display: inline-flex;
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		color: var(--wp--preset--color--ink);
		transition: background-color 0.15s ease;
	}

	.nifty-one-header .wp-block-navigation__responsive-container-open:hover,
	.nifty-one-header .wp-block-navigation__responsive-container-open:focus-visible {
		background: var(--wp--preset--color--sand);
	}
}

/* The open panel. */
.nifty-one-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--paper) !important;
	color: var(--wp--preset--color--ink) !important;
	padding: 1rem clamp(1rem, 5vw, 2rem) 2.5rem;
	animation: nifty-one-menu-in 0.22s ease-out;
}

@keyframes nifty-one-menu-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nifty-one-header .wp-block-navigation__responsive-container.is-menu-open {
		animation: none;
	}
}

/* Close button: a round button top right. */
.nifty-one-header .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1rem;
	right: clamp(1rem, 5vw, 2rem);
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
}

.nifty-one-header .is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 20px;
	height: 20px;
}

/* Left-aligned list, full width. */
.nifty-one-header .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 4.5rem !important;
}

.nifty-one-header .is-menu-open .wp-block-navigation__container {
	width: 100%;
	align-items: stretch !important;
	gap: 0 !important;
}

.nifty-one-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	flex-direction: column;
	align-items: stretch !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

/* Top-level links: large, bold, with an arrow. */
.nifty-one-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex !important;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	padding: 1rem 0 !important;
}

.nifty-one-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content::after {
	color: var(--wp--preset--color--forest);
	content: "\2192";
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.25rem;
	font-weight: 500;
	transition: transform 0.15s ease;
}

.nifty-one-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.nifty-one-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--forest);
}

.nifty-one-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after {
	transform: translateX(3px);
}

/* "Forms": the five products in two columns, each with its cap colour. */
.nifty-one-header .is-menu-open .nifty-one-forms-menu > .wp-block-navigation-item__content {
	padding-bottom: 0.5rem !important;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation-submenu__toggle,
.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation__submenu-icon {
	display: none !important;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu > .wp-block-navigation__submenu-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem !important;
	width: 100%;
	border: 0 !important;
	background: transparent !important;
	padding: 0 0 1rem !important;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
	align-items: flex-start !important;
	margin: 0;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	justify-content: flex-start;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	gap: 0.625rem;
	color: #3f4542;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	padding: 0.625rem 0 !important;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	border-radius: 8px;
	background: #ecebe4 var(--nifty-form-thumb) center / cover no-repeat;
	content: "";
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation-item__description {
	display: none;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .is-form-compare {
	grid-column: 1 / -1;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--forest) !important;
	font-size: var(--wp--preset--font-size--small) !important;
	font-weight: 600 !important;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content::before {
	content: none;
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .is-form-compare > .wp-block-navigation-item__content::after {
	content: "\2192";
}

.nifty-one-header .is-menu-open .nifty-one-forms-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--ink);
}


/* ==========================================================================
   Block styles: Card (group) and Checklist (list)
   ========================================================================== */

.wp-block-group.is-style-card {
	border-radius: 16px;
	background-color: var(--wp--preset--color--sand);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.wp-block-group.is-style-card > :first-child {
	margin-top: 0;
}

.wp-block-group.is-style-card > :last-child {
	margin-bottom: 0;
}

.wp-block-list.is-style-checklist {
	padding-left: 0;
	list-style: none;
}

.wp-block-list.is-style-checklist li {
	position: relative;
	padding-left: 1.875rem;
}

.wp-block-list.is-style-checklist li + li {
	margin-top: 0.5rem;
}

.wp-block-list.is-style-checklist li::before {
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: 50%;
	background: var(--wp--preset--color--forest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
	content: "";
}

/* ==========================================================================
   Theme showcase (Sample Page)
   ========================================================================== */

.nifty-one-showcase-section {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.nifty-one-showcase-head {
	max-width: 640px;
	margin-bottom: var(--wp--preset--spacing--50);
}

.nifty-one-showcase-head > * {
	margin: 0;
}

.nifty-one-showcase-head h2 {
	margin-bottom: 0.5rem;
}

.nifty-one-showcase-head p:last-child {
	color: var(--wp--preset--color--muted);
}

.nifty-one-showcase-label {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Colour swatches. */
.nifty-one-swatches {
	gap: 1.5rem 1rem;
}

.nifty-one-swatch > * {
	margin: 0;
}

.nifty-one-swatch-chip {
	min-height: 88px;
	margin-bottom: 0.75rem !important;
	border-radius: 12px;
	box-shadow: inset 0 0 0 1px rgba(27, 30, 29, 0.08);
}

.nifty-one-swatch p {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.35;
}

.nifty-one-swatch p + p {
	color: var(--wp--preset--color--muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 400;
}

/* Type specimen. */
.nifty-one-type-row {
	align-items: baseline;
	border-top: 1px solid var(--wp--preset--color--line);
	gap: 1.5rem;
	padding: 1.25rem 0;
}

.nifty-one-type-row > * {
	margin: 0;
}

.nifty-one-type-row > p:first-child {
	flex: 0 0 9rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.04em;
}

.nifty-one-type-row > :last-child {
	flex: 1 1 0;
	min-width: 0;
	line-height: 1.15;
}

/* Icon set. */
.nifty-one-icon-grid {
	gap: 1rem;
}

.nifty-one-icon-grid .nifty-one-icon {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--small);
	padding-top: 0.875rem;
}

.nifty-one-icon-grid .nifty-one-icon::before {
	color: var(--wp--preset--color--forest);
}

/* Button row. */
.nifty-one-showcase-section .wp-block-buttons {
	gap: 0.75rem;
}

@media (max-width: 781px) {
	.nifty-one-type-row {
		flex-wrap: wrap !important;
		gap: 0.25rem;
	}

	.nifty-one-type-row > p:first-child {
		flex-basis: 100%;
	}

	.nifty-one-swatches,
	.nifty-one-icon-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Quote citations: small and quiet, not a second headline. */
.wp-block-quote cite {
	display: block;
	margin-top: 0.75rem;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0;
}

.nifty-one-showcase-table {
	margin-top: var(--wp--preset--spacing--60);
}

@media (max-width: 781px) {
	.nifty-one-style-grid {
		grid-template-columns: 1fr !important;
		gap: var(--wp--preset--spacing--50) !important;
	}
}
