/*
 * Integration in profax.com: Schriften, Grundtypografie, Header und Footer.
 * Werte wie auf www.profaxonline.com (zeitgeist.css / template.css / common.css).
 * Schriften: Nutzung ausschliesslich der profax Verlag AG vorbehalten.
 */

/* Schriften */
@font-face {
	font-family: 'zimi';
	src: url(../fonts/zimilight.woff2) format('woff2'),
		url(../fonts/zimilight.woff) format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
@font-face {
	font-family: 'zimi';
	src: url(../fonts/zimiregular.woff2) format('woff2'),
		url(../fonts/zimiregular.woff) format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: block;
}
@font-face {
	font-family: 'zimi';
	src: url(../fonts/zimidemibold.woff2) format('woff2'),
		url(../fonts/zimidemibold.woff) format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: block;
}
@font-face {
	font-family: 'zimiicons';
	src: url(../fonts/zimiicons.woff2) format('woff2'),
		url(../fonts/zimiicons.woff) format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

/* Inhalt: Typografie, Seiten, Beiträge, Tabellen (älterer Teil, ursprünglich aus style.css) */
* {
	-webkit-hyphens: auto;
	hyphens: auto;
	-webkit-font-smoothing: subpixel-antialiased !important;
}

body a,
body a:active,
body a:visited {
	color: #3088E0;
	font-weight: normal !important;
	text-decoration: none !important;
}

a:focus,
.button:focus,
.button.alt:focus,
.button.added_to_cart:focus,
.button.wc-forward:focus,
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: none;
}

h1, h2, h3, h4 {
	font-weight: normal;
	line-height: 1;
	margin-top: 3em !important;
	margin-bottom: .5em !important;
	letter-spacing: -0.025em;
	color: #000;
}
h1 a {
	color: #000;
}
h1 {
	font-size: 2.8em;
	margin-top: 0 !important;
}
h1.product_title {
	text-align: left;
}
h2 {
	font-size: 2.8em;
}
h2:first-child {
	margin-top: 0 !important;
}
h3 {
	font-size: 1.45em;
}
div.entry-content h4 {
	font-size: 1em;
	font-weight: bold !important;
}

label {
	font-weight: normal;
}

address, dd, hr, p {
	margin: 0 0 0.5em 0;
}

.onsale,
.pagination .page-numbers li .page-numbers:not(.current),
.woocommerce-pagination .page-numbers li .page-numbers:not(.current) {
	color: #000;
}

.hfeed .page-header {
	display: none;
}

body:not(.single-post) .hentry {
	margin: 0 0 4em 0;
}

.site-main {
	padding-top: 3em;
}

.col-full {
	width: auto;
	padding: 0;
}

.hentry .entry-header {
	margin-bottom: 3em;
	border: 0;
	position: relative;
	padding-bottom: 0.1em;
}
/* Storefront (woocommerce.css) zentriert auf Warenkorb, Kasse und Konto ab 768px den Titel und gibt ihm
   fast 6em Abstand nach unten */
body.storefront-full-width-content.woocommerce-cart .entry-header,
body.storefront-full-width-content.woocommerce-checkout .entry-header,
body.storefront-full-width-content.woocommerce-account .entry-header {
	text-align: left;
	padding-bottom: 1em;
}
/* Kasse: erste Überschriften der beiden Spalten folgen direkt auf den Seitentitel */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading {
	margin-top: 0 !important;
}

/* Bestellbestätigung (und Bestellansicht im Konto): die Titel stehen als erstes Kind in ihren
   Sections und verlieren dort den oberen Abstand (h2:first-child), daher Abstand auf den Sections */
.woocommerce-order-details,
.woocommerce-customer-details {
	margin-top: 4em;
}
.woocommerce-order > .woocommerce-order-details:first-child {
	margin-top: 0;
}

.entry-content > *:first-child {
	margin-top: 0 !important;
}

.hentry img {
	border-radius: 0;
}
.hentry img[width="600"] {
	width: 100%;
}
.hentry .wp-post-image {
	display: none;
}
.wp-post-image + h3 {
	margin-top: 0 !important;
}
.hentry.type-post .entry-content {
	width: auto;
}

.type-post table {
	width: auto;
}
.type-post table tbody td,
.type-post table tbody tr:nth-child(2n) td {
	background: none;
	padding: 0 1em 0 0;
}

/* Stiftung (profaxpreis-Seiten) */
.parent-pageid-3832 .entry-content img {
	float: right;
	padding: 0 0 1em 1em;
}

/* Eingabefelder */
::placeholder {
	font-family: zimi, zimiicons, sans-serif !important;
}
/* zimi sitzt hoch: Text in einzeiligen Feldern 0.17em tiefer, Feldhöhe bleibt gleich
   (Storefront-Padding 0.618em, ab 768px 0.25em) */
.input-text, input[type=text], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=search] {
	padding-top: 0.788em;
	padding-bottom: 0.448em;
}
textarea.input-text {
	padding-top: 0.618em;
	padding-bottom: 0.618em;
}
@media (min-width: 768px) {
	.input-text, input[type=text], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=search] {
		padding: 0.42em 0.5em 0.08em;
	}
	textarea,
	textarea.input-text {
		padding: 0.25em 0.5em;
	}
}

/* Formularzeilen in WooCommerce (Kasse, Konto, Adressen): mehr Abstand zwischen den Feldern */
body .woocommerce form .form-row {
	margin-bottom: 1.25em;
}
body .woocommerce form .form-row > label {
	margin-bottom: 0.25em;
}
/* Auswahllisten (z. B. Land) wie die Textfelder: grauer Grund, kein Rahmen, gleiche Höhe, eigener Pfeil */
body .woocommerce form .form-row select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	box-sizing: border-box;
	/* Text 0.17em tiefer wie bei den Textfeldern */
	padding: 0.788em 2em 0.448em 0.618em;
	border: 0;
	border-radius: 0;
	background: #F2F2F2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2343454B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 0.75em center / 0.75em auto;
	font-size: inherit;
	line-height: 1.618;
	color: #43454B;
}
@media (min-width: 768px) {
	body .woocommerce form .form-row select {
		padding: 0.42em 2em 0.08em 0.5em;
	}
	/* Zwei Felder auf einer Zeile: 5 % Lücke (Storefront: 5.9 %, in der Kasse 11.1 %) */
	body .woocommerce form .form-row-first {
		width: 47.5%;
		margin-right: 5%;
	}
	body .woocommerce form .form-row-last {
		width: 47.5%;
	}
	/* PLZ und Ort auf einer Zeile wie Vorname und Nachname, PLZ 20 % breit */
	body .woocommerce form #billing_postcode_field,
	body .woocommerce form #shipping_postcode_field {
		float: left;
		clear: both;
		width: 20%;
		margin-right: 5%;
	}
	body .woocommerce form #billing_city_field,
	body .woocommerce form #shipping_city_field {
		float: right;
		clear: none;
		width: 75%;
	}
}

/* Tabellen, Warenkorb, Kasse */
table td, table th,
table.cart td, table.cart th {
	padding: 8px;
	font-weight: normal;
}
.shop_table.cart th {
	border-bottom: solid 1px #000;
}
table.cart td.product-remove {
	padding: 0;
}
table.cart td.product-quantity .qty {
	padding: 0;
	margin: -2px 0 0 0;
}
@media (max-width: 768px) {
	table.cart td.product-remove a.remove {
		display: inline;
		margin: 13px 0 0 -10px;
	}
}
.cart-subtotal th {
	width: 160px;
}
.shop_table.woocommerce-checkout-review-order-table {
	font-size: 15px;
}
.cart .price {
	text-align: right;
}

/* Produktlisten */
.wc-forward::after,
.woocommerce-Button--next::after,
.button.product_type_simple {
	display: none;
}
a.button.product_type_external {
	width: 192px;
	text-align: center;
	float: none !important;
}
ul.products li.product {
	margin-bottom: 1em;
}
.storefront-sorting + ul.products {
	margin-top: 4em !important;
}
/* Quadratische Box für Katalogbilder (max. 300 px, Grösse shop_catalog), Bild darin zentriert */
.thumbnail_wrapper {
	position: relative;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	aspect-ratio: 1 / 1;
}
ul.products li.type-product img {
	width: auto;
	height: auto;
	position: absolute;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	max-height: 100%;
}
ul.products li.product img {
	box-shadow: 0 7px 7px -7px rgba(0, 0, 0, 0.75), 0 0 21px 0 rgba(0, 0, 0, 0.2);
	border-radius: 0;
}
img.attachment-shop_catalog.size-shop_catalog:hover {
	transform: scale(1.05);
}
.product_tag-fs,
.product_tag-fs img {
	box-shadow: none !important;
}

/* Produktseite */
#tab-description h3 {
	text-align: left !important;
	margin-top: 2em !important;
}
.woocommerce-tabs {
	padding-top: 0 !important;
	border-bottom: solid 1px #DDD;
	margin-bottom: 64px;
	padding-bottom: 0;
}
.woocommerce-tabs .wc-tabs {
	display: none;
}
.woocommerce-Tabs-panel--description h2:first-child {
	display: none;
}
.woocommerce-Tabs-panel--description h3:nth-child(2) {
	margin-top: 0 !important;
	border-top: none;
}
.single-product div.product .product_meta {
	border-top: none;
}

/* Hinweis-Blöcke unter dem Produkt (Lerngerät) */
.profax-promo {
	margin: -32px 0 64px;
	border-bottom: solid 1px #DDD;
	padding: 0 0 32px;
}
.profax-promo--profaxli {
	padding-bottom: 64px;
}
.profax-promo__image img {
	float: left;
	height: 150px;
	margin: 0 40px 0 0;
}
.profax-promo--profaxli .profax-promo__image img {
	width: 150px;
}
.profax-promo--profax .profax-promo__image img {
	width: 300px;
}
.profax-promo h3 {
	margin-top: 0 !important;
	text-align: left;
	display: inline-block;
}
@media (max-width: 768px) {
	.profax-promo__image img {
		float: none;
		margin: 0 0 1em;
	}
}

/* WooCommerce-Meldungen: blenden nach 3 s aus */
.woocommerce-message .button {
	display: none;
}
.woocommerce-message {
	position: absolute;
	pointer-events: none;
	animation: fadeout 3s 1;
	opacity: 0;
	top: 70px;
	max-width: 980px;
	width: 100%;
	z-index: 1000;
}
@keyframes fadeout {
	0% { opacity: 1; }
	66% { opacity: 1; }
	100% { opacity: 0; }
}

/* Grundlagen */
body,
button,
input,
select,
textarea,
label {
	font-family: zimi, zimiicons, sans-serif;
}
body {
	font-size: 14px;
	line-height: 1.4;
	background-color: #F8F8F8;
	color: #000;
}
body a:hover,
body a:focus {
	color: #40D0FF;
}
/* Button-Text bleibt weiss; sonst würden die Link-Regeln oben a.button überschreiben */
body a.button:hover,
body a.button:focus,
body a.button:visited,
body a.added_to_cart:focus,
body a.added_to_cart:visited {
	color: #FFF;
}
@media (min-width: 42rem) {
	body {
		font-size: 16px;
	}
}
@media (min-width: 49rem) {
	body {
		font-size: 18px;
	}
}

/* Header */
.profax-site-header {
	position: relative;
	width: 100%;
	background-color: #50A8FF;
	color: #FFF;
}
.profax-site-header .topnav {
	overflow: hidden;
	max-width: 100%;
	margin: 0 auto;
	padding: 4px 0;
}
.profax-site-header .topnav a {
	float: left;
	display: block;
	padding: 8px 16px 12px 16px;
	font-weight: normal !important;
	text-decoration: none !important;
	text-align: left;
	color: #FFF !important;
	transition: opacity 0.125s;
}
.profax-site-header .topnav a:hover {
	color: #000 !important;
}
.profax-site-header .topnav a.hlRed {
	color: #E00000 !important;
}
.profax-site-header .topnav a.profax-current {
	font-weight: bold !important;
	color: #002080 !important;
}
.profax-site-header .topnav a.hlRed:hover,
.profax-site-header .topnav a.profax-current:hover {
	color: #000 !important;
}
.profax-site-header .subLog,
.profax-site-header .subNav {
	float: right;
}
.profax-site-header .subNav {
	clear: both;
	font-size: 18px;
}
.profax-site-header .subLog a {
	padding: 4px 16px 0 16px !important;
	color: #404040 !important;
}
.profax-site-header .subLog a:hover {
	color: #FFF !important;
}
.profax-site-header .subLog a:not(.profax-cart)::before {
	content: '\f090\00a0 ';
}
.profax-cart__icon {
	vertical-align: -0.125em;
}
.profax-cart__label {
	margin-left: 0.35em;
}
.profax-cart__count {
	margin-left: 0.25em;
	font-size: 0.75em;
	position: relative;
	top: -0.6em;
	line-height: 0;
}
.profax-site-header a.home {
	margin-top: -10px;
	padding: 0 14px !important;
	font-size: 15px;
}
.profax-site-header .topnav a.icon {
	display: none;
	font-size: 15px;
}
.profax-site-header .topnav a.icon:hover {
	color: #FFF !important;
}

@media screen and (max-width: 48.999rem) {
	.profax-site-header .subNav {
		float: left;
		padding-top: 0;
	}
	.profax-site-header .topnav a {
		padding: 6px 0 6px 32px;
	}
	.profax-site-header .subNav a {
		display: none;
	}
	.profax-site-header .topnav a.icon {
		display: block;
		float: right;
		padding: 8px 16px 0 16px;
	}
	.profax-site-header .topnav a.home {
		margin-top: 8px;
	}
	.profax-site-header .topnav.responsive {
		position: relative;
	}
	.profax-site-header .topnav.responsive a {
		float: none;
		display: block;
	}
	.profax-site-header .topnav.responsive .icon {
		float: right;
	}
	.profax-site-header .topnav.responsive .subLog {
		margin-top: -4px;
	}
	.profax-site-header .topnav.responsive .subLog a {
		float: left;
	}
	.profax-site-header .topnav.responsive a.home {
		position: absolute;
		top: 4px;
	}
	.profax-site-header .topnav.responsive .subNav {
		padding-top: 32px;
	}
}
@media (min-width: 35rem) {
	.profax-site-header .topnav {
		max-width: 97%;
	}
	.profax-site-header a.home,
	.profax-site-header .topnav a.icon {
		font-size: 20px;
	}
}
@media (min-width: 42rem) {
	.profax-site-header .topnav {
		max-width: 98%;
	}
	.profax-site-header a.home,
	.profax-site-header .topnav a.icon {
		font-size: 24px;
	}
}
@media (min-width: 49rem) {
	.profax-site-header .topnav {
		max-width: 62rem;
	}
	.profax-site-header .subLog,
	.profax-site-header .subNav {
		font-size: 16px;
	}
	.profax-site-header a.home {
		font-size: 26px;
		padding: 0 16px !important;
	}
}
@media (min-width: 57rem) {
	.profax-site-header a.home {
		padding: 0 18px !important;
	}
}
@media (min-width: 65rem) {
	.profax-site-header a.home {
		font-size: 40px;
		padding: 0 !important;
	}
	.profax-site-header .subNav a:first-child {
		padding: 8px 16px 14px 0;
	}
	.profax-site-header .subNav a:last-child {
		padding: 8px 0 14px 16px;
	}
	.profax-site-header .subLog a:last-child {
		padding: 4px 0 0 16px !important;
	}
}

/* Cookie-Hinweis unter dem Header (template.css/zeitgeist.css der Hauptseite) */
.profax-cookie-banner {
	width: 100%;
	background: #3B6BA9;
	color: #FFF;
	font-size: 14px;
}
.profax-cookie-banner .cookiecCnt {
	max-width: 93%;
	margin: 0 auto;
	padding: 0.75em 1em 1em 1em;
}
.profax-cookie-banner a,
.profax-cookie-banner a:visited {
	color: #70C8FF;
	font-weight: bold;
	white-space: nowrap;
	text-decoration: none;
}
.profax-cookie-banner a:hover {
	color: #40D0FF;
}
/* Storefront gestaltet button: Hintergrund, Padding und Schatten zurücksetzen (body für die Spezifität) */
body .profax-cookie-banner .cookiecClose {
	float: right;
	width: 4em;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #FFF;
	font-family: zimiicons, sans-serif;
	font-size: 20px;
	line-height: 20px;
	text-align: right;
	cursor: pointer;
}
body .profax-cookie-banner .cookiecClose:hover {
	color: #000;
}
@media (min-width: 49rem) {
	.profax-cookie-banner .cookiecCnt {
		max-width: 60rem;
	}
}

/* Filterzeilen unter dem Suchfeld: Produktkategorien (Startseite und WooCommerce-Seiten) und
   auf Shop- und Kategorieseiten Klassen. Gleiche Box wie der Inhalt, Titel über den Pills. */
.profax-shop-nav,
.profax-klassen-filter {
	display: flex;
	flex-direction: column;
	gap: 0.25em;
	/* direkte Kinder von #page (Flex-Spalte): ohne Breite schrumpft eine kurze Zeile und wird zentriert */
	width: 100%;
	max-width: 1020px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 1em 20px 0;
}
.profax-klassen-filter {
	padding-top: 0.75em;
}
.profax-filter-label {
	font-size: 15px;
	color: #3088E0;
}
.profax-shop-nav ul,
.profax-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.profax-shop-nav li,
.profax-pills li {
	margin: 0;
}
/* Pills: Kategorien und Klassen (hier und auf der Startseite) */
.profax-shop-nav ul.menu li a,
.profax-pills a {
	display: block;
	/* zimi sitzt hoch (Oberlänge 11px, Unterlänge 4px bei 15px): Text 2px nach unten, damit er optisch mittig ist */
	padding: 6.5px 0.9em 2.5px;
	border-radius: 999px;
	font-size: 15px;
	line-height: 1.4;
	white-space: nowrap;
	transition: background-color 0.125s, color 0.125s;
}
/* :visited, sonst gewinnt "BODY a:visited" aus style.css (spezifischer als .profax-pills a) */
.profax-shop-nav ul.menu li a,
.profax-pills a,
.profax-pills a:visited {
	background-color: rgba(80, 168, 255, 0.25);
	color: #3088E0;
}
.profax-shop-nav ul.menu li a:hover,
.profax-shop-nav ul.menu li a:focus,
.profax-pills a:hover,
.profax-pills a:focus {
	background-color: #1088FF;
	color: #FFF;
}
.profax-shop-nav ul.menu li.current-menu-item a,
.profax-shop-nav ul.menu li.current-menu-item a:hover,
.profax-pills li.is-active a,
.profax-pills li.is-active a:hover {
	background-color: #50A8FF;
	color: #FFF;
}
/* Kategorien ohne Produkte der aktiven Klasse: abgeschwächt, Link ohne Klassen-Filter */
.profax-shop-nav ul.menu li.profax-no-match a {
	opacity: 0.45;
}
.profax-shop-nav ul.menu li.profax-no-match a:hover,
.profax-shop-nav ul.menu li.profax-no-match a:focus {
	opacity: 1;
}
/* Handy: kleinere Titel, jede Zeile eine wischbare Reihe statt eines Linkblocks */
@media (max-width: 48.999rem) {
	.profax-filter-label {
		font-size: 13px;
	}
	.profax-shop-nav ul,
	.profax-klassen-filter .profax-pills {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 0.25em;
		mask-image: linear-gradient(to right, #000 calc(100% - 3em), transparent);
	}
	.profax-shop-nav ul::-webkit-scrollbar,
	.profax-klassen-filter .profax-pills::-webkit-scrollbar {
		display: none;
	}
	.profax-shop-nav li,
	.profax-klassen-filter .profax-pills li {
		flex: 0 0 auto;
		white-space: nowrap;
	}
	/* aktive Kategorie / Klasse zuerst, damit sie ohne Wischen sichtbar ist */
	.profax-shop-nav li.current-menu-item {
		order: -1;
	}
	.profax-klassen-filter .profax-pills li.is-active {
		order: -1;
	}
}

/* Footer */
/* Footer auf kurzen Seiten unten halten, wie auf der Hauptseite */
#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
#page > .site-content {
	flex: 1 0 auto;
	width: 100%;
}
/* Inhalt in derselben Box wie Suchfeld und Kategorie-Pills, damit alle linken Kanten bündig sind */
#content .col-full {
	max-width: 1020px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	padding: 0 20px;
}
.header-widget-region .col-full {
	max-width: 1020px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 20px;
}

/* Footer */
.profax-site-footer {
	position: relative;
	width: 100%;
	background-color: #50A8FF;
	color: #FFF;
}
/* die Hauptseite nutzt content-box; Storefront setzt border-box */
.profax-site-footer * {
	box-sizing: content-box;
}
.profax-site-footer h3,
.profax-site-footer h3 a.home,
.profax-site-footer h4 {
	line-height: 1.4;
}
.profax-site-footer a,
.profax-site-footer a:visited {
	color: #FFF !important;
	text-decoration: none !important;
}
.profax-site-footer a:hover {
	color: #000 !important;
}
.profax-site-footer h3 {
	max-width: 93%;
	margin: 13px auto 0 !important;
	padding: 32px 12px 16px;
	font-size: 26px;
	font-weight: normal;
	text-align: center !important;
}
.profax-site-footer h3 a.home {
	display: block;
	margin-top: -10px;
	padding: 0 14px;
	font-size: 15px;
}
.profax-site-footer .fboxS {
	display: flex;
	flex-wrap: wrap;
	max-width: 93%;
	margin: 0 auto;
	padding: 24px 0.5em 0 1em;
}
.profax-site-footer .f2 {
	width: 100%;
}
.profax-site-footer h4 {
	margin: 0 !important;
	padding: 8px 0;
	font-size: 24px;
	font-weight: normal;
	color: #FFF;
}
.profax-site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.profax-site-footer li {
	margin: 0;
}
.profax-site-footer li:last-child {
	padding-bottom: 48px;
}
@media (min-width: 35rem) {
	.profax-site-footer h3 a.home {
		font-size: 20px;
	}
}
@media (min-width: 42rem) {
	.profax-site-footer h3 a.home {
		font-size: 24px;
	}
}
@media (min-width: 49rem) {
	.profax-site-footer h3 {
		max-width: 62rem;
		padding-left: 32px;
	}
	.profax-site-footer h3 a.home {
		font-size: 26px;
		padding: 0 16px;
	}
	.profax-site-footer .fboxS {
		flex-wrap: nowrap;
		max-width: 38rem;
	}
	.profax-site-footer .f2 {
		width: 50%;
		padding: 0 16px;
	}
}
@media (min-width: 65rem) {
	.profax-site-footer h3 {
		max-width: 64rem;
		padding-left: 40px;
	}
	.profax-site-footer h3 a.home {
		font-size: 40px;
		padding: 0;
	}
}

/* Produktsuche (Ajax Search Lite): abgerundetes Feld passend zu den Kategorie-Pills.
   #page hebt die Spezifität über die #ajaxsearchlite1-Regeln des Plugins. */
#page div.asl_w {
	background: transparent !important;
	box-shadow: none !important;
}
#page div.asl_w .probox {
	align-items: center;
	height: 40px !important;
	padding: 0 4px 0 0;
	border: 1px solid rgba(80, 168, 255, 0.35) !important;
	border-radius: 999px !important;
	background-color: #FFF !important;
	box-shadow: none !important;
	box-sizing: border-box;
}
#page div.asl_w .probox:focus-within {
	border-color: #50A8FF !important;
}
#page div.asl_w .probox .proinput {
	margin: 0 0 0 1em;
	align-self: stretch;
	display: flex;
	align-items: center;
}
#page div.asl_w .probox .proinput form {
	width: 100%;
}
#page div.asl_w .probox .proinput input {
	/* zimi sitzt hoch (Oberlänge 11px, Unterlänge 4px bei 15px): Text 2px nach unten, damit er optisch mittig ist */
	height: 38px !important;
	box-sizing: border-box !important;
	padding: 4px 0 0 !important;
	line-height: 34px !important;
	font-family: zimi, zimiicons, sans-serif !important;
	font-size: 15px !important;
	color: #000 !important;
}
#page div.asl_w .probox .proinput input::placeholder {
	font-family: zimi, zimiicons, sans-serif !important;
	color: rgba(0, 0, 0, 0.5) !important;
}
#page div.asl_w .probox .prosettings {
	display: none !important;
}
/* Lupe: runder 32px-Knopf, mittig im 40px-Feld. min-height/padding heben die
   seitenweite Pill-Regel für Schaltflächen auf (sonst 40px hoch und über dem Rahmen). */
#page div.asl_w .probox .promagnifier {
	flex: 0 0 32px;
	align-self: center;
	width: 32px !important;
	height: 32px !important;
	min-height: 0;
	padding: 0;
	border-radius: 50% !important;
	background: rgba(80, 168, 255, 0.25) !important;
	box-shadow: none !important;
}
#page div.asl_w .probox .promagnifier:hover,
#page div.asl_w .probox .promagnifier:focus {
	background: #1088FF !important;
}
#page div.asl_w .probox .promagnifier:hover .innericon svg,
#page div.asl_w .probox .promagnifier:focus .innericon svg {
	fill: #FFF !important;
}
#page div.asl_w .probox .promagnifier .innericon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
#page div.asl_w .probox .promagnifier .innericon svg {
	width: 18px !important;
	height: 18px !important;
	fill: #3088E0 !important;
}
#page div.asl_w .probox .proloading,
#page div.asl_w .probox .proclose {
	width: 32px !important;
	height: 32px !important;
}

/* Kopf von Kategorie- und Shop-Seiten: Titel und Beschreibung linksbündig, ohne das 6em-Padding unten von Storefront */
#main .woocommerce-products-header,
#main .woocommerce-products-header__title,
#main .woocommerce-products-header .term-description {
	text-align: left;
}
#main .woocommerce-products-header {
	padding-bottom: 0;
}

/* Listen im Seiteninhalt: Aufzählungszeichen an der Inhaltskante statt 3em eingerückt wie bei Storefront */
.entry-content > ul,
.entry-content > ol {
	margin-left: 1.2em;
}

/* Produkttitel im Katalog: halber globaler Überschriften-Abstand (3em), mittlere Strichstärke (Zimi Regular) */
ul.products li.product .woocommerce-loop-product__title {
	margin-top: 1.5em !important;
	font-weight: 500 !important;
}

/* Startseite (front-page.php) */
.profax-front-devices,
.profax-front-klassen,
.profax-front-featured,
.profax-front-jobs,
.profax-front-news {
	margin: 2em 0;
}
/* Produktkacheln: Abstand unten von WooCommerce nur zwischen Reihen (ab 768px eine Reihe mit 4) */
.profax-front-featured ul.products {
	margin-bottom: 0;
}
.profax-front-featured ul.products li.product:last-child {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.profax-front-featured ul.products li.product {
		margin-bottom: 0;
	}
}
/* Abschnittstitel im globalen Überschriften-Stil, mit weniger Abstand oben */
.profax-front-klassen h2,
.profax-front-featured h2,
.profax-front-news h2 {
	margin-top: 1.5em !important;
}
/* Kartentitel: linksbündig und kleiner als die globalen h2/h3 (style.css) */
.profax-device__title,
.profax-news__item h3 {
	text-align: left;
	letter-spacing: 0;
	color: #000;
}
/* Karten: weiss mit dem hellblauen Rand des Suchfelds */
.profax-device,
.profax-news__item {
	box-sizing: border-box;
	border: 1px solid rgba(80, 168, 255, 0.35);
	border-radius: 8px;
	background-color: #FFF;
	padding: 1.25em;
}
.profax-front-devices {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
.profax-device {
	display: flex;
	flex-direction: column;
}
.profax-device__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 220px;
}
.profax-device__image img {
	width: auto;
	max-height: 100%;
	box-shadow: none !important;
}
.profax-device__title {
	margin: 0.75em 0 0.5em !important;
	font-size: 1.5em;
	line-height: 1.2;
	font-weight: 500;
}
.profax-device__title a {
	color: #000;
}
.profax-device p {
	margin: 0 0 1em;
}
.profax-device p.profax-device__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em 1.25em;
	margin: auto 0 0;
}
.profax-device__more {
	color: #3088E0;
}
@media (min-width: 42rem) {
	.profax-front-devices {
		grid-template-columns: 1fr 1fr;
	}
}
.profax-news {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
.profax-news__item {
	padding: 1em;
}
.profax-news__item time {
	font-size: 0.8em;
	color: #3088E0;
}
.profax-news__item h3 {
	margin: 0.25em 0 0.5em !important;
	font-size: 1em;
	line-height: 1.3;
	font-weight: 500;
}
.profax-news__item h3 a {
	color: #000;
}
.profax-news__item h3 a:hover,
.profax-news__item h3 a:focus {
	color: #1088FF;
}
.profax-news__item p {
	margin: 0;
	font-size: 0.9em;
}
.profax-front-news > p {
	margin: 1em 0 0;
}
@media (min-width: 42rem) {
	.profax-news {
		grid-template-columns: repeat(3, 1fr);
	}
}
/* Stellen-Hinweis: <div class="profax-front-jobs"><a …> im Inhalt der Startseite (docs/backend-menus.md); Pill-Farben, die ganze Box ist der Link */
.profax-front-jobs a {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25em 1em;
	padding: 1em 1.25em;
	border-radius: 8px;
	background-color: rgba(80, 168, 255, 0.25);
	color: #3088E0;
	transition: background-color 0.125s, color 0.125s;
}
.profax-front-jobs a:hover,
.profax-front-jobs a:focus {
	background-color: #1088FF;
	color: #FFF;
}
.profax-front-jobs strong {
	font-weight: 500;
	color: #000;
}
.profax-front-jobs a:hover strong,
.profax-front-jobs a:focus strong {
	color: #FFF;
}


/* Produktanzahl in den Filter-Pills: "(n)" etwas heller als der Text */
.profax-count {
	opacity: 0.7;
}

/* Intro im Inhalt der Startseite (<div class="profax-front-intro"><a><img></a><p>…</p></div>,
   docs/backend-menus.md): Bild links, Text rechts, 50/50; auf dem Handy untereinander, Bild zuerst */
.profax-front-intro {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1em 20px;
	align-items: start;
	margin: 0 0 3em;
}
.profax-front-intro img {
	display: block;
	width: 100%;
	height: auto;
}
.profax-front-intro p {
	margin: 0;
}
/* wpautop macht aus dem Block <a>…</a></p><p>…; das alleinstehende </p> wird zu einem leeren Absatz,
   der die zweite Rasterspalte belegen und den Text in eine neue Zeile schieben würde */
.profax-front-intro > p:empty {
	display: none;
}
@media (min-width: 42rem) {
	.profax-front-intro {
		grid-template-columns: 1fr 1fr;
	}
}

/* Produktseite: Bild schmaler, damit Produktdetails und Beschreibung (Storefront-Panel 65.2 %, rechtsbündig)
   dieselbe linke Kante haben. body hebt die Spezifität über die Regeln von woocommerce.css. */
@media (min-width: 768px) {
	body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery,
	body.storefront-full-width-content.single-product div.product .images {
		width: 30.4347826087%;
		margin-right: 4.347826087%;
	}
	body.storefront-full-width-content.single-product div.product .summary {
		width: 65.2173913043%;
	}
}

/* In den Warenkorb: Pill wie Kategorien und Suchfeld, Mengenfeld im Stil des Suchfelds, beide 40px hoch */
.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.875em;
}
/* Clearfix-Pseudo-Elemente von Storefront wären sonst Flex-Items und rücken das Mengenfeld ein */
body.single-product div.product form.cart::before,
body.single-product div.product form.cart::after {
	display: none;
}
body.single-product div.product form.cart .quantity {
	float: none;
	margin: 0;
}
.single-product div.product form.cart .quantity .qty {
	height: 40px;
	box-sizing: border-box;
	padding: 4px 0.5em 0;
	border: 1px solid rgba(80, 168, 255, 0.35);
	border-radius: 999px;
	background-color: #FFF;
	box-shadow: none;
	font-size: 15px;
	color: #000;
}
.single-product div.product form.cart .quantity .qty:focus {
	border-color: #50A8FF;
	outline: none;
}

/* Schaltflächen überall: Pill wie Kategorien und Suchfeld, 40px hoch.
   body hebt die Spezifität über Storefront; Lightbox (PhotoSwipe), Passwort-Auge und Cookie-Hinweis bleiben unberührt. */
body button:not(.pswp__button):not(.show-password-input):not(.cookiecClose),
body input[type="button"],
body input[type="reset"],
body input[type="submit"],
body .button,
body .added_to_cart {
	background: #1088FF !important;
	color: #FFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	box-sizing: border-box;
	/* zimi sitzt hoch: Text 2px nach unten, damit er optisch mittig ist */
	padding: 4px 1.5em 0;
	border: none;
	border-radius: 999px;
	box-shadow: none;
	font-size: 15px;
	font-weight: normal;
	line-height: 1.2;
	text-align: center;
	hyphens: none;
	transform: none;
	transition: background-color 0.125s;
}
body button:not(.pswp__button):not(.show-password-input):not(.cookiecClose):hover,
body button:not(.pswp__button):not(.show-password-input):not(.cookiecClose):focus,
body input[type="button"]:hover,
body input[type="submit"]:hover,
body .button:hover,
body .button:focus,
body .added_to_cart:hover {
	background: #3088E0 !important;
	transform: none;
}
/* Passwort anzeigen: nur das Auge im Feld, keine Schaltfläche */
body .show-password-input,
body .show-password-input:hover,
body .show-password-input:focus {
	background: transparent !important;
	color: #1088FF;
	box-shadow: none;
}
/* Warenkorb und Kasse: woocommerce.css (lädt nach diesem Stylesheet) vergrössert die Abschluss-Buttons */
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-checkout #payment .place-order .button {
	display: flex;
	width: 100%;
	padding: 4px 1.5em 0;
	font-size: 15px;
	font-weight: normal;
}
