/*
Theme Name: Printly
Theme URI: https://example.com/printly
Author: Printly
Description: A refined Hebrew-first WooCommerce theme for personalized products.
Version: 2.2.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: printly
*/

:root {
	--printly-ink: #163a32;
	--printly-ink-deep: #0e2c26;
	--printly-coral: #e9755f;
	--printly-coral-deep: #c95643;
	--printly-cream: #fbf7ef;
	--printly-paper: #fffdf8;
	--printly-sand: #eadcc8;
	--printly-muted: #66736e;
	--printly-line: rgba(22, 58, 50, 0.14);
	--printly-shadow-sm: 0 6px 20px rgba(31, 45, 39, 0.07);
	--printly-shadow: 0 18px 55px rgba(35, 46, 40, 0.12);
	--printly-shadow-lg: 0 28px 80px rgba(35, 46, 40, 0.18);
	--printly-radius-sm: 14px;
	--printly-radius: 24px;
	--printly-radius-lg: 38px;
	--printly-container: 1240px;
	--printly-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--printly-ink);
	background: var(--printly-paper);
	font-family: Arial, "Noto Sans Hebrew", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.printly-menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid rgba(233, 117, 95, 0.5);
	outline-offset: 4px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 10000;
	top: 12px;
	right: 12px;
	width: auto;
	height: auto;
	padding: 10px 16px;
	clip: auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: var(--printly-shadow);
}

.printly-announcement {
	position: relative;
	z-index: 70;
	min-height: 34px;
	display: grid;
	place-items: center;
	padding: 6px 20px;
	color: var(--announcement-color, #fff);
	background: var(--announcement-bg, var(--printly-ink));
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-align: center;
}

.printly-announcement a {
	color: inherit;
	border-bottom: 1px solid rgba(255, 255, 255, 0.45);
	transition: border-color 180ms ease;
}

.printly-announcement a:hover {
	border-color: currentColor;
}

.printly-header {
	position: sticky;
	z-index: 60;
	top: 0;
	background: rgba(255, 253, 248, 0.9);
	border-bottom: 1px solid transparent;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition: box-shadow 300ms var(--printly-ease), border-color 300ms ease, background-color 300ms ease;
}

.printly-header.is-scrolled {
	background: rgba(255, 253, 248, 0.97);
	border-color: var(--printly-line);
	box-shadow: 0 10px 34px rgba(25, 43, 36, 0.08);
}

.printly-nav {
	max-width: var(--printly-container);
	min-height: 76px;
	margin: 0 auto;
	padding: 0 28px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 32px;
}

.printly-brand-wrap {
	justify-self: start;
}

.printly-brand {
	display: inline-flex;
	align-items: baseline;
	color: var(--printly-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.055em;
	transition: transform 280ms var(--printly-ease);
}

.printly-brand:hover {
	transform: translateY(-2px);
}

.printly-brand-dot {
	color: var(--printly-coral);
}

.custom-logo {
	width: auto;
	max-height: 48px;
}

.printly-menu {
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.printly-menu a {
	position: relative;
	display: block;
	padding: 12px 0;
	font-size: 14px;
	font-weight: 700;
}

.printly-menu a::after {
	position: absolute;
	right: 0;
	bottom: 7px;
	width: 100%;
	height: 2px;
	content: "";
	background: var(--printly-coral);
	border-radius: 99px;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 260ms var(--printly-ease);
}

.printly-menu a:hover::after,
.printly-menu .current-menu-item > a::after {
	transform: scaleX(1);
}

.printly-nav-actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 8px;
}

.printly-icon-link,
.printly-menu-toggle {
	position: relative;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	color: var(--printly-ink);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 50%;
	cursor: pointer;
	transition: color 220ms ease, background-color 220ms ease, transform 220ms var(--printly-ease);
}

.printly-icon-link:hover,
.printly-menu-toggle:hover {
	color: var(--printly-coral-deep);
	background: rgba(233, 117, 95, 0.1);
	transform: translateY(-2px);
}

.printly-icon-link .dashicons {
	width: 22px;
	height: 22px;
	font-size: 22px;
}

.printly-cart-count {
	position: absolute;
	top: 2px;
	left: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	display: grid;
	place-items: center;
	color: #fff;
	background: var(--printly-coral);
	border: 2px solid var(--printly-paper);
	border-radius: 99px;
	font-size: 9px;
	font-weight: 800;
	line-height: 1;
}

.printly-cart-count.is-updated {
	animation: printly-cart-pop 500ms var(--printly-ease);
}

.printly-menu-toggle {
	display: none;
	border: 0;
}

.printly-menu-toggle__lines,
.printly-menu-toggle__lines i {
	display: block;
}

.printly-menu-toggle__lines {
	position: relative;
	width: 22px;
	height: 16px;
}

.printly-menu-toggle__lines i {
	position: absolute;
	right: 0;
	width: 22px;
	height: 2px;
	background: currentColor;
	border-radius: 99px;
	transition: transform 260ms var(--printly-ease), top 260ms var(--printly-ease);
}

.printly-menu-toggle__lines i:first-child {
	top: 4px;
}

.printly-menu-toggle__lines i:last-child {
	top: 11px;
}

.printly-menu-toggle[aria-expanded="true"] .printly-menu-toggle__lines i:first-child {
	top: 7px;
	transform: rotate(45deg);
}

.printly-menu-toggle[aria-expanded="true"] .printly-menu-toggle__lines i:last-child {
	top: 7px;
	transform: rotate(-45deg);
}

.printly-mobile-panel,
.printly-menu-backdrop {
	display: none;
}

.printly-hero {
	max-width: var(--printly-container);
	min-height: 660px;
	margin: 0 auto;
	padding: 70px 28px 58px;
	display: grid;
	grid-template-columns: minmax(340px, 0.84fr) minmax(480px, 1.16fr);
	align-items: center;
	gap: clamp(40px, 6vw, 86px);
}

.printly-hero__copy {
	position: relative;
	z-index: 2;
}

.printly-kicker {
	margin: 0 0 15px;
	color: var(--printly-coral-deep);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.printly-hero h1,
.printly-hero h2,
.printly-section h2,
.printly-section h1,
.printly-band h2,
.printly-band h1,
.printly-content-section h1,
.printly-content-section h2,
.printly-promo h1,
.printly-promo h2,
.entry-title,
.woocommerce-products-header__title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -0.045em;
}

.printly-hero h1,
.printly-hero h2 {
	max-width: 670px;
	font-size: clamp(48px, 5.25vw, 78px);
}

.printly-hero__lead {
	max-width: 580px;
	margin: 26px 0 0;
	color: var(--printly-muted);
	font-size: 18px;
	line-height: 1.78;
}

.printly-hero__actions {
	margin-top: 34px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.printly-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	position: relative;
	min-height: 52px;
	padding: 13px 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	overflow: hidden;
	color: #fff !important;
	background: var(--printly-ink) !important;
	border: 1px solid var(--printly-ink) !important;
	border-radius: 999px !important;
	box-shadow: none;
	font-size: 14px;
	font-weight: 800 !important;
	line-height: 1.2;
	cursor: pointer;
	transition: color 260ms ease, background-color 260ms ease, border-color 260ms ease, box-shadow 260ms ease, transform 260ms var(--printly-ease);
}

.printly-button::before,
.woocommerce a.button::before,
.woocommerce button.button::before {
	position: absolute;
	inset: 0;
	content: "";
	background: var(--printly-coral);
	transform: translateY(102%);
	transition: transform 320ms var(--printly-ease);
}

.printly-button > *,
.printly-button svg,
.woocommerce a.button > *,
.woocommerce button.button > * {
	position: relative;
	z-index: 1;
}

.printly-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	border-color: var(--printly-coral) !important;
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(22, 58, 50, 0.17);
}

.printly-button:hover::before,
.woocommerce a.button:hover::before,
.woocommerce button.button:hover::before {
	transform: translateY(0);
}

.printly-button .dashicons,
.printly-text-link .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
	transition: transform 260ms var(--printly-ease);
}

.printly-button:hover .dashicons,
.printly-text-link:hover .dashicons {
	transform: translateX(-4px);
}

.printly-button--quiet {
	color: var(--printly-ink) !important;
	background: transparent !important;
	border-color: var(--printly-line) !important;
}

.printly-button--quiet::before {
	background: rgba(233, 117, 95, 0.1);
}

.printly-button--quiet:hover {
	color: var(--printly-coral-deep) !important;
	border-color: rgba(233, 117, 95, 0.35) !important;
	box-shadow: none;
}

.printly-trust {
	margin: 24px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	color: var(--printly-muted);
	font-size: 12px;
	font-weight: 700;
	list-style: none;
}

.printly-trust li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.printly-trust .dashicons {
	width: 18px;
	height: 18px;
	color: var(--printly-coral);
	font-size: 18px;
}

.printly-hero__visual {
	position: relative;
	min-width: 0;
	margin: 0;
	isolation: isolate;
}

.printly-hero__visual::before {
	position: absolute;
	z-index: -1;
	inset: -20px 25px 30px -20px;
	content: "";
	background: #f2dfcf;
	border-radius: var(--printly-radius-lg);
	transform: rotate(-2.5deg);
}

.printly-hero__visual img {
	width: 100%;
	aspect-ratio: 1.22 / 1;
	object-fit: cover;
	border-radius: var(--printly-radius-lg);
	box-shadow: var(--printly-shadow-lg);
	transition: transform 800ms var(--printly-ease);
}

.printly-hero__visual:hover img {
	transform: scale(1.012);
}

.printly-hero__caption {
	position: absolute;
	right: -24px;
	bottom: 28px;
	max-width: 290px;
	padding: 15px 18px;
	display: flex;
	align-items: center;
	gap: 13px;
	background: rgba(255, 253, 248, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 18px;
	box-shadow: var(--printly-shadow);
	backdrop-filter: blur(12px);
	animation: printly-float 5s ease-in-out infinite;
}

.printly-hero__caption-icon {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	color: #fff;
	background: var(--printly-coral);
	border-radius: 13px;
	font-size: 22px;
	line-height: 42px;
}

.printly-hero__caption-icon .dashicons {
	width: 22px;
	height: 22px;
	font-size: 22px;
	line-height: 1;
}

.printly-hero__caption span:last-child {
	display: grid;
}

.printly-hero__caption strong {
	font-size: 13px;
}

.printly-hero__caption small {
	color: var(--printly-muted);
	font-size: 11px;
}

.printly-value-strip {
	max-width: calc(var(--printly-container) - 56px);
	margin: 0 auto 28px;
	padding: 20px 26px;
	display: grid;
	grid-template-columns: repeat(var(--printly-feature-count, 3), minmax(0, 1fr));
	background: var(--printly-cream);
	border: 1px solid var(--printly-line);
	border-radius: var(--printly-radius);
}

.printly-value-strip > div {
	min-height: 56px;
	padding: 0 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-inline-start: 1px solid var(--printly-line);
}

.printly-value-strip > div:first-child {
	border-inline-start: 0;
}

.printly-value-strip .dashicons {
	width: 24px;
	height: 24px;
	color: var(--printly-coral);
	font-size: 24px;
}

.printly-value-strip strong,
.printly-value-strip small {
	display: block;
}

.printly-value-strip strong {
	font-size: 13px;
}

.printly-value-strip small {
	color: var(--printly-muted);
	font-size: 11px;
}

.printly-section {
	max-width: var(--printly-container);
	margin: 0 auto;
	padding: 100px 28px;
}

.printly-section--compact {
	padding-top: 78px;
	padding-bottom: 70px;
}

.printly-section__head {
	margin-bottom: 38px;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 36px;
}

.printly-section__head h2 {
	font-size: clamp(36px, 4vw, 56px);
}

.printly-section__head h1 {
	font-size: clamp(40px, 4.4vw, 62px);
}

.printly-section__intro {
	max-width: 620px;
	margin: 16px 0 0;
	color: var(--printly-muted);
}

.printly-section__head > p {
	max-width: 500px;
	margin: 0;
	color: var(--printly-muted);
}

.printly-text-link {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--printly-ink);
	border-bottom: 1px solid var(--printly-line);
	font-size: 13px;
	font-weight: 800;
	transition: color 220ms ease, border-color 220ms ease;
}

.printly-text-link:hover {
	color: var(--printly-coral-deep);
	border-color: var(--printly-coral);
}

.printly-categories {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
	gap: 13px;
}

.printly-category {
	--pointer-x: 50%;
	--pointer-y: 50%;
	position: relative;
	min-height: 168px;
	padding: 24px 20px 18px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	overflow: hidden;
	background: var(--printly-cream);
	border: 1px solid transparent;
	border-radius: 22px;
	transition: border-color 260ms ease, box-shadow 300ms ease, transform 300ms var(--printly-ease);
}

.printly-category::before {
	position: absolute;
	inset: 0;
	content: "";
	background: radial-gradient(220px circle at var(--pointer-x) var(--pointer-y), rgba(233, 117, 95, 0.14), transparent 68%);
	opacity: 0;
	transition: opacity 280ms ease;
}

.printly-category:hover {
	border-color: rgba(233, 117, 95, 0.28);
	box-shadow: var(--printly-shadow-sm);
	transform: translateY(-6px);
}

.printly-category:hover::before {
	opacity: 1;
}

.printly-category__icon {
	position: relative;
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	color: var(--printly-ink);
	background: var(--printly-paper);
	border: 1px solid var(--printly-line);
	border-radius: 17px;
	transition: color 260ms ease, background-color 260ms ease, transform 320ms var(--printly-ease);
}

.printly-category__icon .dashicons {
	width: 27px;
	height: 27px;
	font-size: 27px;
	line-height: 1;
}

.printly-category:hover .printly-category__icon {
	color: #fff;
	background: var(--printly-coral);
	transform: rotate(-5deg) scale(1.06);
}

.printly-category__label {
	position: relative;
	padding-inline-end: 22px;
	font-size: 14px;
	font-weight: 800;
}

.printly-category__content {
	position: relative;
	padding-inline-end: 22px;
	display: grid;
	gap: 2px;
}

.printly-category__content .printly-category__label {
	padding-inline-end: 0;
}

.printly-category__content small {
	color: var(--printly-muted);
	font-size: 11px;
}

.printly-category__arrow {
	position: absolute;
	bottom: 18px;
	left: 18px;
	width: 20px;
	height: 20px;
	font-size: 20px;
	transition: transform 260ms var(--printly-ease);
}

.printly-category:hover .printly-category__arrow {
	transform: translateX(-4px);
}

.printly-section--mosaic {
	max-width: 1416px;
}

.printly-product-mosaic {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	grid-template-areas:
		"wide wide wide wide main main main main edge-one edge-one"
		"small-one small-one small-two small-two main main main main edge-two edge-two";
	gap: 14px;
	aspect-ratio: 2.65 / 1;
	direction: ltr;
}

.printly-mosaic-card {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	background: #dfe8e3;
	border-radius: 20px;
	direction: rtl;
	isolation: isolate;
	transition: box-shadow 320ms ease, transform 320ms var(--printly-ease);
}

.printly-mosaic-card:nth-child(2),
.printly-mosaic-card:nth-child(6) {
	background: #f4d783;
}

.printly-mosaic-card:nth-child(3),
.printly-mosaic-card:nth-child(5) {
	background: #f3b0a3;
}

.printly-mosaic-card--1 {
	grid-area: main;
}

.printly-mosaic-card--2 {
	grid-area: wide;
}

.printly-mosaic-card--3 {
	grid-area: small-one;
}

.printly-mosaic-card--4 {
	grid-area: small-two;
}

.printly-mosaic-card--5 {
	grid-area: edge-one;
}

.printly-mosaic-card--6 {
	grid-area: edge-two;
}

.printly-mosaic-card__link,
.printly-mosaic-card__media {
	width: 100%;
	height: 100%;
	display: block;
}

.printly-mosaic-card__link:focus-visible {
	outline: 3px solid var(--printly-coral);
	outline-offset: -5px;
}

.printly-mosaic-card__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 700ms var(--printly-ease);
}

.printly-mosaic-card__label {
	position: absolute;
	z-index: 2;
	right: 50%;
	bottom: 16px;
	max-width: calc(100% - 28px);
	min-height: 46px;
	padding: 10px 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #fff;
	background: rgba(22, 58, 50, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 12px;
	box-shadow: 0 10px 26px rgba(11, 37, 31, 0.2);
	line-height: 1.2;
	text-align: center;
	transform: translateX(50%);
	transition: background-color 240ms ease, box-shadow 240ms ease, transform 320ms var(--printly-ease);
}

.printly-mosaic-card__label strong {
	overflow: hidden;
	font-size: clamp(13px, 1.15vw, 17px);
	font-weight: 850;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.printly-mosaic-card__label .dashicons {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	font-size: 18px;
}

.printly-mosaic-card:hover {
	z-index: 2;
	box-shadow: 0 20px 45px rgba(11, 37, 31, 0.17);
	transform: translateY(-4px);
}

.printly-mosaic-card:hover .printly-mosaic-card__image {
	transform: scale(1.045);
}

.printly-mosaic-card:hover .printly-mosaic-card__label {
	background: var(--printly-coral-deep);
	box-shadow: 0 14px 32px rgba(11, 37, 31, 0.24);
	transform: translate(50%, -3px);
}

.printly-product-mosaic--count-1 {
	grid-template-columns: 1fr;
	grid-template-areas:
		"main"
		"main";
	aspect-ratio: 1.8 / 1;
}

.printly-product-mosaic--count-2 {
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas:
		"main wide"
		"main wide";
	aspect-ratio: 2 / 1;
}

.printly-product-mosaic--count-3 {
	grid-template-columns: 3fr 2fr;
	grid-template-areas:
		"main wide"
		"main small-one";
	aspect-ratio: 2 / 1;
}

.printly-product-mosaic--count-4 {
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas:
		"wide wide main main"
		"small-one small-two main main";
	aspect-ratio: 2.15 / 1;
}

.printly-product-mosaic--count-5 {
	grid-template-columns: repeat(6, 1fr);
	grid-template-areas:
		"wide wide main main edge-one edge-one"
		"small-one small-two main main edge-one edge-one";
	aspect-ratio: 2.35 / 1;
}

.woocommerce ul.products {
	margin: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	--pointer-x: 50%;
	--pointer-y: 50%;
	position: relative;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 18px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--printly-line);
	border-radius: var(--printly-radius);
	transition: border-color 280ms ease, box-shadow 320ms ease, transform 320ms var(--printly-ease);
}

.woocommerce ul.products li.product:hover {
	border-color: rgba(233, 117, 95, 0.32);
	box-shadow: var(--printly-shadow);
	transform: translateY(-7px);
}

.woocommerce ul.products li.product a img {
	width: 100%;
	margin: 0 0 16px !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--printly-cream);
	transition: transform 600ms var(--printly-ease);
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.035);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 18px !important;
	color: var(--printly-ink);
	font-size: 15px !important;
	line-height: 1.45;
}

.woocommerce ul.products li.product .price {
	padding: 0 18px;
	color: var(--printly-coral-deep) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
}

.woocommerce ul.products li.product .button {
	min-height: 42px;
	margin: 12px 18px 0 !important;
	padding: 10px 16px !important;
	font-size: 12px !important;
}

.woocommerce span.onsale {
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	min-width: auto !important;
	min-height: auto !important;
	padding: 6px 10px !important;
	color: #fff;
	background: var(--printly-coral) !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

.printly-empty-store {
	padding: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	background: var(--printly-cream);
	border: 1px dashed rgba(22, 58, 50, 0.25);
	border-radius: var(--printly-radius);
	text-align: right;
}

.printly-empty-store .dashicons {
	width: 46px;
	height: 46px;
	color: var(--printly-coral);
	font-size: 46px;
}

.printly-empty-store h3,
.printly-empty-store p {
	margin: 0;
}

.printly-empty-store p {
	color: var(--printly-muted);
}

.printly-band {
	position: relative;
	max-width: calc(var(--printly-container) - 56px);
	margin: 30px auto 100px;
	padding: clamp(48px, 7vw, 86px);
	display: grid;
	grid-template-columns: minmax(280px, 0.85fr) minmax(420px, 1.15fr);
	gap: clamp(46px, 7vw, 94px);
	overflow: hidden;
	color: #fff;
	background: var(--printly-ink);
	border-radius: var(--printly-radius-lg);
}

.printly-band::after {
	position: absolute;
	top: -220px;
	left: -150px;
	width: 480px;
	height: 480px;
	content: "";
	background: rgba(233, 117, 95, 0.13);
	border-radius: 50%;
}

.printly-band__intro {
	position: relative;
	z-index: 1;
}

.printly-band .printly-kicker {
	color: #f7a391;
}

.printly-band h2 {
	font-size: clamp(38px, 4.2vw, 60px);
}

.printly-band h1 {
	font-size: clamp(42px, 4.6vw, 66px);
}

.printly-band__intro > p:not(.printly-kicker) {
	margin: 24px 0 28px;
	color: rgba(255, 255, 255, 0.7);
}

.printly-button--light {
	color: var(--printly-ink) !important;
	background: #fff !important;
	border-color: #fff !important;
}

.printly-button--light:hover {
	color: #fff !important;
}

.printly-steps {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 12px;
}

.printly-step {
	padding: 22px 24px;
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 18px;
	background: rgba(255, 255, 255, 0.065);
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 20px;
	transition: background-color 260ms ease, border-color 260ms ease, transform 280ms var(--printly-ease);
}

.printly-step:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.2);
	transform: translateX(-6px);
}

.printly-step b {
	grid-row: 1 / span 2;
	color: #f7a391;
	font-family: Georgia, serif;
	font-size: 26px;
	font-weight: 400;
}

.printly-step h3,
.printly-step p {
	margin: 0;
}

.printly-content-section {
	max-width: calc(var(--printly-container) - 56px);
	margin: 40px auto 100px;
	padding: clamp(28px, 5vw, 68px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
	align-items: center;
	gap: clamp(36px, 6vw, 80px);
	background: var(--printly-cream);
	border: 1px solid var(--printly-line);
	border-radius: var(--printly-radius-lg);
}

.printly-content-section--image-end .printly-content-section__image {
	order: 2;
}

.printly-content-section--image-end .printly-content-section__copy {
	order: 1;
}

.printly-content-section h1,
.printly-content-section h2 {
	font-size: clamp(40px, 4.6vw, 64px);
}

.printly-content-section__body {
	margin: 22px 0 28px;
	color: var(--printly-muted);
}

.printly-content-section__body > :first-child {
	margin-top: 0;
}

.printly-content-section__body > :last-child {
	margin-bottom: 0;
}

.printly-content-section__image {
	overflow: hidden;
	border-radius: 28px;
	box-shadow: var(--printly-shadow);
}

.printly-content-section__image img {
	width: 100%;
	aspect-ratio: 1 / 0.88;
	object-fit: cover;
	transition: transform 700ms var(--printly-ease);
}

.printly-content-section:hover .printly-content-section__image img {
	transform: scale(1.025);
}

.printly-promo {
	position: relative;
	max-width: calc(var(--printly-container) - 56px);
	min-height: 390px;
	margin: 40px auto 100px;
	padding: clamp(46px, 7vw, 88px);
	display: flex;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
	color: var(--promo-color, #fff);
	background-color: var(--promo-bg, var(--printly-ink));
	background-image: linear-gradient(90deg, color-mix(in srgb, var(--promo-bg, var(--printly-ink)) 92%, transparent), color-mix(in srgb, var(--promo-bg, var(--printly-ink)) 56%, transparent)), var(--promo-image, none);
	background-position: center;
	background-size: cover;
	border-radius: var(--printly-radius-lg);
}

.printly-promo::after {
	position: absolute;
	z-index: -1;
	top: -180px;
	left: -100px;
	width: 420px;
	height: 420px;
	content: "";
	background: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.printly-promo__content {
	max-width: 670px;
}

.printly-promo__icon {
	width: 54px;
	height: 54px;
	margin-bottom: 20px;
	display: grid;
	place-items: center;
	color: var(--promo-bg, var(--printly-ink));
	background: var(--promo-color, #fff);
	border-radius: 16px;
}

.printly-promo__icon .dashicons {
	width: 27px;
	height: 27px;
	font-size: 27px;
}

.printly-promo h1,
.printly-promo h2 {
	font-size: clamp(42px, 5vw, 68px);
}

.printly-promo .printly-kicker {
	color: currentColor;
	opacity: 0.74;
}

.printly-promo__content > p:not(.printly-kicker) {
	max-width: 560px;
	margin: 22px 0 28px;
	opacity: 0.78;
}

.printly-step h3 {
	font-size: 16px;
}

.printly-step p {
	margin-top: 4px;
	color: rgba(255, 255, 255, 0.64);
	font-size: 13px;
}

.printly-footer {
	padding: 76px 28px 24px;
	color: #fff;
	background: var(--printly-ink-deep);
}

.printly-footer__grid,
.printly-footer__bottom {
	max-width: calc(var(--printly-container) - 56px);
	margin: 0 auto;
}

.printly-footer__grid {
	padding-bottom: 58px;
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: 60px;
}

.printly-footer .printly-brand {
	color: #fff;
}

.printly-footer__about p {
	max-width: 420px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
}

.printly-footer h2 {
	margin: 7px 0 20px;
	color: #f7a391;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.printly-footer ul {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
	list-style: none;
}

.printly-footer li a {
	position: relative;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	transition: color 220ms ease, padding 260ms var(--printly-ease);
}

.printly-footer li a:hover {
	padding-inline-start: 5px;
	color: #fff;
}

.printly-footer__bottom {
	padding-top: 20px;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	color: rgba(255, 255, 255, 0.42);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 11px;
}

.printly-content {
	max-width: 900px;
	min-height: 50vh;
	margin: 0 auto;
	padding: 80px 28px;
}

.woocommerce-shop .printly-content,
.post-type-archive-product .printly-content,
.tax-product_cat .printly-content,
.tax-product_tag .printly-content {
	max-width: 1460px;
	padding-inline: 38px;
}

.entry-title,
.woocommerce-products-header__title {
	margin-bottom: 28px;
	font-size: clamp(38px, 5vw, 62px);
}

.printly-content input:not([type="checkbox"]):not([type="radio"]),
.printly-content select,
.printly-content textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	color: var(--printly-ink);
	background: #fff;
	border: 1px solid var(--printly-line);
	border-radius: 12px;
	transition: border-color 220ms ease, box-shadow 220ms ease;
}

.printly-content input:focus,
.printly-content select:focus,
.printly-content textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--printly-coral);
	box-shadow: 0 0 0 4px rgba(233, 117, 95, 0.12);
	outline: 0;
}

.woocommerce div.product {
	display: flow-root;
}

.woocommerce div.product div.images img {
	border-radius: var(--printly-radius);
}

.woocommerce div.product .product_title {
	color: var(--printly-ink);
	font-family: Georgia, serif;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 500;
	line-height: 1.08;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--printly-coral-deep);
	font-weight: 800;
}

.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--printly-coral) !important;
	border-radius: 12px;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--printly-coral) !important;
}

.printly-reveal {
	opacity: 1;
	transform: none;
}

.printly-js .printly-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 700ms var(--printly-ease) var(--reveal-delay, 0ms), transform 700ms var(--printly-ease) var(--reveal-delay, 0ms);
}

.printly-js .printly-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@keyframes printly-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-6px);
	}
}

@keyframes printly-cart-pop {
	0%,
	100% {
		transform: scale(1);
	}
	45% {
		transform: scale(1.35);
	}
}

@media (max-width: 1020px) {
	.printly-nav {
		grid-template-columns: 1fr auto;
	}

	.printly-desktop-menu {
		display: none;
	}

	.printly-menu-toggle {
		display: grid;
	}

	.printly-menu-backdrop {
		position: fixed;
		z-index: 78;
		inset: 0;
		display: block;
		background: rgba(8, 28, 24, 0.42);
		opacity: 0;
		pointer-events: none;
		backdrop-filter: blur(3px);
		transition: opacity 280ms ease;
	}

	.printly-menu-open .printly-menu-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.printly-mobile-panel {
		position: fixed;
		z-index: 80;
		top: 0;
		right: 0;
		width: min(88vw, 390px);
		height: 100dvh;
		padding: 110px 30px 30px;
		display: flex;
		flex-direction: column;
		background: var(--printly-paper);
		box-shadow: -30px 0 70px rgba(12, 32, 27, 0.2);
		transform: translateX(105%);
		visibility: hidden;
		transition: transform 380ms var(--printly-ease), visibility 380ms;
	}

	.printly-mobile-panel.is-open {
		transform: translateX(0);
		visibility: visible;
	}

	.printly-menu-open .printly-menu-toggle {
		position: fixed;
		z-index: 90;
		top: 42px;
		left: 9px;
		color: #fff;
		background: var(--printly-ink);
	}

	.printly-mobile-panel__eyebrow {
		margin: 0 0 18px;
		color: var(--printly-coral-deep);
		font-size: 12px;
		font-weight: 800;
	}

	.printly-menu--mobile {
		display: grid;
		gap: 0;
	}

	.printly-menu--mobile a {
		padding: 15px 0;
		border-bottom: 1px solid var(--printly-line);
		font-family: Georgia, serif;
		font-size: 25px;
		font-weight: 500;
	}

	.printly-menu--mobile a::after {
		display: none;
	}

	.printly-mobile-panel__cta {
		margin-top: auto;
	}

	.printly-hero {
		min-height: 0;
		grid-template-columns: 1fr 1fr;
		gap: 38px;
	}

	.printly-hero h1 {
		font-size: clamp(44px, 6vw, 62px);
	}

	.printly-hero h2 {
		font-size: clamp(44px, 6vw, 62px);
	}

	.printly-categories {
		grid-template-columns: repeat(3, 1fr);
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.printly-product-mosaic {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-template-areas:
			"wide wide main main edge-one edge-one"
			"small-one small-two main main edge-two edge-two";
		aspect-ratio: 2.1 / 1;
	}

	.printly-band {
		grid-template-columns: 1fr;
	}

	.printly-content-section {
		grid-template-columns: 1fr;
	}

	.printly-content-section--image-end .printly-content-section__image,
	.printly-content-section--image-end .printly-content-section__copy {
		order: initial;
	}
}

@media (max-width: 760px) {
	.printly-announcement {
		min-height: 31px;
		padding: 5px 12px;
		font-size: 10px;
	}

	.printly-nav {
		min-height: 66px;
		padding: 0 18px;
	}

	.printly-brand {
		font-size: 29px;
	}

	.printly-icon-link {
		width: 40px;
		height: 40px;
	}

	.printly-nav-actions .printly-icon-link:first-child {
		display: none;
	}

	.printly-hero {
		padding: 48px 18px 58px;
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.printly-hero__copy {
		text-align: center;
	}

	.printly-hero h1,
	.printly-hero h2 {
		font-size: clamp(43px, 13vw, 60px);
	}

	.printly-hero__lead {
		margin-inline: auto;
		font-size: 16px;
	}

	.printly-hero__actions,
	.printly-trust {
		justify-content: center;
	}

	.printly-hero__visual {
		margin-inline: 10px;
	}

	.printly-hero__visual::before {
		inset: -11px 15px 18px -10px;
	}

	.printly-hero__visual img {
		aspect-ratio: 1 / 0.88;
		border-radius: 28px;
	}

	.printly-hero__caption {
		right: -9px;
		bottom: 16px;
	}

	.printly-value-strip {
		margin: 0 18px 12px;
		padding: 10px 18px;
		grid-template-columns: 1fr;
	}

	.printly-value-strip > div {
		padding: 14px 0;
		justify-content: flex-start;
		border-inline-start: 0;
		border-bottom: 1px solid var(--printly-line);
	}

	.printly-value-strip > div:last-child {
		border-bottom: 0;
	}

	.printly-section,
	.printly-section--compact {
		padding: 72px 18px;
	}

	.printly-section__head {
		margin-bottom: 28px;
		display: grid;
		align-items: start;
		gap: 18px;
	}

	.printly-section__head h2 {
		font-size: 42px;
	}

	.printly-categories {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.printly-product-mosaic,
	.printly-product-mosaic--count-1,
	.printly-product-mosaic--count-2,
	.printly-product-mosaic--count-3,
	.printly-product-mosaic--count-4,
	.printly-product-mosaic--count-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		grid-template-areas: none;
		gap: 10px;
		aspect-ratio: auto;
	}

	.printly-mosaic-card {
		grid-area: auto;
		aspect-ratio: 1 / 1;
		border-radius: 16px;
	}

	.printly-mosaic-card:first-child,
	.printly-mosaic-card:nth-child(2) {
		grid-column: 1 / -1;
		aspect-ratio: 1.65 / 1;
	}

	.printly-mosaic-card__label {
		bottom: 10px;
		min-height: 42px;
		padding: 9px 13px;
	}

	.printly-mosaic-card__label strong {
		font-size: 13px;
	}

	.printly-category {
		min-height: 150px;
		padding: 18px 16px 15px;
	}

	.printly-category:last-child {
		grid-column: 1 / -1;
	}

	.woocommerce ul.products {
		gap: 12px;
	}

	.woocommerce-shop .printly-content,
	.post-type-archive-product .printly-content,
	.tax-product_cat .printly-content,
	.tax-product_tag .printly-content {
		padding-inline: 18px;
	}

	.woocommerce ul.products li.product {
		border-radius: 18px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .price {
		padding-inline: 12px !important;
	}

	.woocommerce ul.products li.product .button {
		margin-inline: 12px !important;
	}

	.printly-empty-store {
		padding: 32px 22px;
		align-items: flex-start;
	}

	.printly-band {
		margin: 10px 18px 72px;
		padding: 42px 22px;
		border-radius: 28px;
	}

	.printly-band h2 {
		font-size: 40px;
	}

	.printly-band h1 {
		font-size: 44px;
	}

	.printly-content-section,
	.printly-promo {
		margin: 10px 18px 72px;
		padding: 42px 22px;
		border-radius: 28px;
	}

	.printly-content-section {
		gap: 32px;
	}

	.printly-content-section h1,
	.printly-content-section h2,
	.printly-promo h1,
	.printly-promo h2 {
		font-size: 42px;
	}

	.printly-step {
		padding: 18px;
		grid-template-columns: 40px 1fr;
		gap: 12px;
	}

	.printly-footer {
		padding: 58px 20px 20px;
	}

	.printly-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 38px 24px;
	}

	.printly-footer__about {
		grid-column: 1 / -1;
	}

	.printly-footer__bottom {
		display: grid;
	}
}

@media (max-width: 420px) {
	.printly-hero__actions {
		display: grid;
	}

	.printly-hero__actions .printly-button {
		width: 100%;
	}

	.printly-trust {
		display: grid;
		text-align: right;
	}

	.woocommerce ul.products li.product .button {
		width: calc(100% - 24px);
	}
}

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

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.printly-js .printly-reveal {
		opacity: 1;
		transform: none;
	}
}
