/*
-----------------------------------------------
Amelia Cashmere
Project-specific styles only.

Generic improvements belong in main.css and should
be copied back to Naloo Starter after they have
been proven reusable.
-----------------------------------------------
*/

/* @font-face
--------------------------------------------- */
@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-Light-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-Light-WebS.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-LightItalic-WebS.svg2') format('woff2'),
         url('../fonts/SangBleuOGSans-LightItalic-WebS.svg') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-Regular-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-Regular-WebS.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-RegularItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-RegularItalic-WebS.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-Medium-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-Medium-WebS.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-MediumItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-MediumItalic-WebS.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-Bold-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-Bold-WebS.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSans';
    src: url('../fonts/SangBleuOGSans-BoldItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSans-BoldItalic-WebS.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-Light-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-Light-WebS.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-LightItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-LightItalic-WebS.woff') format('woff');
    font-weight: 300;
    font-style: italic;
	font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-Regular-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-Regular-WebS.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-RegularItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-RegularItalic-WebS.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-Medium-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-Medium-WebS.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-MediumItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-MediumItalic-WebS.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-Bold-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-Bold-WebS.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SangBleuOGSerif';
    src: url('../fonts/SangBleuOGSerif-BoldItalic-WebS.woff2') format('woff2'),
         url('../fonts/SangBleuOGSerif-BoldItalic-WebS.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* --------------------------------------------------
   Variables / Tokens
-------------------------------------------------- */

:root {
	/* Font Families */
	--font-body: 'SangBleuOGSans', 'Helvetica Neue', sans-serif;
	--font-heading: 'SangBleuOGSerif', Times, serif;
	--font-bold: 'SangBleuOGSans', 'Helvetica Neue', sans-serif;
	
	--font-2xs: clamp(0.6875rem, 0.67rem + 0.1vw, 0.75rem);   /* 11–12px */
	--font-nav: clamp(1rem, 0.95rem + 0.35vw, 1.25rem); 
	
	--space-2xl: clamp(2.5rem, 6vw, 6rem);
	
	/* Letterspacing */
	--letter-spacing-body: 0.1em;
	--letter-spacing-strong: 0.02em;
	}

/* --------------------------------------------------
   Base
-------------------------------------------------- */

body {
	font-weight: 300; 
}

h1, 
.h1,
h2,
.h2,
h3,
.h3 {
	font-weight: 300; 
	letter-spacing: var(--letter-spacing-strong);
}

h1, 
.h1 {
	text-align: center;
	text-transform: uppercase; 
}

h3,
.h3 {
	font-size: var(--font-lg);
	line-height: 1.2; 
}


h4, 
h5, 
h6 {
	font-weight: 400; 
}

ul.wp-block-list {
	list-style: none;
	margin-left: var(--space-xs); 
	padding-left: 1.5rem;
}

ul.wp-block-list li {
	position: relative;
}

ul.wp-block-list li::before {
	content: "–";
	position: absolute;
	left: -1.25em;
}

/* --------------------------------------------------
   Layout
-------------------------------------------------- */


/* --------------------------------------------------
  Siteheader Infobar
-------------------------------------------------- */

.site-info-bar {
	background: var(--color-text);
	color: var(--color-background);	
	overflow: hidden;
}

.site-header.has-shrink.is-shrunk .site-info-bar {
	max-height: 0;
	padding-block: 0;
	opacity: 0;
}

.site-info-bar__inner {
	padding-block: var(--space-xs); 
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: clamp(1rem, 3vw, 4rem);
	row-gap: 0.25rem;
}

.site-info-bar__item {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: var(--font-2xs);
	font-weight: 400; 
	letter-spacing: var(--letter-spacing-body);
	line-height: 2;
	text-align: center;
	text-transform: uppercase;
}

.site-info-bar__item a,
.site-info-bar__item a:visited {
	color: inherit;
	text-decoration: none;
}

.site-info-bar__item a:hover,
.site-info-bar__item a:focus-visible {
	opacity: .7;
}

@media (max-width: 400px) {
	.site-info-bar {
		display: none; 
	}
}

/* --------------------------------------------------
   Header / Navigation
-------------------------------------------------- */

.site-header__inner {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	justify-items: center;
	align-items: start;
	position: relative;
	row-gap: 0;
	padding-block: 0;
}

.site-header__inner:has(.site-header__utility-nav) {
	padding-block: 0;
}

.site-branding {
	grid-column: 1;
	grid-row: 1;
	justify-self: center;
	margin-block: var(--space-md);
}

.site-branding__tagline {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: .75rem;
	overflow: hidden;
	transition:
		max-height .35s ease,
		opacity .25s ease,
		margin .35s ease;
}

.site-header.has-shrink.is-shrunk .site-branding__tagline {
	max-height: 0;
	opacity: 0;
	margin-top: 0;
	pointer-events: none;
}

.site-branding__divider {
	display: block;
	width: 3rem;
	height: 2px;
	margin-block: 0.25rem; 
	background: currentColor;
	opacity: .8;
}

.site-branding__description {
	margin: 0;
	font-size: var(--font-md);
	font-family: var(--font-heading);
	font-weight: 400;
	font-style: italic;
	text-transform: lowercase;
	letter-spacing: var(--letter-spacing-strong); 
}

.site-header.has-shrink.is-shrunk .site-branding {
	margin-block: var(--space-sm);
}

.site-header__utility-nav {
	position: absolute;
	top: 0;
	right: 0;
	padding-top: var(--space-xs);
}

.site-nav {
    width: 100%;
    background: var(--color-background);
    box-shadow: 0 0 0.25em rgba(0, 0, 0, .12);
}

@media (max-width: 900px) {
  .site-nav {
    box-shadow: none; 
  }
}

.site-nav__menu {
    max-width: var(--container-width);
    margin-inline: auto;
    justify-content: center;
}

@media (max-width: 900px) {
	.site-nav__menu .menu-row {
		padding-left: var(--container-padding);
		box-sizing: border-box;
	}
}

.site-nav__menu li {
	text-transform: uppercase; 
	letter-spacing: var(--letter-spacing-strong);
}

.site-nav__menu a {
  padding-block: 0;
}

.site-nav__menu > li > .sub-menu, .site-nav__menu .sub-menu .sub-menu {
	background: var(--color-background);
}

.site-nav__menu .sub-menu li {
	text-transform: none; 
}

.site-nav__menu .sub-menu a {
  padding: .25rem 0 .25rem var(--space-sm);
  font-size: var(--font-sm);
  line-height: 1.25;
}

.site-cart-menu {
	position: relative;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	line-height: 1;
}

.site-cart-menu__count {
	position: absolute;
	top: -.7em;
	right: -.9em;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 1.35em;
	height: 1.35em;
	padding-inline: .25em;

	border-radius: 999px;

	background: var(--color-primary);
	color: var(--color-background);

	font-size: var(--font-2xs);
	font-family: var(--font-bold);
	line-height: 1;
}

@media (max-width: 900px) {

	.site-header.is-sticky {	
		background: var(--color-background);
		box-shadow: 0 0.16em 0.33em rgba(0,0,0,0.08);
	}
	
	.site-header__inner {
		grid-template-columns: 1fr;
	}

	.site-branding {
		grid-column: 1;
		grid-row: 1;
		justify-self: center;
	}

	.site-nav-toggle {
		position: absolute;
		right: -0.5rem;
		top: 50%;
		transform: translateY(-50%);

		grid-column: auto;
		grid-row: auto;
		justify-self: auto;
		align-self: auto;
		margin: 0;
	}
	
	.site-nav__menu .sub-menu a {
		padding: .25rem 0 .25rem 0;
	}
}

/* --------------------------------------------------
   Blocks
-------------------------------------------------- */

/* Product Facts Table */

.product-facts {
	width: 100%;
	border-collapse: collapse;
}

.product-facts td {
	padding: 0;
	border: 0;
}

.product-facts td:first-child {
	width: 20%;
	padding-right: var(--space-xs);
	font-weight: 400;
}


/* Product Facts Tablist */

ul.tablist {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.tablist li {
	display: grid;
	grid-template-columns: 10rem 1fr;
	gap: var(--space-sm);

	margin: 0;
	padding: 0;
}

ul.wp-block-list.tablist li::before {
	content: none;
}
.tablist li strong {
	font-family: var(--font-bold);
}

.tablist li:has(> a) {
	display: flex;
	align-items: baseline;
	gap: 0;
}

.tablist li:has(> a) > strong {
	flex: 0 0 10rem;
	margin-right: var(--space-sm);
}

.tablist li:has(> a) > a {
	margin-left: 0.25em;
}

@media (max-width: 768px) {
	.tablist li:has(> a) {
		flex-wrap: wrap;
	}

	.tablist li:has(> a) > strong {
		flex-basis: 100%;
		margin-right: 0;
	}
}

/* Waschanleitung */
.wp-block-media-text.waschanleitung {
	grid-template-columns: 40% 60% !important;
	align-items: center;
	margin-block: var(--space-sm);
}

.wp-block-media-text.waschanleitung .wp-block-media-text__media {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: var(--space-xs);
}

.wp-block-media-text.waschanleitung .wp-block-media-text__media img {
	display: block;
	width: auto;
	max-width: var(--space-lg);
	height: auto;
}

.wp-block-media-text.waschanleitung .wp-block-media-text__content {
	align-self: center;
	padding: 0 0 0 var(--space-xs);
}

.wp-block-media-text.waschanleitung .wp-block-media-text__content p {
	margin: 0;
}

@media (max-width: 400px) {
	.wp-block-media-text.waschanleitung {
		grid-template-columns: var(--space-lg) 1fr !important;
		column-gap: var(--space-sm);
	}

	.wp-block-media-text.waschanleitung .wp-block-media-text__media {
		padding-right: 0;
	}

	.wp-block-media-text.waschanleitung .wp-block-media-text__content {
		padding-left: 0;
	}
}
/* --------------------------------------------------
   Footer
-------------------------------------------------- */
.site-footer {
	box-shadow: 0 -0.16em 0.33em rgba(0,0,0,0.08);
	font-size: var(--font-sm);
}

.site-footer__columns--3 {
	grid-template-columns:
		minmax(0, 1fr)
		var(--content-width)
		minmax(0, 1fr);
}

@media (max-width: 1440px) {

	
	.site-footer__columns--3 {
		grid-template-columns:
			4rem
			minmax(0, var(--content-width))
			auto;
	}
}

.site-footer__columns--3 > :first-child,
.site-footer__columns--3 > :last-child {
  text-align: right;
  justify-self: end;
}

.site-footer__columns--3 > :first-child img {
	max-height: var(--space-lg); 
	width: auto; 
}

.site-footer,
.site-footer p {
	font-size: var(--font-xs);
}

.site-footer h2,
.site-footer h3,
.site-footer__title {
	font-family: var(--font-body); 
	white-space: nowrap;
	font-size: var(--font-xs);
	letter-spacing: var(--letter-spacing-body);
	text-transform: uppercase;
	padding-block: 0 var(--space-sm);
	font-weight: 400; 
}

.site-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer li {
	margin: 0 0 var(--space-xs);
	line-height: 1.4;
}

.site-footer__menu a {
	color: inherit;
	text-decoration: none;
}

.site-footer__menu a:hover,
.site-footer__menu a:focus-visible {
	color: var(--color-link-hover);
}

.site-footer__bottom {
	padding-block: var(--space-md);
	margin-top: var(--space-md);

	/* box-shadow: inset 0 8px 8px -8px rgba(0,0,0,.08); */
	border-top: 1px solid var(--wp--preset--color--amelia-light-2);
}

/* --------------------------------------------------
   Sitefooter Accordion
-------------------------------------------------- */

.site-footer__trigger {
	all: unset;
	display: block;
	cursor: default;
}

.site-footer__panel[hidden] {
	display: block;
}

.site-footer__trigger .accordion__icon {
	display: none;
}

@media (max-width:768px) {

	.site-footer__panel[hidden] {
		display: none;
	}

	.site-footer__columns {
	  gap: 0;
	}

	.site-footer__columns--2,
	.site-footer__columns--3,
	.site-footer__columns--4,
	.site-footer__columns--5 {
		grid-template-columns: 1fr;
	}

	.site-footer__columns--2 > .site-footer__column,
	.site-footer__columns--3 > .site-footer__column,
	.site-footer__columns--4 > .site-footer__column,
	.site-footer__columns--5 > .site-footer__column {
		grid-column: 1;
		grid-row: auto;
		width: 100%;
	}
	
	.site-footer__heading {
		margin: 0;
	}

	.site-footer__heading .site-footer__trigger {
		display: flex;
		align-items: center;
		justify-content: space-between;

		width: 100%;
		padding-block: 0 var(--space-sm);
		box-sizing: border-box;
	}

	.site-footer__trigger > .accordion__icon {
		display: flex;
		flex: 0 0 auto;
		margin-left: var(--space-sm);
	}

	.site-footer h2, 
	.site-footer h3,
	.site-footer__title {
		flex: 1 1 auto;
		min-width: 0;
		padding-block: var(--space-2xs) 0; 
	}
	
	.site-footer__bottom .site-footer h2, 
	.site-footer__bottom .site-footer__title {
		padding-block: 0 var(--space-sm);
	}

	.site-footer__panel {
		padding-bottom:var(--space-sm);
	}

	.site-footer__trigger > .accordion__icon {
		display: flex;
		font-size: var(--font-sm);
	}

	.site-footer__trigger[aria-expanded="false"]
	.accordion__icon--open {
		display: none;
	}

	.site-footer__trigger[aria-expanded="false"]
	.accordion__icon--closed {
		display: inline-block;
	}

	.site-footer__trigger[aria-expanded="true"]
	.accordion__icon--closed {
		display: none;
	}

	.site-footer__trigger[aria-expanded="true"]
	.accordion__icon--open {
		display: inline-block;
	}
}

/* --------------------------------------------------
   Elements
-------------------------------------------------- */

.section-header__eyebrow,
.has-eyebrow-font-size {
  font-weight: 400; 
  letter-spacing: var(--letter-spacing-body); 
  margin: 0 0 var(--space-sm);
}

.section-header__heading {
  font-size: var(--font-2xl);
  margin-block: var(--space-sm);
}

.button--text,
.button--text:visited {
	font-weight: 400; 
	letter-spacing: var(--letter-spacing-body); 
	margin: 0 0 var(--space-sm);
	font-family: var(--font-body); 
	text-transform: uppercase; 
	font-size: var(--font-xs); 
	justify-content: left;
}

.button--text:hover,
.button--text:focus-visible {
	background: transparent;
	color: var(--color-primary);
	text-decoration: underline;
}


/* Separator */

.entry-content > .wp-block-separator::before {
  border-top: 2px solid var(--footer-background);
}


/* --------------------------------------------------
   WooCommerce
-------------------------------------------------- */

.woocommerce-layout {
	padding-block: var(--space-lg);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: var(--space-md);
}

.woocommerce ul.products {
	margin-bottom: var(--space-lg);
}

.single-product div.product {
	margin-bottom: var(--space-lg);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related {
	margin-top: var(--space-lg);
}

.woocommerce ul.products li.product img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 0 var(--space-sm);
}

/* Rankmath */

.rank-math-breadcrumb .label {
	display: none;
}

/* Button */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
	background: var(--color-primary);
	color: var(--color-secondary);
	font-weight: 400; 
	margin-block: var(--space-xs); 
	border-radius: var(--radius-md); 
	padding: 0.75rem 1.5rem;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
	background: var(--color-link-hover);
	color: var(--color-secondary);
}

.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled[disabled] {
	background: var(--color-primary);
	color: var(--button-color);
	opacity: .5;
	font-weight: 400;
	border-radius: var(--radius-md); 
	padding: 0.75rem 1.5rem;
}

.woocommerce .single_add_to_cart_button {
	padding: 0.95rem 1.5rem !important;
	margin-top: 0 !important;
}

/* WooCommerce buttons */

.woocommerce .button,
.wc-block-components-product-button__button.wp-element-button,
.woocommerce .button:visited,
.wc-block-components-product-button__button.wp-element-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 0.75rem 1.5rem;

	border: 2px solid transparent;
	border-radius: var(--radius-md);

	background: var(--button-bg);
	color: var(--button-color);

	font-size: var(--font-md);
	font-family: var(--font-heading);
	font-weight: 300;
	line-height: inherit;
	text-decoration: none;

	transition:
		background-color var(--transition),
		color var(--transition),
		border-color var(--transition);
}

.woocommerce .button:hover,
.woocommerce .button:focus-visible,
.wc-block-components-product-button__button.wp-element-button:hover,
.wc-block-components-product-button__button.wp-element-button:focus-visible {
	background: var(--color-link-hover);
	color: var(--button-hover-color);
}

.sku_wrapper {
	display: none; 
}

/* 
.woocommerce ul.products li.product .button {
	background: var(
		--section-color,
		var(--button-bg)
	);
}


.single-product .single_add_to_cart_button {
	background: var(
		--section-color,
		var(--button-bg)
	);
} */

/* Product grid */

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-md);

	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce .term-description {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--content-width)
	);
	margin-inline: auto;
	box-sizing: border-box;
}

@media (max-width: 900px) {
	.woocommerce .term-description {
		width: auto;
	}
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}

.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;

	width: auto;
	margin: 0;
	float: none;
}

.woocommerce ul.products li.product a {
	display: block;
	text-decoration: none;
}

.woocommerce ul.products li.product img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 0 var(--space-sm);
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-placeholder,
.woocommerce ul.products li.product-category.product a img {
	border: none; 
}

.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* 
.woocommerce ul.products li.product::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--space-sm);
	background: var(--section-color, var(--color-primary));
	z-index: 2;
}
 */

.woocommerce ul.products li.product .price {
	display: block;
	margin-bottom: var(--space-sm);
}

.woocommerce ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center; 
	min-height: 0;
	margin-top: auto;
	margin-inline: auto;
	flex: none;

	font-weight: 300;
	color: var(--color-secondary);
	border-radius: var(--radius-md);
}

:root :where(.wp-element-button, .wp-block-button__link) {
	font-weight: 300;
	color: var(--color-secondary) !important;
	border-radius: var(--radius-md);
	background: var(--button-bg);
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: var(--font-md);
}

:root :where(.wp-element-button, .wp-block-button__link):hover {
	background: var(--color-link-hover);
} 

.woocommerce ul.products li.product .product-material {
	margin-bottom: var(--space-xs);
	text-align: center; 
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
	font-size: var(--font-lg);
	font-family: var(--font-heading);
	font-weight: 300;
	text-align: center; 
	min-height: 2.6em;

	padding: 0;
	margin: 0 0 var(--space-xs);
}

.wp-block-post-title {
	min-height: 3em;
}

mark.count {
	background: transparent;
	font-size: var(--font-sm);
	color: var(--color-text);
}

.woocommerce ul.products li.product .price {
	font-size: var(--font-md);
	font-family: var(--font-bold);
	text-align: center; 
	color: var(--color-text);

	margin-bottom: var(--space-md);
}

.wc-block-components-product-price .woocommerce-Price-amount {
	font-family: var(--font-bold);
	font-weight: 400; 
}

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

.woocommerce ul.products li.product .added_to_cart {
	display: none;
}



@media (max-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product {
		width: auto;
		margin: 0;
		float: none;
	}
}

@media (max-width: 500px) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: 1fr;
	}
}

.product-category__bottom-text {
	margin-top: var(--space-lg);
}

.product-category__info .accordion__title {
	font-size: var(--font-md);
}

/* Product category tile */

.woocommerce ul.products li.product-category > a {
	position: relative;
	display: block;
}
 
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	position: absolute;
	top: 50%;
	right: var(--space-sm);
	transform: translateY(-50%);
	z-index: 1;

	width: calc(100% - (var(--space-md) * 2));
	margin: 0;

	color: #fff;
	text-align: right;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .88);

	font-size: var(--font-md);
	font-weight: 400;
	font-family: var(--font-body);
	letter-spacing: var(--letter-spacing-body);
	text-transform: uppercase;
	line-height: 1.5; 
}

/* Kollektion Product category tile */
.term-97.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	inset: 50% auto auto 50%;
	transform: translate(-50%, -50%);

	width: 90%;

	text-align: center;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title span {
	display: block;
}

.woocommerce ul.products li.product-category .count {
	background: transparent;
	color: inherit;
}

.woocommerce ul.products li.product img {
	transition:
		box-shadow var(--transition),
		transform var(--transition);
}

.woocommerce ul.products li.product:hover img {
	box-shadow: 0 0.15rem 0.6rem rgba(0, 0, 0, .5);
}

/* Product + category image hover */

.woocommerce ul.products li.product img,
.wc-block-product .wc-block-components-product-image img {
	transition: box-shadow var(--transition);
}

.woocommerce ul.products li.product:hover img,
.wc-block-product:hover .wc-block-components-product-image img {
	box-shadow: 0 0.15rem 0.6rem rgba(0, 0, 0, .5);
}

ul.wc-block-product-template__responsive  {
	padding-left: 0; 
}

ul.wc-block-product-template__responsive h2 {
	text-align: center; 
}

/* Product Page */

.woocommerce div.product .product_title { 
	text-align: left;
	line-height: 1.2; 
	text-transform: none; 
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, 
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	font-size: var(--font-xl);
	color: var(--color-text);
	font-weight: 400; 
}

.woocommerce-product-details__short-description h2 {
	font-size: var(--font-lg);
	font-weight: 400; 
}

.woocommerce-product-details__short-description h3 {
	font-weight: 400; 
}

.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .quantity {
	width: var(--space-xl);
}

.woocommerce div.product form.cart .variations th.label {
	min-width: var(--space-xl);
}

.woocommerce div.product form.cart .variations td, 
.woocommerce div.product form.cart .variations th {
	text-align: left; 
}

.woocommerce div.product form.cart .variations label {
	font-weight: 400;
}

.woocommerce div.product form.cart .variations select {
	background: var(--footer-background);
	font-family: var(--font-body);
	font-size: var(--font-sm); 
	font-weight: 300; 
	border: none;
	border-radius: var(--radius-md);
	padding: var(--space-2xs) var(--space-sm);
}

.woocommerce .quantity .qty {
	font-family: var(--font-body);
	font-size: var(--font-md); 
	font-weight: 400; 
	border: none;
	background: var(--footer-background);
	border-radius: var(--radius-md);
	padding-block: 0.75rem; 
}

.product_meta { 
	display: none; 
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-xs);

	margin-top: var(--space-sm);
}

.woocommerce div.product div.images .flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: auto;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* Product Page Tabs */

.woocommerce div.product .woocommerce-tabs {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--content-width)
	);
	margin-inline: auto;
	margin-block: var(--space-lg); 
	box-sizing: border-box;
}

@media (max-width: 768px) {
	.woocommerce div.product .woocommerce-tabs {
		width: 100%;
	}
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin-bottom: 0; 
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border: none; 
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
  box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  border-width: 0;
  box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--footer-background);
  color: var(--color-text);
  font-weight: 300; 
  z-index: 2;
  border-bottom-color: var(--footer-background);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  background: var(--color-background);
  color: var(--color-text);
  padding: 0 var(--space-sm);
  border-radius: var(--space-xs-plus) var(--space-xs-plus) 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 400;
  color: var(--color-text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-link-hover);
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding-inline: var(--space-md) ;
	padding-block: var(--space-sm-plus) var(--space-sm); 

	border: none;
	background: var(--footer-background);
	
	border-radius: var(--radius-lg); 
	
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	display: none; 
}

.woocommerce div.product .woocommerce-tabs .panel h3 {
	font-weight: 400; 
	margin-block: 0 var(--space-md);
}

@media (max-width: 768px) {
	.woocommerce div.product .woocommerce-Tabs-panel {
		padding: var(--space-sm);
	}
}

.woocommerce table.shop_attributes th {
	font-weight: 400; 
	text-align: left; 
}

.woocommerce table.shop_attributes td {
  font-style: normal;
}

/* Messages */

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background-color: var(--footer-background);
	color: var(--color-text);
	border-top: 3px solid var(--color-primary);
	border-top-color: var(--color-primary);
}

/* Profile Pages */

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: 25%;
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: right;
  width: 73%;
}

.woocommerce-MyAccount-navigation ul {
	list-style-type: none; 
	margin-left: 0; 
	padding-left: 0; 
}

.woocommerce td.product-name .wc-item-meta, .woocommerce td.product-name dl.variation {
  list-style: none outside;
  margin-left: 0; 
  padding-left: 0; 
}

.woocommerce table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content mark,
.woocommerce table.shop_table tbody th, 
.woocommerce table.shop_table tfoot td, 
.woocommerce table.shop_table tfoot th{
	font-weight: 400; 
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
	content: none; 
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email, .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone {
  padding-left: 0;
}

.woocommerce .woocommerce-customer-details address {
	border: none; 
	padding: 0; 
}

.woocommerce-account .addresses .title .edit {
  float: none;
}

address {
	font-style: normal; 
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
	background-color: var(--footer-background,#fff);
	border: var(--wc-form-border-width) solid var(--wc-form-border-color);
	border-radius: 0;
	color: var(--color-text,#000);
	font-size: var(--font-sm);
}

#account_display_name_description {
	display: none; 
}

/* Product Shop Infos */

.product-shop-info {
	margin-block: var(--space-md);
}

.product-shop-info--stacked {
	display: grid;
	gap: var(--space-sm);
}

.product-shop-info--row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-md);
	background-color: var(--footer-background); 
	padding: var(--space-sm); 
	border-radius: var(--radius-md); 
}

.product-shop-info__item {
	display: grid;
	grid-template-columns: var(--space-md) minmax(0, 1fr);
	align-items: center;
	gap: var(--space-sm);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-text);
	padding-block: var(--space-xs);
	padding-inline: var(--space-sm); 
}

.product-shop-info--row .product-shop-info__item {
	border: none; 
	padding: none; 
}

.product-shop-info__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: var(--space-md);
	font-size: var(--space-md);
}

.product-shop-info__icon img {
	display: block;
	width: var(--space-md);
	height: var(--space-md);
	object-fit: contain;
}

.product-shop-info__content {
	min-width: 0;
	font-size: var(--font-sm);
}

.product-shop-info__content > :last-child {
	margin-bottom: 0;
}

.product-shop-info__item--swiss {
	border-color: var(--color-accent);
}

.product-shop-info__item--swiss .product-shop-info__content {
	color: var(--color-accent);
}

@media (max-width: 768px) {
	.product-shop-info--row {
		grid-template-columns: 1fr;
	}
}