/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/* ==========================================================================
   Designtokens

   Flatsome exponerar sina färger som CSS-variabler, så hela paletten kan sättas
   här i stället för i temainställningarna. Det spelar roll: temainställningar
   ligger i databasen, som inte synkar mellan lokalt och live. Det här gör det.
   ========================================================================== */

:root {
	--fs-color-primary: #2f5d50;
	--fs-color-secondary: #b0714f;
	--fs-color-success: #2f5d50;
	--fs-color-alert: #b3261e;

	--pryl-ink: #23201d;
	--pryl-ink-muted: #5e5954;
	--pryl-white: #fff;
	--pryl-surface: #f7f6f3;
	--pryl-surface-alt: #f0ede8;
	--pryl-surface-deep: #e9e5df;
	--pryl-line: #d8d2ca;
	--pryl-primary-dark: #23473d;
	--pryl-accent-soft: #e3ece8;
	--pryl-accent-strong: #1f3d35;
	--pryl-cta: #b23f36;
	--pryl-cta-dark: #8f2f29;

	--pryl-font-heading: "Lora", Georgia, "Times New Roman", serif;
	--pryl-font-body: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--pryl-radius: 4px;
	--pryl-control-height: 44px;
	--pryl-space-1: 0.5rem;
	--pryl-space-2: 1rem;
	--pryl-space-3: 1.5rem;
	--pryl-space-4: 2rem;
	--pryl-space-5: 3rem;
	--pryl-space-6: 4rem;
	--pryl-shadow-soft: 0 12px 32px rgb(35 32 29 / 8%);
	--pryl-shadow-panel: 0 16px 36px rgb(35 32 29 / 10%);
	--pryl-shadow-card: 0 14px 28px rgb(35 32 29 / 9%);
	--pryl-measure: 68ch;
}

/* ==========================================================================
   Typografi

   Serif i rubriker och sanserif i brödtext ger lugn utan att bli mjäkigt.
   Brödtexten ligger på 16px eftersom mindre än så utlöser automatisk
   inzoomning i iOS Safari när ett formulärfält får fokus.
   ========================================================================== */

body {
	font-family: var(--pryl-font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--pryl-ink);
	background: var(--pryl-white);
}

.container,
.row {
	max-width: 1220px;
}

h1, h2, h3, h4, h5, h6,
.heading-font,
.entry-title {
	font-family: var(--pryl-font-heading);
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -0.01em;
	color: var(--pryl-ink);
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* Radlängden hålls läsbar. Över ~75 tecken tappar ögat raden vid radbyte. */
.entry-content p,
.woocommerce-product-details__short-description p {
	max-width: var(--pryl-measure);
}

/* Priser sätts med tabulärsiffror så kolumner inte hoppar mellan produkter. */
.price,
.woocommerce-Price-amount,
.amount {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}

/* ==========================================================================
   Knappar och fokus

   Synlig fokusmarkering är inte valfritt — utan den kan sidan inte användas
   med tangentbord. :focus-visible gör att markeringen bara syns vid
   tangentbordsnavigering och inte stör musanvändare.
   ========================================================================== */

.button,
button,
input[type="submit"] {
	font-family: var(--pryl-font-body);
	font-weight: 600;
	letter-spacing: 0.01em;
	border-radius: var(--pryl-radius);
	text-transform: none;
	min-height: var(--pryl-control-height);
}

.button.primary,
button.primary,
input[type="submit"].primary,
input[type="submit"] {
	background: var(--pryl-cta);
	border-color: var(--pryl-cta);
	color: var(--pryl-white);
}

.button.primary:hover,
button.primary:hover,
input[type="submit"].primary:hover,
input[type="submit"]:hover {
	background: var(--pryl-cta-dark);
	border-color: var(--pryl-cta-dark);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="password"],
select,
textarea {
	font-family: var(--pryl-font-body);
	font-size: 1rem;
	color: var(--pryl-ink);
	background-color: var(--pryl-white);
	border-color: var(--pryl-line);
	border-radius: var(--pryl-radius);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="password"],
select {
	min-height: var(--pryl-control-height);
}

a:focus-visible,
button:focus-visible,
.button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--fs-color-primary);
	outline-offset: 2px;
	border-radius: 2px;
}

.ux-swatch:focus-visible,
.remove:focus-visible,
[data-flatsome-role-button]:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--fs-color-primary);
	outline-offset: 2px;
}

/* ==========================================================================
   Header, sök, mobilnavigation och mini-cart
   ========================================================================== */

#header .header-main {
	background: var(--pryl-white);
	border-bottom: 0;
	box-shadow: none;
}

/* Döljer kvarvarande demo-/betalningsytor även innan nästa kodstyrda sidbygg. */
#top-bar,
.sidebar-menu .header-newsletter-item,
.sidebar-menu .header-social-icons,
.payment-icons {
	display: none !important;
}

#header .top-divider {
	display: none;
}

#logo {
	margin-right: var(--pryl-space-3);
}

#logo a {
	display: inline-flex;
	align-items: center;
	min-height: var(--pryl-control-height);
	font-family: var(--pryl-font-body);
	font-size: clamp(1.45rem, 2.2vw, 1.9rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	color: var(--pryl-accent-strong);
	text-decoration: none;
}

#logo img.header-logo {
	display: block;
	width: 260px;
	height: auto;
	max-height: 58px;
	object-fit: contain;
	object-position: left center;
}

.header-main .flex-left {
	min-width: 0;
}

.header-main .header-search-form {
	flex: 1 1 auto;
	width: min(100%, 760px) !important;
	margin-left: var(--pryl-space-2);
}

.header-main .header-search-form-wrapper,
.header-main .searchform-wrapper {
	width: 100%;
}

.header-nav-main > li > a {
	display: inline-flex;
	align-items: center;
	min-height: var(--pryl-control-height);
	padding-inline: 0.72rem;
	font-size: 0.96rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--pryl-ink);
	border-radius: 999px;
}

.header-nav-main > li.current-menu-item > a,
.header-nav-main > li.current-product_cat-ancestor > a,
.header-nav-main > li > a:hover {
	color: var(--fs-color-primary);
	background: var(--pryl-accent-soft);
}

.prylhuset-header-usp {
	color: var(--pryl-white);
	background: var(--pryl-accent-strong);
}

.prylhuset-header-usp__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pryl-space-2);
	margin: 0;
	padding: 0.58rem 0;
	list-style: none;
}

.prylhuset-header-usp__list li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-width: 0;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--pryl-white);
}

.prylhuset-header-usp__list svg {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#wide-nav {
	background: var(--fs-color-primary);
	border: 0;
}

#wide-nav .container {
	min-height: 48px;
}

#wide-nav .flex-left {
	flex: 1 1 auto;
}

.header-bottom-nav {
	align-items: center;
	gap: 0.25rem;
	width: 100%;
}

.header-bottom-nav > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: clamp(0.7rem, 1.2vw, 1rem);
	font-size: clamp(0.82rem, 0.9vw, 0.92rem);
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
	color: var(--pryl-white) !important;
	border-radius: 8px;
	transition: color 160ms ease, background-color 160ms ease;
}

.header-bottom-nav > li.current-menu-item > a,
.header-bottom-nav > li.current-product_cat-ancestor > a,
.header-bottom-nav > li > a:hover,
.header-bottom-nav > li > a:focus-visible {
	color: var(--pryl-white) !important;
	background: rgb(255 255 255 / 14%);
}

.header-bottom-nav > li > a:focus-visible {
	outline: 2px solid var(--pryl-white);
	outline-offset: -3px;
}

/*
 * Produktkategorierna har tre datadrivna nivåer. På desktop görs bara den
 * första dropdownen till en megameny; nivå två och tre ligger i tydliga
 * grupper i stället för Flatsomes smala, tabellbaserade kolumner.
 */
@media (min-width: 850px) {
	#wide-nav {
		position: relative;
	}

	#wide-nav .container,
	#wide-nav .flex-row,
	#wide-nav .flex-left {
		position: static;
	}

	#wide-nav .header-bottom-nav > li {
		margin: 0;
	}

	#wide-nav .header-bottom-nav > li.menu-item-has-children {
		position: static;
	}

	#wide-nav .header-bottom-nav > li.menu-item-has-children > .nav-dropdown {
		display: block !important;
		column-count: 4;
		column-gap: var(--pryl-space-3);
		column-fill: balance;
		top: 100%;
		left: 50vw !important;
		right: auto !important;
		width: min(1180px, calc(100vw - 2rem)) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 2rem) !important;
		max-height: min(70vh, 620px);
		margin: 0;
		padding: var(--pryl-space-3);
		overflow-x: hidden;
		overflow-y: auto;
		background: var(--pryl-white);
		border: 1px solid var(--pryl-line);
		border-top: 0;
		border-radius: 0 0 12px 12px;
		box-shadow: 0 24px 56px rgb(35 32 29 / 16%);
		transform: translate(-50%, 8px);
		transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
		pointer-events: none;
	}

	#wide-nav .header-bottom-nav > li.menu-item-has-children.current-dropdown > .nav-dropdown,
	.no-js #wide-nav .header-bottom-nav > li.menu-item-has-children:hover > .nav-dropdown {
		left: 50vw !important;
		right: auto !important;
		max-height: min(70vh, 620px);
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
		pointer-events: auto;
	}

	#wide-nav .header-bottom-nav > li > .nav-dropdown > li {
		display: inline-block !important;
		min-width: 0;
		width: 100% !important;
		margin: 0 0 var(--pryl-space-2) !important;
		white-space: normal;
		break-inside: avoid;
		border: 0;
		vertical-align: top;
	}

	#wide-nav .header-bottom-nav > li > .nav-dropdown > li > a {
		display: flex;
		align-items: center;
		min-height: 44px;
		margin: 0;
		padding: 0.65rem 0.75rem;
		font-size: 0.9rem;
		font-weight: 700;
		line-height: 1.35;
		text-transform: none;
		white-space: normal;
		overflow-wrap: anywhere;
		color: var(--pryl-ink);
		border: 0;
		border-radius: 8px;
	}

	#wide-nav .header-bottom-nav > li > .nav-dropdown > li.menu-item-has-children > a {
		padding-inline: 0;
		border-bottom: 1px solid var(--pryl-line);
		border-radius: 0;
	}

	#wide-nav .header-bottom-nav > li > .nav-dropdown > li:not(.menu-item-has-children) > a {
		background: var(--pryl-surface);
		border: 1px solid var(--pryl-line);
	}

	/*
	 * Sätt aldrig visibility eller opacity här. Nivå tre ärver dem från
	 * dropdownen, och visibility är den enda ärvda egenskap ett barn kan
	 * vända tillbaka: ett "visible" här gjorde hela kategoriträdet synligt
	 * medan menyn var stängd, trots att dropdownen själv låg på hidden.
	 */
	#wide-nav .header-bottom-nav > li > .nav-dropdown > li > .sub-menu {
		position: static;
		display: grid;
		gap: 0.2rem;
		min-width: 0;
		max-height: none;
		margin: 0;
		padding: 0.55rem 0 0;
		overflow: visible;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		transform: none;
	}

	#wide-nav .header-bottom-nav > li > .nav-dropdown > li > .sub-menu li {
		display: block;
		min-width: 0;
		width: auto;
		margin: 0;
		white-space: normal;
	}

	#wide-nav .header-bottom-nav > li > .nav-dropdown > li > .sub-menu li > a {
		display: flex;
		align-items: center;
		min-height: 40px;
		margin: 0;
		padding: 0.55rem 0.65rem;
		font-size: 0.84rem;
		font-weight: 600;
		line-height: 1.4;
		text-transform: none;
		white-space: normal;
		overflow-wrap: anywhere;
		color: var(--pryl-ink-muted);
		border: 0;
		border-radius: 7px;
	}

	#wide-nav .header-bottom-nav .nav-dropdown a:hover,
	#wide-nav .header-bottom-nav .nav-dropdown a:focus-visible,
	#wide-nav .header-bottom-nav .nav-dropdown li.current-menu-item > a {
		color: var(--pryl-accent-strong);
		background: var(--pryl-accent-soft);
	}
}

@media (min-width: 850px) and (max-width: 1099px) {
	#wide-nav .header-bottom-nav > li.menu-item-has-children > .nav-dropdown {
		column-count: 3;
	}
}

.header-search > a,
.account-item > a,
.cart-item > a,
.mobile-nav > li > a,
.mobile-nav .icon-menu {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--pryl-control-height);
	min-height: var(--pryl-control-height);
}

.header-divider {
	height: 24px;
	border-color: var(--pryl-line);
}

.cart-item .cart-icon strong,
.cart-item [data-icon-label]::after {
	background-color: var(--fs-color-primary);
	color: var(--pryl-white);
}

.searchform-wrapper .search-field {
	height: 48px;
	padding-inline: var(--pryl-space-2);
	border: 2px solid var(--pryl-accent-strong);
	border-right: 0;
	border-radius: 999px 0 0 999px;
	box-shadow: none;
}

.searchform-wrapper .submit-button {
	min-width: 48px;
	height: 48px;
	color: var(--pryl-white);
	background: var(--pryl-accent-strong);
	border: 2px solid var(--pryl-accent-strong);
	border-left: 0;
	border-radius: 0 999px 999px 0;
}

.mfp-content .searchform-wrapper {
	width: min(720px, calc(100vw - 2rem));
	margin-inline: auto;
}

.live-search-results {
	margin-top: var(--pryl-space-1);
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
	box-shadow: var(--pryl-shadow-soft);
}

.autocomplete-suggestion {
	min-height: 64px;
	padding: 0.75rem;
	color: var(--pryl-ink);
	border-bottom-color: var(--pryl-line);
}

.off-canvas .sidebar-menu {
	min-height: 100%;
	padding: var(--pryl-space-3) var(--pryl-space-2) var(--pryl-space-4);
	background: var(--pryl-surface);
}

.sidebar-menu .searchform-wrapper {
	margin-bottom: var(--pryl-space-2);
}

.sidebar-menu .nav-vertical > li {
	margin: 0;
	border-color: var(--pryl-line);
}

.sidebar-menu .nav-vertical > li > a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 0.75rem 3.25rem 0.75rem 0.8rem;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
	color: var(--pryl-ink);
	border-radius: 9px;
}

.sidebar-menu .nav-vertical li.menu-item-has-children > .toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	right: 0.15rem;
	color: var(--pryl-accent-strong);
	border-radius: 8px;
}

.sidebar-menu .nav-vertical .sub-menu {
	margin: 0;
	padding: 0.35rem 0 0.65rem;
}

.sidebar-menu .nav-vertical .sub-menu li > a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.65rem 2.9rem 0.65rem 0.8rem;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.4;
	text-transform: none;
	white-space: normal;
	overflow-wrap: anywhere;
	color: var(--pryl-ink-muted);
	border-radius: 8px;
}

.sidebar-menu .nav-vertical > li.menu-item-has-children.active {
	margin-block: 0.35rem;
	padding: 0.3rem;
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: 12px;
	box-shadow: 0 10px 24px rgb(35 32 29 / 6%);
}

.sidebar-menu .nav-vertical > li.menu-item-has-children.active > a {
	color: var(--pryl-accent-strong);
}

.sidebar-menu .nav-vertical > li > .sub-menu > li.menu-item-has-children {
	margin: 0.45rem 0;
	padding: 0.2rem;
	background: var(--pryl-surface);
	border-radius: 9px;
}

.sidebar-menu .nav-vertical > li > .sub-menu > li.menu-item-has-children > a {
	font-weight: 700;
	color: var(--pryl-ink);
}

.sidebar-menu .nav-vertical > li > .sub-menu > li > .sub-menu {
	padding: 0 0.25rem 0.4rem;
}

.sidebar-menu .nav-vertical > li > .sub-menu > li > .sub-menu li > a {
	padding-left: 1rem;
	color: var(--pryl-ink-muted);
}

.sidebar-menu .nav-vertical .sub-menu li > a:hover,
.sidebar-menu .nav-vertical .sub-menu li > a:focus-visible,
.sidebar-menu .nav-vertical .sub-menu li.current-menu-item > a {
	color: var(--pryl-accent-strong);
	background: var(--pryl-accent-soft);
}

.sidebar-menu .nav-vertical > li > a:hover,
.sidebar-menu .nav-vertical > li > a:focus-visible,
.sidebar-menu .nav-vertical > li.current-menu-item > a,
.sidebar-menu .nav-vertical > li.current-product_cat-ancestor > a {
	color: var(--pryl-accent-strong);
	background: var(--pryl-accent-soft);
}

#cart-popup,
.cart-popup-inner {
	background: var(--pryl-white);
}

.cart-popup-inner {
	padding: var(--pryl-space-3);
}

.woocommerce-mini-cart-item {
	min-height: 88px;
	padding-block: var(--pryl-space-2) !important;
	border-bottom-color: var(--pryl-line) !important;
}

.woocommerce-mini-cart-item a:not(.remove) {
	font-weight: 600;
	color: var(--pryl-ink);
}

.woocommerce-mini-cart-item .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--pryl-control-height);
	height: var(--pryl-control-height);
}

.woocommerce-mini-cart__total {
	padding-top: var(--pryl-space-2);
	font-size: 1rem;
	color: var(--pryl-ink);
	border-top-color: var(--pryl-line);
}

.woocommerce-mini-cart__buttons {
	display: grid;
	gap: var(--pryl-space-1);
}

.woocommerce-mini-cart__buttons .button {
	width: 100%;
	margin: 0;
}

.woocommerce-mini-cart__buttons .checkout {
	color: var(--pryl-white);
	background: var(--fs-color-primary);
}

/* ==========================================================================
   Startsida
   ========================================================================== */

.prylhuset-hero .row {
	min-height: 610px;
}

.prylhuset-hero__copy > .col-inner {
	padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 4rem);
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
	box-shadow: var(--pryl-shadow-panel);
	position: relative;
	overflow: hidden;
}

.prylhuset-hero__copy > .col-inner::after {
	content: "";
	position: absolute;
	inset: auto -40px -58px auto;
	width: 210px;
	height: 210px;
	border-radius: 50%;
	background: rgb(227 236 232 / 72%);
	pointer-events: none;
}

.prylhuset-hero h1 {
	max-width: 13ch;
	margin: 0 0 var(--pryl-space-2);
	font-size: clamp(2.5rem, 5vw, 4.7rem);
	line-height: 1.05;
}

.prylhuset-eyebrow {
	margin: 0 0 var(--pryl-space-2);
	font-size: 0.76rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--fs-color-primary);
}

.prylhuset-hero__lead {
	max-width: 52ch;
	margin: 0;
	font-size: clamp(1rem, 1.6vw, 1.18rem);
	color: var(--pryl-ink-muted);
}

.prylhuset-chip-strip__label p {
	margin: 0 0 0.55rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pryl-ink-muted);
}

.prylhuset-chip-strip .button.prylhuset-chip {
	min-height: 44px;
	margin: 0 0.4rem 0.5rem 0;
	padding: 0.55rem 0.9rem;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--pryl-ink);
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	box-shadow: none;
}

.prylhuset-chip-strip .button.prylhuset-chip:hover,
.prylhuset-chip-strip .button.prylhuset-chip:focus-visible,
.prylhuset-chip-strip .button.prylhuset-chip--all {
	color: var(--pryl-white);
	background: var(--pryl-accent-strong);
	border-color: var(--pryl-accent-strong);
}

.prylhuset-hero__cta {
	min-height: 52px;
	padding-inline: 1.6rem;
}

.prylhuset-hero__media .img-inner {
	background: var(--pryl-white);
	padding: clamp(1rem, 2vw, 1.45rem);
	border: 1px solid var(--pryl-line);
	border-radius: 12px;
	box-shadow: var(--pryl-shadow-card);
}

.prylhuset-hero__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	border-radius: 8px;
}

.prylhuset-section-heading {
	max-width: 650px;
	margin-bottom: var(--pryl-space-4);
}

.prylhuset-section-heading h2,
.prylhuset-story h2,
.prylhuset-home-trust h2 {
	margin: 0 0 var(--pryl-space-1);
	font-size: clamp(1.9rem, 3vw, 2.7rem);
}

.prylhuset-section-heading p:last-child {
	margin: 0;
	color: var(--pryl-ink-muted);
}

.prylhuset-category-card {
	overflow: hidden;
	border: 1px solid var(--pryl-line);
	border-radius: 8px;
	box-shadow: var(--pryl-shadow-soft);
}

.prylhuset-category-card .bg-fill {
	background-color: var(--pryl-surface);
}

.prylhuset-category-card .text-box {
	transition: transform 180ms ease, background-color 180ms ease;
}

.prylhuset-category-card:hover .text-box {
	transform: translateY(-4px);
	background-color: rgb(35 32 29 / 94%) !important;
}

.prylhuset-category-card h3 {
	margin: 0;
	font-size: clamp(0.95rem, 1.5vw, 1.18rem);
	line-height: 1.28;
	color: var(--pryl-white);
}

.prylhuset-products {
	background: var(--pryl-white);
}

.prylhuset-story p:last-child {
	margin-inline: auto;
	color: var(--pryl-ink-muted);
}

.prylhuset-home-trust__facts ul {
	margin: 0;
	padding: var(--pryl-space-3);
	list-style: none;
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
}

.prylhuset-home-trust__facts li {
	position: relative;
	margin: 0 0 0.6rem;
	padding-left: 1.4rem;
}

.prylhuset-home-trust__facts li:last-child {
	margin-bottom: 0;
}

.prylhuset-home-trust__facts li::before {
	content: "";
	position: absolute;
	top: 0.62em;
	left: 0;
	width: 0.55rem;
	height: 2px;
	background: var(--fs-color-primary);
}

/* ==========================================================================
   Trygghetsrad på produktsidan
   ========================================================================== */

.prylhuset-trust {
	margin: var(--pryl-space-3) 0;
	padding: var(--pryl-space-3);
	background: var(--pryl-surface);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
	font-size: 0.92rem;
	line-height: 1.5;
}

.prylhuset-trust__title {
	margin: 0 0 0.75rem;
	font-family: var(--pryl-font-heading);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--pryl-ink);
}

.prylhuset-trust__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.prylhuset-trust__list li {
	position: relative;
	margin: 0 0 0.5em;
	padding-left: 1.6em;
	color: var(--pryl-ink);
}

.prylhuset-trust__list li:last-child {
	margin-bottom: 0;
}

/*
 * Bocken ritas med CSS i stället för att vara en emoji. Emojier renderas olika
 * i olika system och går inte att färgsätta med temats variabler.
 */
.prylhuset-trust__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.42em;
	width: 0.62em;
	height: 0.34em;
	border-left: 2px solid var(--fs-color-primary);
	border-bottom: 2px solid var(--fs-color-primary);
	transform: rotate(-45deg);
}

.prylhuset-trust__links {
	margin: 0.9rem 0 0;
	padding-top: 0.8rem;
	border-top: 1px solid var(--pryl-line);
}

.prylhuset-trust__links a {
	font-weight: 600;
	text-underline-offset: 0.18em;
}

/* ==========================================================================
   Produktkort
   ========================================================================== */

.product-small .box-text {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--pryl-space-2);
}

.product-small {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: 10px;
	box-shadow: 0 1px 0 rgb(35 32 29 / 3%);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.product-small:hover {
	transform: translateY(-3px);
	box-shadow: var(--pryl-shadow-card);
	border-color: #c9c3bc;
}

.product-small .box-image {
	background: var(--pryl-surface);
	border-bottom: 1px solid var(--pryl-line);
}

.product-small .box-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	padding: clamp(0.65rem, 1.8vw, 1.25rem);
	object-fit: contain;
}

.product-small .name a {
	font-family: var(--pryl-font-heading);
	font-weight: 500;
	font-size: 1.08rem;
	line-height: 1.35;
	color: var(--pryl-ink);
}

.product-small .category {
	margin-bottom: 0.45rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pryl-ink-muted);
}

.product-small .title-wrapper {
	margin-bottom: 0.55rem;
}

.product-small .price {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 1.18rem;
	font-weight: 600;
	color: var(--pryl-ink);
}

.product-small .price-wrapper {
	margin-top: auto;
}

.prylhuset-card-stock {
	position: relative;
	margin: 0 0 0.8rem;
	padding-left: 0.9rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--pryl-ink-muted);
}

.prylhuset-card-stock::before {
	content: "";
	position: absolute;
	top: 0.56em;
	left: 0;
	width: 0.45rem;
	height: 0.45rem;
	background: var(--pryl-ink-muted);
	border-radius: 50%;
}

.prylhuset-card-stock.is-in-stock::before {
	background: var(--fs-color-success);
}

.prylhuset-card-stock.is-out-of-stock::before {
	background: var(--fs-color-alert);
}

.product-small .add-to-cart-button {
	margin-top: auto;
}

.product-small .add-to-cart-button .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 49px;
	margin: 0;
	padding: 0.75rem 0.8rem;
	font-size: 0.88rem;
	line-height: 1.2;
	white-space: normal;
	color: var(--pryl-white);
	background: var(--pryl-accent-strong);
	border-color: var(--pryl-accent-strong);
	box-shadow: none;
}

.product-small .add-to-cart-button .button:hover,
.product-small .add-to-cart-button .button:focus-visible {
	background: var(--pryl-primary-dark);
	border-color: var(--pryl-primary-dark);
}

.product-small .badge-container {
	margin: 0.75rem;
}

.badge-container .prylhuset-image-badge {
	display: block;
	width: auto;
	height: auto;
	margin: 0 0 0.4rem;
}

.badge-container .prylhuset-image-badge .badge-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	min-height: 30px;
	padding: 0.48rem 0.72rem;
	font-family: var(--pryl-font-body);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.065em;
	text-transform: uppercase;
	color: var(--pryl-white);
	border: 1px solid rgb(255 255 255 / 68%);
	border-radius: 999px;
	box-shadow: 0 3px 12px rgb(35 32 29 / 12%);
}

.badge-container .prylhuset-image-badge--new .badge-inner {
	background: var(--fs-color-secondary);
}

.badge-container .prylhuset-image-badge--handmade .badge-inner {
	background: var(--pryl-primary-dark);
}

.single-product .product-gallery .badge-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 1rem;
}

/* ==========================================================================
   Katalog och produktsida
   ========================================================================== */

.shop-page-title {
	background: var(--pryl-surface);
	border-bottom: 1px solid var(--pryl-line);
}

.shop-page-title .page-title-inner {
	padding-block: var(--pryl-space-3);
}

.shop-page-title .shop-page-title.is-xlarge,
.shop-page-title h1 {
	font-size: clamp(2rem, 4vw, 3.1rem);
}

.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
	font-size: 0.8rem;
	color: var(--pryl-ink-muted);
}

.woocommerce-result-count {
	font-size: 0.88rem;
	color: var(--pryl-ink-muted);
}

.woocommerce-ordering select {
	min-width: 200px;
	padding-inline: 0.8rem 2.2rem;
}

.prylhuset-shop-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 var(--pryl-space-2);
	padding: 0.95rem 0.95rem 0.6rem;
	background: var(--pryl-surface);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
}

.prylhuset-shop-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.35rem 0.75rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pryl-ink-muted);
	background: var(--pryl-white);
	border: 1px solid #b7b2ab;
	border-radius: 999px;
	text-decoration: none;
}

.prylhuset-shop-chip:hover,
.prylhuset-shop-chip:focus-visible,
.prylhuset-shop-chip.is-active {
	color: var(--pryl-white);
	background: var(--pryl-accent-strong);
	border-color: var(--pryl-accent-strong);
}

.products.row {
	row-gap: var(--pryl-space-3);
}

.single-product .product-main {
	padding-block: clamp(2rem, 5vw, 4rem);
}

.single-product .product-gallery .product-images,
.single-product .product-gallery .woocommerce-product-gallery__image {
	overflow: hidden;
	background: var(--pryl-surface);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
}

.single-product .product-gallery img {
	width: 100%;
	box-sizing: border-box;
	padding: clamp(1rem, 3vw, 2rem);
	object-fit: contain;
}

.single-product .product-info {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
	box-shadow: var(--pryl-shadow-soft);
}

.single-product .product-title {
	margin-bottom: 0.7rem;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.08;
}

.single-product .is-divider {
	width: 48px;
	height: 2px;
	margin-block: 1rem;
	background: var(--fs-color-primary);
}

.single-product .price.product-page-price {
	margin-bottom: var(--pryl-space-2);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	font-weight: 700;
	color: var(--pryl-ink);
}

.single-product .woocommerce-product-details__short-description {
	margin-bottom: var(--pryl-space-2);
	color: var(--pryl-ink-muted);
}

.single-product .stock {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin: 0 0 var(--pryl-space-2);
	padding: 0.25rem 0.65rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--pryl-primary-dark);
	background: var(--pryl-accent-soft);
	border-radius: 999px;
}

.single-product .stock.out-of-stock {
	color: var(--fs-color-alert);
	background: #fae9e7;
}

.product-info form.cart:not(.variations_form),
.variations_form .woocommerce-variation-add-to-cart {
	display: grid;
	grid-template-columns: auto minmax(180px, 1fr);
	gap: var(--pryl-space-1);
	align-items: stretch;
	margin-bottom: var(--pryl-space-2);
}

.product-info .quantity.buttons_added {
	display: inline-grid;
	grid-template-columns: 36px 48px 36px;
	height: 52px;
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
}

.product-info .quantity .button,
.product-info .quantity input[type="number"] {
	width: auto;
	min-width: 0;
	min-height: 50px;
	margin: 0;
	padding: 0;
	background: var(--pryl-white);
	border: 0;
	box-shadow: none;
}

.product-info .single_add_to_cart_button.button {
	min-height: 52px;
	margin: 0;
	padding-inline: var(--pryl-space-3);
	font-size: 1rem;
	color: var(--pryl-white);
	background: var(--fs-color-primary);
	border-color: var(--fs-color-primary);
}

.product-info .single_add_to_cart_button.button:hover {
	background: var(--pryl-primary-dark);
	border-color: var(--pryl-primary-dark);
}

.variations_form .variations {
	margin-bottom: var(--pryl-space-2);
	border: 0;
}

.variations_form .variations th,
.variations_form .variations td {
	display: block;
	width: 100%;
	padding: 0 0 0.5rem;
	border: 0;
}

.variations_form .variations label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 700;
	color: var(--pryl-ink);
}

.variations_form .variations select {
	width: 100%;
	margin: 0;
}

.variations_form .reset_variations {
	display: inline-flex;
	align-items: center;
	min-height: var(--pryl-control-height);
	margin-top: 0.35rem;
	font-size: 0.86rem;
}

.ux-swatch {
	min-width: var(--pryl-control-height);
	min-height: var(--pryl-control-height);
	border-color: var(--pryl-line);
}

.ux-swatch.selected {
	box-shadow: 0 0 0 2px var(--fs-color-primary);
}

.product-footer .woocommerce-tabs,
.product-footer .accordion-item {
	border-color: var(--pryl-line);
}

.product-footer .accordion-title,
.product-footer .wc-tabs a {
	min-height: var(--pryl-control-height);
	font-weight: 600;
	text-transform: none;
}

/* Leverantörsverifierade fakta och lokalt sparade certifikat. */
.prylhuset-product-facts {
	padding: clamp(1.25rem, 3vw, 2.5rem);
	color: var(--pryl-ink);
	background: var(--pryl-surface);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
}

.prylhuset-product-facts__header {
	max-width: var(--pryl-measure);
	margin-bottom: var(--pryl-space-3);
}

.prylhuset-product-facts__header h2,
.prylhuset-product-documents h3 {
	margin-bottom: 0.55rem;
}

.prylhuset-product-facts__header p:last-child,
.prylhuset-product-documents > p {
	margin-bottom: 0;
	color: var(--pryl-ink-muted);
}

.prylhuset-product-facts__eyebrow {
	margin-bottom: 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--fs-color-primary);
}

.prylhuset-product-facts__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 var(--pryl-space-3);
	padding: 0;
	list-style: none;
}

.prylhuset-product-facts__badges li {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0.35rem 0.75rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pryl-accent-strong);
	background: var(--pryl-accent-soft);
	border: 1px solid rgb(47 93 80 / 22%);
	border-radius: 999px;
}

.prylhuset-product-facts__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	overflow: hidden;
	background: var(--pryl-line);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
}

.prylhuset-product-facts__item {
	min-width: 0;
	padding: 1rem 1.1rem;
	background: var(--pryl-white);
}

.prylhuset-product-facts__item--wide {
	grid-column: 1 / -1;
}

.prylhuset-product-facts__item dt {
	margin-bottom: 0.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	color: var(--pryl-ink-muted);
}

.prylhuset-product-facts__item dd {
	margin: 0;
	font-weight: 600;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.prylhuset-product-facts__item--wide dd {
	font-weight: 500;
}

.prylhuset-product-documents {
	margin-top: var(--pryl-space-4);
	padding-top: var(--pryl-space-3);
	border-top: 1px solid var(--pryl-line);
}

.prylhuset-product-documents ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: var(--pryl-space-2) 0 0;
	padding: 0;
	list-style: none;
}

.prylhuset-product-documents a {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-height: 72px;
	padding: 0.75rem;
	color: var(--pryl-ink);
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
	box-shadow: 0 1px 0 rgb(35 32 29 / 3%);
}

.prylhuset-product-documents a:hover {
	color: var(--pryl-accent-strong);
	border-color: var(--fs-color-primary);
	box-shadow: var(--pryl-shadow-card);
}

.prylhuset-product-documents a:focus-visible {
	outline: 3px solid rgb(47 93 80 / 35%);
	outline-offset: 3px;
}

.prylhuset-product-documents a > span:last-child {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.prylhuset-product-documents strong {
	overflow-wrap: anywhere;
}

.prylhuset-product-documents small {
	color: var(--pryl-ink-muted);
}

.prylhuset-product-documents__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--pryl-white);
	background: var(--pryl-cta);
	border-radius: var(--pryl-radius);
}

@media (max-width: 549px) {
	.prylhuset-product-facts__grid,
	.prylhuset-product-documents ul {
		grid-template-columns: 1fr;
	}

	.prylhuset-product-facts__item--wide {
		grid-column: auto;
	}
}

.related-products-wrapper,
.upsells {
	padding-top: var(--pryl-space-4);
}

.related-products-wrapper .product-section-title,
.upsells .product-section-title {
	font-family: var(--pryl-font-heading);
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	letter-spacing: -0.01em;
	text-transform: none;
}

.related-products-wrapper > .row {
	align-items: stretch;
}

.related-products-wrapper > .row > .product-small {
	display: flex;
}

.related-products-wrapper > .row > .product-small > .col-inner {
	display: flex;
	width: 100%;
}

/* ==========================================================================
   Varukorg och kassa

   Bara presentation ändras här. WooCommerce fortsätter att äga formulär,
   validering, frakt, betalning, moms och orderdata.
   ========================================================================== */

.woocommerce-cart .page-wrapper,
.woocommerce-checkout .page-wrapper {
	padding-block: clamp(2rem, 5vw, 4rem);
	background: var(--pryl-surface);
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-checkout-review-order {
	padding: clamp(1rem, 2.5vw, 2rem);
	background: var(--pryl-white);
	border: 1px solid var(--pryl-line);
	border-radius: var(--pryl-radius);
	box-shadow: 0 1px 0 rgb(35 32 29 / 3%);
}

.woocommerce-cart .shop_table,
.woocommerce-checkout .shop_table {
	margin-bottom: 0;
	border-color: var(--pryl-line);
}

.woocommerce-cart .shop_table th,
.woocommerce-checkout .shop_table th {
	font-size: 0.78rem;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	color: var(--pryl-ink-muted);
}

.woocommerce-cart .shop_table td,
.woocommerce-checkout .shop_table td,
.woocommerce-cart .shop_table th,
.woocommerce-checkout .shop_table th {
	border-color: var(--pryl-line);
}

.woocommerce-cart .product-name a,
.woocommerce-checkout .product-name {
	font-weight: 600;
	color: var(--pryl-ink);
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	text-transform: none;
}

.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	margin: var(--pryl-space-2) 0 0;
	font-size: 1rem;
	color: var(--pryl-white);
	background: var(--fs-color-primary);
	border-color: var(--fs-color-primary);
}

.woocommerce-cart .checkout-button:hover,
.woocommerce-checkout #place_order:hover {
	background: var(--pryl-primary-dark);
	border-color: var(--pryl-primary-dark);
}

.woocommerce-form-coupon,
.woocommerce-form-login,
.woocommerce-checkout-payment {
	background: var(--pryl-white) !important;
	border: 1px solid var(--pryl-line) !important;
	border-radius: var(--pryl-radius);
}

.woocommerce-checkout-payment .payment_box {
	color: var(--pryl-ink-muted);
	background: var(--pryl-surface) !important;
}

.woocommerce-checkout-payment .payment_box::before {
	border-bottom-color: var(--pryl-surface) !important;
}

/* ==========================================================================
   Sidfot
   ========================================================================== */

.prylhuset-footer {
	background: var(--pryl-surface);
	border-top: 1px solid var(--pryl-line);
	padding: 3rem 0 2rem;
}

.prylhuset-footer h4 {
	font-family: var(--pryl-font-heading);
	font-size: 1.05rem;
	margin-bottom: 0.85em;
	color: var(--pryl-ink);
}

.prylhuset-footer p {
	color: var(--pryl-ink-muted);
	font-size: 0.92rem;
	line-height: 1.6;
	max-width: 42ch;
}

.prylhuset-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.prylhuset-footer li {
	margin-bottom: 0.55em;
}

.prylhuset-footer a {
	color: var(--pryl-ink-muted);
	font-size: 0.92rem;
	/* Träffytan hålls minst 44px hög så länkarna går att träffa på mobil. */
	display: inline-flex;
	align-items: center;
	min-height: var(--pryl-control-height);
	padding: 0.45em 0;
}

.prylhuset-footer a:hover,
.prylhuset-footer a:focus-visible {
	color: var(--fs-color-primary);
}

.prylhuset-footer__legal {
	margin-top: 1.1em;
	font-size: 0.82rem;
	line-height: 1.55;
	color: var(--pryl-ink-muted);
}

.prylhuset-footer__note {
	margin-top: 0;
	font-size: 0.82rem;
}

.footer-widgets {
	background: var(--pryl-surface);
	border-top: 1px solid var(--pryl-line);
}

.footer-widgets .widget-title {
	font-family: var(--pryl-font-heading);
	font-size: 1rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pryl-ink);
}

.footer-widgets a {
	color: var(--pryl-ink-muted);
}

.footer-widgets a:hover {
	color: var(--fs-color-primary);
}

.absolute-footer {
	background: var(--pryl-surface-deep);
	color: var(--pryl-ink-muted);
	font-size: 0.85rem;
}

/* ==========================================================================
   Responsivitet
   ========================================================================== */

@media (max-width: 849px) {
	html.has-off-canvas-left {
		--drawer-width: min(100vw, 420px);
	}

	.off-canvas-left .mfp-content {
		width: var(--drawer-width) !important;
		max-width: 100vw !important;
		background: var(--pryl-surface);
		box-shadow: 18px 0 48px rgb(35 32 29 / 22%);
	}

	.off-canvas-left .mfp-content > .mfp-close,
	.off-canvas-left .mfp-close {
		top: 0.75rem !important;
		right: auto !important;
		left: calc(var(--drawer-width) - 3.5rem) !important;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		min-height: 44px;
		color: var(--pryl-accent-strong);
		background: var(--pryl-white);
		border: 1px solid var(--pryl-line);
		border-radius: 999px;
		box-shadow: 0 6px 18px rgb(35 32 29 / 10%);
		transform: none !important;
	}

	#main-menu:not(.mobile-sidebar-slide) .sidebar-menu {
		padding: 4.5rem 1rem 1.5rem;
	}

	#main-menu:not(.mobile-sidebar-slide),
	#main-menu:not(.mobile-sidebar-slide) .sidebar-menu,
	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar {
		width: 100%;
		background: var(--pryl-surface);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar {
		margin: 0;
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li {
		border-bottom: 1px solid var(--pryl-line);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > a {
		padding-inline: 0.75rem 3.25rem;
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li:not(.menu-item-object-product_cat) + li.menu-item-object-product_cat::before {
		display: block;
		margin: 1.1rem 0.75rem 0.35rem;
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--pryl-ink-muted);
		content: "Kategorier";
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li.menu-item-object-product_cat {
		margin-top: 0.35rem;
		padding: 0.3rem;
		background: var(--pryl-white);
		border: 1px solid var(--pryl-line);
		border-radius: 12px;
		box-shadow: 0 10px 24px rgb(35 32 29 / 6%);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li.menu-item-object-product_cat > a {
		font-size: 1rem;
		font-weight: 700;
		color: var(--pryl-ink);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li.menu-item-object-product_cat.active > a {
		color: var(--pryl-accent-strong);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > .sub-menu {
		margin: 0.25rem 0 0;
		padding: 0.25rem 0.35rem 0.55rem;
		background: var(--pryl-white);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > .sub-menu > li {
		margin: 0;
		border-top: 1px solid var(--pryl-line);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > .sub-menu > li:first-child {
		border-top: 0;
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > .sub-menu > li > a {
		min-height: 48px;
		padding: 0.7rem 3rem 0.7rem 0.65rem;
		font-size: 0.9rem;
		font-weight: 600;
		color: var(--pryl-ink);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > .sub-menu > li > .sub-menu {
		margin: 0 0 0.55rem 0.65rem;
		padding: 0 0 0 0.55rem;
		border-left: 2px solid var(--pryl-accent-soft);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar > li > .sub-menu > li > .sub-menu li > a {
		min-height: 44px;
		padding: 0.6rem 0.65rem;
		font-size: 0.84rem;
		font-weight: 500;
		color: var(--pryl-ink-muted);
	}

	#main-menu:not(.mobile-sidebar-slide) .nav-sidebar li.menu-item-has-children > .toggle {
		top: 0.3rem;
		right: 0.25rem;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		margin: 0;
		color: var(--pryl-accent-strong);
		background: transparent;
		border-radius: 9px;
	}

	#main-menu:not(.mobile-sidebar-slide) .header-search-form {
		padding: 0 0 0.75rem;
		border: 0;
	}

	#main-menu:not(.mobile-sidebar-slide) .header-search-form,
	#main-menu:not(.mobile-sidebar-slide) .header-search-form-wrapper,
	#main-menu:not(.mobile-sidebar-slide) .searchform-wrapper,
	#main-menu:not(.mobile-sidebar-slide) .searchform {
		width: 100%;
	}

	.sidebar-menu .searchform-wrapper .search-field {
		background: var(--pryl-white);
		border-color: var(--pryl-line);
	}

	.sidebar-menu .searchform-wrapper .submit-button {
		color: var(--pryl-white);
		background: var(--pryl-accent-strong);
		border-color: var(--pryl-accent-strong);
	}

	#logo {
		margin: 0;
	}

	#logo a {
		font-size: 1.55rem;
	}

	#logo img.header-logo {
		width: min(210px, 48vw);
		max-height: 44px;
		object-position: center;
	}

	.prylhuset-hero .row {
		min-height: 0;
	}

	.prylhuset-hero__copy > .col-inner {
		padding: var(--pryl-space-5) var(--pryl-space-3) var(--pryl-space-4);
	}

	.prylhuset-hero__copy > .col-inner::after {
		display: none;
	}

	.prylhuset-header-usp__list {
		grid-template-columns: 1fr;
		padding-block: 0.4rem;
	}

	.prylhuset-header-usp__list li {
		justify-content: center;
		padding: 0;
	}

	.prylhuset-header-usp__list li:not(:first-child) {
		display: none;
	}

	#wide-nav {
		padding: 0.65rem 0 0.75rem;
		background: var(--pryl-white);
		border-bottom: 1px solid var(--pryl-line);
	}

	#wide-nav .container {
		min-height: 0;
	}

	#wide-nav .show-for-medium,
	#wide-nav .header-bottom-nav,
	#wide-nav .header-search-form,
	#wide-nav .header-search-form-wrapper,
	#wide-nav .searchform-wrapper {
		width: 100%;
	}

	.prylhuset-hero h1 {
		font-size: clamp(2.35rem, 8vw, 3.8rem);
	}

	.prylhuset-hero__media > .col-inner {
		padding-inline: var(--pryl-space-3);
	}

	.prylhuset-hero__media img {
		max-height: 420px;
	}

	.prylhuset-categories,
	.prylhuset-story,
	.prylhuset-home-trust {
		padding-block: var(--pryl-space-5) !important;
	}

	.single-product .product-gallery {
		margin-bottom: var(--pryl-space-3);
	}

	.single-product .product-info {
		padding: var(--pryl-space-3);
	}

	.prylhuset-footer .col {
		margin-bottom: var(--pryl-space-3);
	}
}

@media (max-width: 549px) {
	.off-canvas .sidebar-menu {
		padding-inline: 0.85rem;
	}

	.prylhuset-hero__copy > .col-inner {
		padding: 2.5rem var(--pryl-space-2) var(--pryl-space-3);
	}

	.prylhuset-hero h1 {
		max-width: 15ch;
		font-size: clamp(2.15rem, 11vw, 3rem);
	}

	.prylhuset-hero__media > .col-inner {
		padding-inline: var(--pryl-space-2);
	}

	.prylhuset-hero__media img {
		max-height: 340px;
		aspect-ratio: 4 / 3;
	}

	.prylhuset-categories {
		padding-inline: 0 !important;
	}

	.prylhuset-category-card h3 {
		overflow-wrap: anywhere;
	}

	.prylhuset-products {
		padding-bottom: var(--pryl-space-5) !important;
	}

	.product-small .box-text {
		padding: 0.85rem;
	}

	.product-small .name a {
		font-size: 0.92rem;
	}

	.product-small .add-to-cart-button .button {
		font-size: 0.76rem;
	}

	.shop-page-title .page-title-inner {
		align-items: flex-start;
		gap: var(--pryl-space-1);
	}

	.prylhuset-shop-chips {
		margin-bottom: var(--pryl-space-2);
		padding: 0.7rem;
	}

	.prylhuset-shop-chip {
		font-size: 0.74rem;
	}

	.woocommerce-ordering,
	.woocommerce-ordering select {
		width: 100%;
	}

	.single-product .product-main {
		padding-block: var(--pryl-space-3);
	}

	.single-product .product-info {
		padding: var(--pryl-space-2);
		box-shadow: none;
	}

	.single-product .product-title {
		font-size: clamp(1.8rem, 9vw, 2.5rem);
	}

	.product-info form.cart:not(.variations_form),
	.variations_form .woocommerce-variation-add-to-cart {
		grid-template-columns: 1fr;
	}

	.product-info .quantity.buttons_added {
		justify-self: start;
	}

	.prylhuset-home-trust__facts ul {
		margin-top: var(--pryl-space-3);
	}

	.prylhuset-footer {
		padding-block: var(--pryl-space-4);
	}

	.cart-popup-inner {
		padding: var(--pryl-space-2);
	}
}

/* ==========================================================================
   Respektera systeminställningar

   Användare som slagit på reducerad rörelse gör det ofta av medicinska skäl.
   Animationer stängs därför av helt i stället för att bara dämpas.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
