/* Looks: one stylesheet, switched by body classes from the active style variation.
   Persian text: never letter-spacing; digits always from the numerals font. */

/* ---------- home sections ---------- */
.prn-hero { padding-block: clamp(2rem, 6vw, 5rem); }
.prn-hero h1 { margin-block: .3em .4em; line-height: 1.35; }
.prn-kicker { color: var(--wp--preset--color--accent); font-weight: 700; font-size: .95rem; margin: 0; }
.prn-lead { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--lg); max-width: 46ch; }
.has-text-align-center.prn-lead { margin-inline: auto; }
.prn-frame img { border-radius: var(--prn-radius); width: 100%; }
.prn-frame--round img { border-radius: calc(var(--prn-radius) * 2); }
.prn-frame--fade img { -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.prn-sec { padding-block: clamp(2rem, 5vw, 4rem); }
.prn-sec h2 { margin-bottom: 1.25rem; }
.prn-sec:has(> .alignwide) > .wp-block-heading, .prn-sec:has(> .alignwide) > .prn-lead { max-width: var(--wp--style--global--wide-size); }
.prn-cats { gap: 1rem !important; }
.prn-cat__img img { border-radius: var(--prn-radius); transition: transform .3s; }
.prn-cat:hover .prn-cat__img img { transform: scale(1.03); }
.prn-cat__name a { color: inherit; text-decoration: none; font-weight: 700; }
.prn-promises { border-block: 1px solid var(--wp--preset--color--line); padding-block: 1rem; }
.prn-promise { margin: 0; font-weight: 600; display: flex; align-items: center; gap: .5rem; }
.prn-promise::before { content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: var(--wp--preset--color--accent); flex: none; }
.prn-rule { border-color: var(--wp--preset--color--contrast) !important; max-width: 140px !important; margin-inline: auto !important; }
.prn-hero--full .prn-kicker, .prn-hero--strip h1 { color: #fff; }
.prn-hero--full .prn-lead { color: rgb(255 255 255 / 85%); }
.prn-hero--banner { color: var(--wp--preset--color--accent-ink); }
.prn-hero--banner .prn-kicker { color: var(--wp--preset--color--accent-ink); opacity: .85; }
.prn-buttons-invert .wp-block-button__link { background: var(--wp--preset--color--accent-ink); color: var(--wp--preset--color--accent); }
.prn-banner-img img { border-radius: var(--prn-radius) var(--prn-radius) 0 0; }
.prn-arch-mask img { border-radius: 999px 999px var(--prn-radius) var(--prn-radius); }
.prn-collage { position: relative; min-height: 460px; }
.prn-polaroid { position: absolute; margin: 0; background: #fff; padding: 10px 10px 34px; box-shadow: 0 14px 40px rgb(0 0 0 / 18%); }
.prn-polaroid img { display: block; width: 100%; }
.prn-polaroid--a { inset-inline-start: 4%; top: 0; width: 48%; transform: rotate(-4deg); z-index: 2; }
.prn-polaroid--b { inset-inline-end: 4%; top: 8%; width: 36%; transform: rotate(5deg); }
.prn-polaroid--c { inset-inline-end: 24%; bottom: 0; width: 34%; transform: rotate(-2deg); z-index: 3; }
.prn-strip-wrap { background: var(--wp--preset--color--contrast); padding-block: .6rem; overflow: hidden; }
.prn-strip { gap: 2.5rem !important; white-space: nowrap; animation: prn-marquee 22s linear infinite; }
.prn-strip-chip { color: var(--wp--preset--color--base); margin: 0; font-weight: 700; }
@keyframes prn-marquee { from { transform: translateX(-20%); } to { transform: translateX(20%); } }
.prn-hero-search { max-width: 560px; margin-inline: auto; }
.prn-tile img { border-radius: var(--prn-radius); }
@media (max-width: 781px) {
	.prn-collage { min-height: 360px; }
	.prn-hero--mosaic .prn-tile--big { flex-basis: 100% !important; }
	.prn-cats { display: grid !important; grid-template-columns: repeat(2, 1fr); }
}

/* ---------- product cards ---------- */
.prn-card-flat .wc-block-product, .prn-card-flat .wc-block-grid__product { box-shadow: none !important; }
.prn-card-flat .wc-block-components-product-image img { border-radius: 0; }
.prn-card-outline .wc-block-product { border: 1px solid var(--wp--preset--color--line); padding: .6rem; }
.prn-card-shadow .wc-block-product { box-shadow: var(--prn-shadow); padding: .6rem; }
.prn-card-overlay .wc-block-product { position: relative; }
.prn-card-overlay .wc-block-product .wp-block-post-title { position: relative; margin-top: -2.6rem; padding: .4rem .7rem; background: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent); backdrop-filter: blur(6px); border-radius: var(--prn-radius-sm); margin-inline: .5rem; }
.prn-card-tall .wc-block-components-product-image img { aspect-ratio: 2 / 3; }
.prn-card-tall .wc-block-product .wp-block-post-title { font-size: 1.05rem; }

/* ---------- headers ---------- */
.prn-header-centered .prn-header .alignwide { display: grid !important; grid-template-columns: 1fr auto 1fr; }
.prn-header-centered .prn-header .alignwide > :first-child { grid-column: 2; grid-row: 1; justify-content: center; }
.prn-header-centered .prn-header .alignwide > .wp-block-navigation { grid-column: 1; grid-row: 1; }
.prn-header-centered .prn-header .alignwide > :last-child { grid-column: 3; grid-row: 1; justify-content: flex-end; }
.prn-header-minimal .prn-header { border-bottom-color: transparent !important; background: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent); backdrop-filter: blur(10px); }
.prn-header-banner .prn-header { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-ink); }
.prn-header-banner .prn-header a, .prn-header-banner .prn-header .wp-block-site-title a { color: inherit; }
@media (max-width: 781px) { .prn-header-centered .prn-header .alignwide { grid-template-columns: auto 1fr auto; } }

/* ---------- signature elements ---------- */
.prn-sig-stitch .prn-sec h2::after, .prn-sig-stitch .prn-hero h1::after { content: ""; display: block; width: 72px; margin-top: .4rem; border-top: 2px dashed var(--wp--preset--color--accent); }
.prn-sig-stitch .wc-block-product { outline: 1px dashed color-mix(in srgb, var(--wp--preset--color--accent) 45%, transparent); outline-offset: -6px; }
body.prn-sig-grain::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .06; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.prn-sig-arch .prn-cat__img img, .prn-sig-arch .wc-block-components-product-image img { border-radius: 999px 999px var(--prn-radius-sm) var(--prn-radius-sm); }
.prn-sig-marquee .prn-sec--new { overflow-x: clip; }
.prn-sig-marquee .prn-sec--new::before { content: "✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦   ✦"; font-size: 1.4rem; letter-spacing: 0; display: block; white-space: nowrap; overflow: hidden; font-weight: 800; color: var(--wp--preset--color--accent); margin-bottom: 1.5rem; animation: prn-marquee 26s linear infinite; }
.prn-sig-polaroid .wc-block-product { background: #fff; padding: .55rem .55rem 1rem; box-shadow: 0 8px 26px rgb(0 0 0 / 12%); }
.prn-sig-polaroid .wc-block-product:nth-child(odd) { transform: rotate(-1deg); }
.prn-sig-polaroid .wc-block-product:nth-child(even) { transform: rotate(1deg); }
.prn-dark.prn-sig-polaroid .wc-block-product { background: var(--wp--preset--color--surface); }
.prn-sig-ribbon .prn-sec h2 { display: inline-block; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-ink); padding: .15em .8em; border-radius: 0 var(--prn-radius-sm) var(--prn-radius-sm) 0; }
.prn-sig-stamp .prn-kicker { display: inline-flex; border: 2px solid currentColor; border-radius: 999px; padding: .25em .9em; transform: rotate(-3deg); }
.prn-sig-outline-title .prn-hero h1 { color: var(--wp--preset--color--contrast); text-shadow: .06em .06em 0 color-mix(in srgb, var(--wp--preset--color--accent) 55%, transparent); }
.prn-sig-wave .prn-sec--promises { position: relative; }
.prn-sig-wave .prn-sec--promises::before { content: ""; position: absolute; inset-inline: 0; top: -18px; height: 18px; background: radial-gradient(18px 18px at 50% 100%, var(--wp--preset--color--surface) 98%, transparent) 0 0 / 36px 18px repeat-x; }
.prn-sig-wave .prn-sec--promises { background: var(--wp--preset--color--surface); }
.prn-sig-grid-lines .wp-site-blocks { background-image: linear-gradient(to right, color-mix(in srgb, var(--wp--preset--color--line) 55%, transparent) 1px, transparent 1px); background-size: calc(100% / 12) 100%; }
.prn-sig-dots .prn-hero { background-image: radial-gradient(color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent) 2px, transparent 2.5px); background-size: 26px 26px; }

@media (prefers-reduced-motion: reduce) { .prn-strip, .prn-sig-marquee .prn-sec--new::before { animation: none; } }

/* Display fonts are for big titles only (≥ 28px): small headings, card titles, prices and
   buttons always use the body font. */
h3, h4, h5, h6, .wp-block-post-title:not(h1), .wp-element-button, .wc-block-components-product-price { font-family: var(--wp--preset--font-family--body); }

/* ---------- round 2: big hero type, motif, new heroes and sections ---------- */
.prn-hero h1, .prn-hero .prn-type-title { font-size: clamp(2.4rem, 4.4vw, 4.6rem) !important; line-height: 1.25; }
.prn-hero--type .prn-type-title { font-size: clamp(3rem, 8vw, 8.5rem) !important; line-height: 1.1; margin-block: .2em .4em; }
.prn-hero--type .prn-type-title span { color: var(--wp--preset--color--accent); display: block; }
.prn-motif-band { height: calc(var(--prn-motif-h, 60px) * .9); background-image: var(--prn-motif); background-repeat: repeat-x; background-position: center; background-size: auto 100%; opacity: .9; margin-block: 0 !important; }
.prn-hero { position: relative; }
.prn-hero::after { content: ""; position: absolute; inset-inline-end: 2%; top: 6%; width: min(240px, 30vw); height: min(240px, 30vw); background-image: var(--prn-motif); background-size: var(--prn-motif-w) var(--prn-motif-h); opacity: .5; pointer-events: none; z-index: 0; -webkit-mask-image: radial-gradient(closest-side, #000 60%, transparent); mask-image: radial-gradient(closest-side, #000 60%, transparent); }
.prn-hero > * { position: relative; z-index: 1; }
.prn-slider { overflow-x: auto; scroll-snap-type: x mandatory; gap: 0 !important; scrollbar-width: none; border-radius: var(--prn-radius); }
.prn-slider::-webkit-scrollbar { display: none; }
.prn-slide { flex: 0 0 100%; scroll-snap-align: start; position: relative; margin: 0 !important; }
.prn-slide__img img { width: 100%; display: block; }
.prn-slide__text { position: absolute; inset-inline-start: 6%; bottom: 10%; max-width: 46%; background: color-mix(in srgb, var(--wp--preset--color--base) 86%, transparent); padding: 1.5rem 2rem; border-radius: var(--prn-radius); backdrop-filter: blur(6px); }
.prn-loop { overflow: hidden; gap: 1rem !important; margin-top: 2rem; }
.prn-loop .prn-loop__item { flex: 0 0 clamp(160px, 18vw, 260px); margin: 0 !important; animation: prn-loop 38s linear infinite; }
.prn-loop img { border-radius: var(--prn-radius); }
@keyframes prn-loop { to { transform: translateX(calc(100% * 6 + 6rem)); } }
.prn-insta { gap: .5rem !important; }
.prn-insta__cell img { border-radius: var(--prn-radius-sm); }
.prn-quote { border: 0 !important; background: var(--wp--preset--color--base); padding: 1.5rem !important; border-radius: var(--prn-radius); height: 100%; }
.prn-quote cite { color: var(--wp--preset--color--accent); font-style: normal; font-weight: 700; }
.prn-best .wp-block-columns { background: var(--wp--preset--color--surface); border-radius: var(--prn-radius); padding: .75rem; }
.prn-sec--banner h2, .prn-sec--banner p { color: #fff; }
/* Headers */
.prn-header--dark { background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base); }
.prn-header--dark a, .prn-header--dark .wp-block-site-title a, .prn-header--dark .wc-block-mini-cart__button, .prn-header--dark .wc-block-customer-account__link { color: var(--wp--preset--color--base) !important; }
.prn-header--transparent { position: absolute !important; inset-inline: 0; background: transparent !important; border-bottom-color: transparent !important; }
body.prn-header-transparent .wp-site-blocks { position: relative; }
body.prn-header-transparent .prn-hero:first-of-type { padding-top: clamp(6rem, 9vw, 8rem); }
.prn-header--centered .prn-header__brand { gap: .25rem; }
.prn-header--centered .prn-header__nav { justify-content: center !important; border-top: 1px solid var(--wp--preset--color--line); padding-top: .4rem; }
.prn-header__bar p { margin: 0; padding: .35rem 0; }
.prn-header--mega .prn-header__search { flex: 1; max-width: 520px; }
.prn-header--mega .prn-header__nav { background: var(--wp--preset--color--surface); border-radius: var(--prn-radius-sm); }
.prn-mega .wp-block-navigation__submenu-container { min-width: 260px !important; padding: .5rem !important; border-radius: var(--prn-radius-sm); }
/* Colourful demos: saturated full-page base */
body.prn-colourful .prn-sec--promises { border-color: color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent); }
@media (max-width: 781px) {
	.prn-slide__text { position: static; max-width: none; border-radius: 0; }
	.prn-hero::after { opacity: .25; }
}
@media (prefers-reduced-motion: reduce) { .prn-loop .prn-loop__item { animation: none; } }
.prn-hero { overflow: hidden; }
.prn-loop { max-width: 100% !important; overflow: hidden !important; contain: paint; }

/* Footer: four columns, a bottom bar, plain list links. */
.prn-footer__cols { gap: clamp(1.5rem, 4vw, 3rem) !important; }
.prn-footer h3 { margin-bottom: .75rem; }
.prn-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.prn-links a, .prn-footer .wp-block-navigation a { color: inherit; text-decoration: none; }
.prn-links a:hover, .prn-footer .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: .25em; }
.prn-footer__social { font-weight: 700; margin-top: 1rem; }
.prn-footer__bar { margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--30); border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); gap: .5rem 2rem; }
.prn-footer__bar p { margin: 0; }
/* Best sellers: two horizontal cards per row on wide screens, one on phones. */
.prn-best .wc-block-product-template.is-flex-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0; }
.prn-best .wc-block-product-template.is-flex-container > li { width: auto !important; margin: 0 !important; }
.prn-best .wp-block-columns { height: 100%; margin: 0; align-items: center; }
@media (max-width: 781px) { .prn-best .wc-block-product-template.is-flex-container { grid-template-columns: 1fr; } }

/* Text over a hero image is always readable: a black dim (never the palette's contrast colour,
   which is light in dark demos) and a dark glass card under white text (≥7:1 on any image). */
.prn-hero--full > .wp-block-cover__background, .prn-hero--strip > .wp-block-cover__background { background-color: #000 !important; }
.prn-hero--full .wp-block-cover__inner-container, .prn-hero--strip .wp-block-cover__inner-container {
	width: auto; max-width: min(40rem, 92%); padding: clamp(1.25rem, 3vw, 2.25rem); border-radius: var(--prn-radius);
	background: rgb(16 14 13 / 74%); backdrop-filter: blur(6px); color: #fff;
}
.prn-hero--full .wp-block-cover__inner-container :is(h1, h2, p, .prn-kicker, .prn-lead), .prn-hero--strip .wp-block-cover__inner-container :is(h1, h2, p) { color: #fff; -webkit-text-stroke: 0; }
/* Slider on wide screens: image and text side by side (no overlay), so a long title is never
   cut and stays ≥48px at 1440. */
@media (min-width: 782px) {
	.prn-slide { display: grid !important; grid-template-columns: 1.15fr 1fr; align-items: center; gap: clamp(1.5rem, 3vw, 3rem); }
	.prn-slide > * { margin: 0 !important; max-width: none !important; }
	.prn-slide__text { position: static; max-width: none; background: none; backdrop-filter: none; padding: 0; }
	.prn-slide__text h1 { font-size: clamp(2.5rem, 3.6vw, 3.5rem); line-height: 1.3; }
}
