/* ==========================================================
   AMS Salon – affiliate-management.shop
   Ruhige, editoriale B2B-Optik: Weiß, feine Linien, viel Raum
   (contemporary-arts.de) mit Manrope/Literata und den Akzenten
   Koralle, Kobalt, Sonne (editions-and-more.com).
   Überschreibt das Eltern-Theme eStore Pro; alle Regeln hängen
   an body.ams-salon, damit sie vor dem Eltern-Stylesheet gewinnen.
   ========================================================== */

@font-face {
	font-family: "Manrope";
	src: url("../fonts/Manrope-VariableFont_wght.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Literata";
	src: url("../fonts/Literata72pt-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Literata";
	src: url("../fonts/Literata72pt-RegularItalic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Literata";
	src: url("../fonts/Literata72pt-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

:root {
	--ams-weiss: #ffffff;
	--ams-schwarz: #111111;
	--ams-grau: #6b6b6b;
	--ams-grau-hell: #9a9a9a;
	--ams-linie: #e5e2dc;
	--ams-papier: #f4f2ee;
	--ams-kobalt: #2340ff;
	--ams-koralle: #ff5a3c;
	--ams-sonne: #ffd23f;
	--ams-rose: #ffe7df;
	--ams-minze: #d9f3e7;
	--ams-himmel: #e1e6ff;
	--ams-sans: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
	--ams-serif: "Literata", Georgia, "Times New Roman", serif;
	--ams-breite: 1320px;
	--ams-radius: 14px;
	--ams-schatten: 0 12px 28px rgba(17, 17, 17, .10);
}

/* ---------- Grundlagen ---------- */
body.ams-salon {
	background: var(--ams-weiss);
	color: var(--ams-schwarz);
	font-family: var(--ams-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.ams-salon #page { background: var(--ams-weiss); }
body.ams-salon a { color: var(--ams-schwarz); text-decoration: none; transition: color .15s; }
body.ams-salon a:hover { color: var(--ams-kobalt); }
body.ams-salon h1, body.ams-salon h2, body.ams-salon h3, body.ams-salon h4, body.ams-salon h5 {
	font-family: var(--ams-sans);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.1;
	color: var(--ams-schwarz);
	text-transform: none;
}
body.ams-salon h1 { font-size: clamp(34px, 4.6vw, 56px); margin: 0 0 .4em; }
body.ams-salon h2 { font-size: clamp(26px, 3vw, 38px); margin: 0 0 .5em; }
body.ams-salon h3 { font-size: 22px; margin: 0 0 .5em; }
body.ams-salon h4 { font-size: 18px; margin: 1.4em 0 .4em; letter-spacing: -.01em; }
body.ams-salon p { margin: 0 0 1.1em; }
body.ams-salon .tg-container { max-width: var(--ams-breite); padding: 0 32px; box-sizing: border-box; }
body.ams-salon #content { padding: 0; }
body.ams-salon #main { padding: 0 0 72px; }
body.ams-salon .screen-reader-text { position: absolute; left: -9999px; }

.ams-kicker {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ams-koralle);
	margin: 0 0 14px;
}
.ams-serif, .ams-unter { font-family: var(--ams-serif); font-style: italic; font-weight: 400; }

/* ---------- Knöpfe ---------- */
body.ams-salon .button,
body.ams-salon button,
body.ams-salon input[type="submit"],
body.ams-salon input[type="button"],
body.ams-salon .wp-block-button__link,
body.ams-salon .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.ams-salon .woocommerce a.button,
body.ams-salon .woocommerce button.button,
body.ams-salon .woocommerce #respond input#submit,
body.ams-salon .woocommerce input.button,
body.ams-salon .ams-knopf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 24px;
	border: 1px solid var(--ams-schwarz);
	border-radius: 999px;
	background: var(--ams-schwarz);
	color: var(--ams-weiss) !important;
	font-family: var(--ams-sans);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s, transform .15s;
	box-shadow: none;
}
body.ams-salon .button:hover,
body.ams-salon button:hover,
body.ams-salon input[type="submit"]:hover,
body.ams-salon .wp-block-button__link:hover,
body.ams-salon .woocommerce a.button:hover,
body.ams-salon .woocommerce button.button:hover,
body.ams-salon .woocommerce input.button:hover,
body.ams-salon .ams-knopf:hover {
	background: var(--ams-koralle);
	border-color: var(--ams-koralle);
	color: var(--ams-weiss) !important;
	transform: translateY(-1px);
}
body.ams-salon .ams-knopf--leer,
body.ams-salon .woocommerce ul.products li.product .button {
	background: var(--ams-weiss);
	color: var(--ams-schwarz) !important;
}
body.ams-salon .ams-knopf--leer:hover,
body.ams-salon .woocommerce ul.products li.product .button:hover {
	background: var(--ams-schwarz);
	border-color: var(--ams-schwarz);
	color: var(--ams-weiss) !important;
}
/* Das Eltern-Theme färbt Knöpfe über sehr spezifische Selektoren (Blau) –
   Farbe und Hintergrund deshalb erzwingen; Hover regelt die Regel darunter. */
body.ams-salon .woocommerce a.button,
body.ams-salon .woocommerce button.button,
body.ams-salon .woocommerce input.button,
body.ams-salon .woocommerce #respond input#submit,
body.ams-salon .woocommerce .single_add_to_cart_button,
body.ams-salon .woocommerce a.button.alt,
body.ams-salon .woocommerce button.button.alt,
body.ams-salon .woocommerce input.button.alt,
body.ams-salon .woocommerce #payment #place_order,
body.ams-salon .checkout-button,
body.ams-salon #top-footer .widget_shopping_cart .buttons a.button,
body.ams-salon #masthead .widget_shopping_cart .buttons a.button { background: var(--ams-schwarz) !important; border-color: var(--ams-schwarz) !important; color: var(--ams-weiss) !important; border-radius: 999px !important; text-transform: none !important; }
body.ams-salon .woocommerce a.button:hover,
body.ams-salon .woocommerce button.button:hover,
body.ams-salon .woocommerce input.button:hover,
body.ams-salon .woocommerce .single_add_to_cart_button:hover,
body.ams-salon .woocommerce a.button.alt:hover,
body.ams-salon .woocommerce button.button.alt:hover,
body.ams-salon .woocommerce input.button.alt:hover,
body.ams-salon .woocommerce #payment #place_order:hover,
body.ams-salon .checkout-button:hover,
body.ams-salon #top-footer .widget_shopping_cart .buttons a.button:hover,
body.ams-salon #masthead .widget_shopping_cart .buttons a.button:hover { background: var(--ams-koralle) !important; border-color: var(--ams-koralle) !important; }
body.ams-salon .woocommerce ul.products li.product .button,
body.ams-salon .woocommerce ul.products li.product a.button { background: var(--ams-weiss) !important; border-color: var(--ams-schwarz) !important; color: var(--ams-schwarz) !important; }
body.ams-salon .woocommerce ul.products li.product .button:hover,
body.ams-salon .woocommerce ul.products li.product a.button:hover { background: var(--ams-schwarz) !important; color: var(--ams-weiss) !important; }
body.ams-salon .button i.fa,
body.ams-salon ul.products li.product .button i { display: none; }
body.ams-salon .woocommerce a.button.added::after { display: none; }
body.ams-salon .woocommerce a.added_to_cart { margin-left: 10px; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Kopf ---------- */
body.ams-salon #masthead { background: var(--ams-weiss); border-bottom: 1px solid var(--ams-linie); box-shadow: none; }
body.ams-salon .middle-header-wrapper { padding: 22px 0 18px; background: transparent; }
body.ams-salon .logo-wrapper { float: left; }
body.ams-salon .site-title-wrapper { text-align: left; }
body.ams-salon #site-title { font-size: 26px; font-weight: 800; letter-spacing: -.03em; margin: 0; line-height: 1.1; }
body.ams-salon #site-title a { color: var(--ams-schwarz); }
body.ams-salon #site-title a:hover { color: var(--ams-kobalt); }
body.ams-salon #site-description { font-family: var(--ams-serif); font-style: italic; font-size: 15px; color: var(--ams-grau); margin: 4px 0 0; }
body.ams-salon .wishlist-cart-wrapper { float: right; margin: 6px 0 0; }
body.ams-salon .cart-wrapper { position: relative; }
body.ams-salon .cart-wrapper .estore-cart-views { display: flex; align-items: center; gap: 12px; }
body.ams-salon .cart-wrapper .estore-cart-views > a.wcmenucart-contents {
	display: inline-flex; align-items: center; gap: 8px;
	width: auto; height: auto; padding: 9px 16px;
	border: 1px solid var(--ams-schwarz); border-radius: 999px;
	background: var(--ams-weiss); color: var(--ams-schwarz);
	font-size: 14px; font-weight: 700; line-height: 1;
}
body.ams-salon .cart-wrapper .estore-cart-views > a.wcmenucart-contents:hover { background: var(--ams-schwarz); color: var(--ams-weiss); }
body.ams-salon .cart-wrapper .estore-cart-views > a i.fa { font-size: 14px; line-height: 1; }
body.ams-salon .cart-wrapper .cart-value {
	position: static; display: inline-flex; align-items: center; justify-content: center;
	min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
	background: var(--ams-koralle); color: var(--ams-weiss); font-size: 12px; font-weight: 700; line-height: 1;
}
body.ams-salon .cart-wrapper .my-cart-wrap { display: none; }
body.ams-salon .widget_shopping_cart { right: 0; left: auto; border: 1px solid var(--ams-linie); border-radius: var(--ams-radius); box-shadow: var(--ams-schatten); }

body.ams-salon .bottom-header-wrapper { background: transparent; border-top: 1px solid var(--ams-linie); box-shadow: none; }
body.ams-salon .header-first-layout .bottom-header-wrapper { background: var(--ams-weiss); }
body.ams-salon .main-navigation { background: transparent; }
body.ams-salon .main-navigation ul.menu > li > a,
body.ams-salon .main-navigation ul li a {
	display: block; padding: 16px 0; margin: 0 26px 0 0;
	font-family: var(--ams-sans) !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important;
	color: var(--ams-schwarz); background: transparent; border: 0;
}
body.ams-salon .main-navigation ul.menu > li > a:hover,
body.ams-salon .main-navigation ul.menu > li.current-menu-item > a,
body.ams-salon .main-navigation ul.menu > li.current-menu-ancestor > a {
	color: var(--ams-kobalt); background: transparent;
	text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1.5px;
}
body.ams-salon .main-navigation ul.menu > li.menu-item-has-children > a::after { content: ""; display: none; }
body.ams-salon .main-navigation ul.sub-menu {
	background: var(--ams-weiss); border: 1px solid var(--ams-linie); border-radius: 12px;
	box-shadow: var(--ams-schatten); padding: 8px 0; min-width: 240px;
}
body.ams-salon .main-navigation ul.sub-menu li a {
	padding: 9px 18px; font-size: 14px; font-weight: 500; color: var(--ams-schwarz); background: transparent; border: 0; text-transform: none;
}
body.ams-salon .main-navigation ul.sub-menu li a:hover { color: var(--ams-kobalt); background: var(--ams-papier); }
body.ams-salon .search-user-wrapper { margin-top: 8px; }
body.ams-salon .search-user-wrapper .search-icon,
body.ams-salon .search-user-wrapper .user-icon { color: var(--ams-schwarz); background: transparent; }
body.ams-salon .search-user-wrapper .search-icon:hover i,
body.ams-salon .search-user-wrapper .user-icon:hover { color: var(--ams-kobalt); }
body.ams-salon .header-search-box { border: 1px solid var(--ams-linie); border-radius: 999px; box-shadow: var(--ams-schatten); background: var(--ams-weiss); }
body.ams-salon .header-search-box .search-field { font-family: var(--ams-sans); font-size: 15px; border: 0; background: transparent; }
body.ams-salon .header-search-box .searchsubmit { padding: 10px 14px; }
body.ams-salon .toggle-wrap .toggle { color: var(--ams-schwarz); }
body.ams-salon .header-first-layout .sticky { box-shadow: 0 1px 0 var(--ams-linie); background: rgba(255, 255, 255, .96); }

/* ---------- Seitenkopf (Titel + Pfad) ---------- */
body.ams-salon .page-header { background: transparent; border: 0; padding: 44px 0 10px; margin: 0; }
body.ams-salon .page-header .tg-container { text-align: left; }
body.ams-salon .page-header .entry-title,
body.ams-salon .page-header .page-title {
	font-size: clamp(30px, 3.6vw, 46px); font-weight: 800; letter-spacing: -.025em; color: var(--ams-schwarz);
	text-transform: none; text-align: left; margin: 0 0 10px; padding: 0;
}
body.ams-salon .page-header .entry-sub-title { font-family: var(--ams-sans); font-size: 13px; font-weight: 500; color: var(--ams-grau); text-align: left; margin: 0; }
body.ams-salon .page-header .entry-sub-title span a { color: var(--ams-grau); }
body.ams-salon .page-header .entry-sub-title span a:hover { color: var(--ams-kobalt); }
body.ams-salon .page-header .entry-title, body.ams-salon .page-header .page-title { line-height: 1.15; height: auto; max-width: 20em; }
body.ams-salon .page-header .entry-sub-title { position: static; clear: both; display: block; margin-top: 10px; }
body.ams-salon.home .page-header { display: none; }
body.ams-salon.single-product .page-header .entry-title { display: none; }
body.ams-salon.single-product .page-header { padding: 26px 0 0; }

/* ---------- Inhaltstext ---------- */
body.ams-salon .entry-content,
body.ams-salon .page-content { font-size: 17px; line-height: 1.65; }
body.ams-salon .entry-content > p,
body.ams-salon .entry-content > ul,
body.ams-salon .entry-content > ol,
body.ams-salon .entry-content > h2,
body.ams-salon .entry-content > h3 { max-width: 780px; }
body.ams-salon .entry-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ams-linie); }
body.ams-salon .entry-content a:hover { text-decoration-color: currentColor; }
body.ams-salon .entry-content hr { border: 0; border-top: 1px solid var(--ams-linie); margin: 40px 0; }
body.ams-salon .wp-block-separator { border-color: var(--ams-linie); }

/* ---------- Startseite ---------- */
body.ams-salon.home #main { padding-top: 0; }
body.ams-salon .ams-hero { padding: 72px 0 56px; border-bottom: 1px solid var(--ams-linie); }
body.ams-salon .ams-hero__raster { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: center; }
body.ams-salon .ams-hero h1 { font-size: clamp(38px, 5.4vw, 68px); max-width: 14em; margin: 0 0 18px; }
body.ams-salon .ams-hero__unter { font-family: var(--ams-serif); font-style: italic; font-size: clamp(19px, 2vw, 24px); color: var(--ams-grau); max-width: 30em; margin: 0 0 22px; }
body.ams-salon .ams-hero__text { font-size: 17px; color: #333; max-width: 36em; margin: 0 0 28px; }
body.ams-salon .ams-hero__knoepfe { display: flex; flex-wrap: wrap; gap: 12px; }
body.ams-salon .ams-hero__karte {
	position: relative; background: var(--ams-himmel); border-radius: var(--ams-radius); padding: 36px 36px 32px; min-height: 320px;
	display: flex; flex-direction: column; justify-content: flex-end;
}
body.ams-salon .ams-hero__karte::before {
	content: ""; position: absolute; top: 28px; right: 28px; width: 110px; height: 110px; border-radius: 50%; background: var(--ams-sonne);
}
body.ams-salon .ams-hero__karte::after {
	content: ""; position: absolute; top: 96px; right: 92px; width: 70px; height: 70px; border-radius: 50%; background: var(--ams-koralle);
}
body.ams-salon .ams-hero__karte .ams-kicker { color: var(--ams-kobalt); }
body.ams-salon .ams-hero__karte p { margin: 0; font-size: 15px; color: #333; max-width: 26em; }
body.ams-salon .ams-hero__karte p.ams-hero__zahl { font-size: clamp(44px, 5vw, 64px); font-weight: 800; letter-spacing: -.04em; line-height: 1; margin: 0 0 10px; color: var(--ams-schwarz); max-width: none; }
body.ams-salon .ams-hero__karte p.ams-hero__zahl span { font-family: var(--ams-serif); font-style: italic; font-weight: 400; font-size: .5em; letter-spacing: 0; margin-left: 8px; }

/* Volle Breite für Seiten ohne Seitenleiste (das Eltern-Theme begrenzt #primary) */
body.ams-salon .no_sidebar_full_width #primary,
body.ams-salon.home #primary,
body.ams-salon.page #primary,
body.ams-salon.woocommerce-page #primary { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; }
body.ams-salon.home .entry-content,
body.ams-salon.home .page-content { max-width: none; }

body.ams-salon .ams-abschnitt { padding: 64px 0 0; }
body.ams-salon .ams-abschnitt__kopf { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin: 0 0 28px; }
body.ams-salon .ams-abschnitt__kopf h2 { margin: 0; }
body.ams-salon .ams-abschnitt__kopf a { font-weight: 600; font-size: 15px; white-space: nowrap; }
body.ams-salon .ams-abschnitt__kopf a::after { content: " →"; }

body.ams-salon .ams-kacheln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body.ams-salon .ams-kachel {
	position: relative; border-radius: var(--ams-radius); padding: 28px 26px 30px; min-height: 240px;
	display: flex; flex-direction: column; background: var(--ams-papier); color: var(--ams-schwarz);
	transition: transform .18s, box-shadow .18s;
}
body.ams-salon .ams-kachel:hover { transform: translateY(-3px); box-shadow: var(--ams-schatten); }
body.ams-salon .ams-kachel--kobalt { background: var(--ams-kobalt); color: var(--ams-weiss); }
body.ams-salon .ams-kachel--koralle { background: var(--ams-koralle); color: var(--ams-weiss); }
body.ams-salon .ams-kachel--sonne { background: var(--ams-sonne); color: var(--ams-schwarz); }
body.ams-salon .ams-kachel--minze { background: var(--ams-minze); color: var(--ams-schwarz); }
body.ams-salon .ams-kachel .ams-kicker { color: inherit; opacity: .8; }
body.ams-salon .ams-kachel h3 { font-size: 24px; margin: 0 0 10px; color: inherit; }
body.ams-salon .ams-kachel h3 a { color: inherit; }
body.ams-salon .ams-kachel h3 a::after { content: " →"; }
body.ams-salon .ams-kachel h3 a::before { content: ""; position: absolute; inset: 0; }
body.ams-salon .ams-kachel p { margin: 0; font-size: 15px; line-height: 1.5; color: inherit; opacity: .92; }

body.ams-salon .ams-gruende { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
body.ams-salon .ams-gruende ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ams-linie); }
body.ams-salon .ams-gruende li { padding: 14px 0; border-bottom: 1px solid var(--ams-linie); font-size: 17px; display: flex; gap: 14px; align-items: baseline; }
body.ams-salon .ams-gruende li::before { content: "—"; color: var(--ams-koralle); font-weight: 800; flex: 0 0 auto; }
body.ams-salon .ams-cta { background: var(--ams-rose); border-radius: var(--ams-radius); padding: 32px 30px; }
body.ams-salon .ams-cta h3 { font-size: 24px; margin: 0 0 10px; }
body.ams-salon .ams-cta p { font-size: 16px; color: #333; margin: 0 0 20px; }

body.ams-salon .ams-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; align-items: center; border-top: 1px solid var(--ams-linie); border-bottom: 1px solid var(--ams-linie); padding: 28px 0; }
body.ams-salon .ams-logos img { display: block; height: auto; max-height: 110px; width: auto; max-width: 180px; margin: 0 auto; filter: grayscale(1); opacity: .75; transition: opacity .15s, filter .15s; }
body.ams-salon .ams-logos img:hover { filter: none; opacity: 1; }
body.ams-salon .ams-logos__titel { text-align: center; }

/* Produktraster des Startseiten-Blocks (woocommerce/product-category) */
body.ams-salon .wc-block-grid__products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; margin: 0; padding: 0; }
body.ams-salon .wc-block-grid__product { width: 100% !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; border: 0; text-align: left; }
body.ams-salon .wc-block-grid__product-link { display: block; }
body.ams-salon .wc-block-grid__product-image { display: block; width: 100%; aspect-ratio: 1; background: var(--ams-papier); border-radius: var(--ams-radius); overflow: hidden; margin: 0 0 14px; }
body.ams-salon .wc-block-grid__product-image img { display: block; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; margin: 0; transition: transform .25s; }
body.ams-salon .wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.03); }
body.ams-salon .wc-block-grid__product-title { font-family: var(--ams-sans); font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; margin: 0 0 6px; color: var(--ams-schwarz); }
body.ams-salon .wc-block-grid__product-price { font-size: 16px; font-weight: 500; color: var(--ams-schwarz); margin: 0 0 12px; }
body.ams-salon .wc-block-grid__product-price .woocommerce-Price-amount { font-weight: 500; }
body.ams-salon .wc-block-grid__product-add-to-cart { margin: 0; }
body.ams-salon .wc-block-grid__product-add-to-cart .wp-block-button__link { background: var(--ams-weiss); color: var(--ams-schwarz) !important; padding: 10px 20px; font-size: 14px; }
body.ams-salon .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--ams-schwarz); color: var(--ams-weiss) !important; }
body.ams-salon .wc-block-grid__product-onsale { background: var(--ams-sonne); color: var(--ams-schwarz); border: 0; border-radius: 999px; font-size: 12px; font-weight: 700; padding: 4px 10px; }
body.ams-salon .wc-block-grid__product .wc-gzd-additional-info { font-size: 13px; color: var(--ams-grau); margin: -6px 0 10px; }

/* ---------- Shop-Übersicht ---------- */
body.ams-salon .woocommerce-result-count { font-size: 14px; color: var(--ams-grau); margin: 8px 0 24px; }
body.ams-salon .woocommerce-ordering select { font-family: var(--ams-sans); font-size: 14px; padding: 8px 32px 8px 14px; border: 1px solid var(--ams-linie); border-radius: 999px; background: var(--ams-weiss); }
body.ams-salon .woocommerce-ordering { margin: 0 0 24px; }
body.ams-salon .woocommerce ul.products,
body.ams-salon ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; margin: 12px 0 0; padding: 0; list-style: none; }
body.ams-salon ul.products::before,
body.ams-salon ul.products::after,
body.ams-salon .woocommerce ul.products::before,
body.ams-salon .woocommerce ul.products::after { display: none !important; content: none !important; }
body.ams-salon .woocommerce ul.products li.product,
body.ams-salon .woocommerce-page ul.products li.product,
body.ams-salon ul.products li.product {
	float: none !important; width: auto !important; max-width: none !important; min-height: 0; clear: none !important;
	margin: 0 !important; padding: 0 !important; border: 0; background: transparent; box-shadow: none; text-align: left; position: relative;
}
body.ams-salon ul.products li.product .woocommerce-loop-product__link { display: block; }
body.ams-salon ul.products li.product img,
body.ams-salon .woocommerce ul.products li.product a img,
body.ams-salon ul.products li.product .products-img { display: block; width: 100% !important; max-width: none !important; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--ams-radius); background: var(--ams-papier); margin: 0 0 14px !important; box-shadow: none; transition: transform .25s; }
body.ams-salon ul.products li.product .products-img img { margin: 0; border-radius: var(--ams-radius); }
body.ams-salon ul.products li.product:hover img { transform: scale(1.02); }
body.ams-salon ul.products li.product .woocommerce-loop-product__title,
body.ams-salon ul.products li.product .products-title,
body.ams-salon ul.products li.product h2,
body.ams-salon ul.products li.product h3 {
	font-family: var(--ams-sans); font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3;
	padding: 0; margin: 0 0 6px; color: var(--ams-schwarz); text-transform: none;
}
body.ams-salon ul.products li.product .products-title a { color: var(--ams-schwarz); }
body.ams-salon ul.products li.product .price,
body.ams-salon .woocommerce ul.products li.product .price { font-size: 16px; font-weight: 500; color: var(--ams-schwarz); margin: 0 0 4px; line-height: 1.4; display: block; }
body.ams-salon ul.products li.product .price del { color: var(--ams-grau-hell); font-weight: 400; margin-right: 6px; }
body.ams-salon ul.products li.product .price ins { text-decoration: none; }
body.ams-salon ul.products li.product .wc-gzd-additional-info { font-size: 13px; color: var(--ams-grau); margin: 0 0 12px; }
body.ams-salon ul.products li.product .button { margin: 4px 0 0; padding: 10px 20px; font-size: 14px; }
body.ams-salon .woocommerce span.onsale,
body.ams-salon span.onsale {
	position: absolute; top: 12px; left: 12px; z-index: 2; min-height: 0; min-width: 0; line-height: 1;
	background: var(--ams-sonne); color: var(--ams-schwarz); border-radius: 999px; font-size: 12px; font-weight: 700; padding: 6px 12px; margin: 0;
}
body.ams-salon .woocommerce-pagination { margin: 56px 0 0; text-align: center; }
body.ams-salon .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; border: 0; }
body.ams-salon .woocommerce-pagination ul.page-numbers li { border: 0; }
body.ams-salon .woocommerce-pagination .page-numbers { display: inline-block; padding: 8px 14px; border-radius: 999px; border: 1px solid transparent; font-size: 15px; color: var(--ams-schwarz); background: transparent; }
body.ams-salon .woocommerce-pagination .page-numbers.current { border-color: var(--ams-schwarz); }
body.ams-salon .woocommerce-pagination .page-numbers:hover { background: var(--ams-papier); color: var(--ams-schwarz); }
body.ams-salon .term-description { max-width: 780px; font-size: 17px; color: #333; margin: 0 0 24px; }

/* ---------- Produktseite ---------- */
body.ams-salon .single-product div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 1fr); gap: 56px; align-items: start; padding: 24px 0 0; }
body.ams-salon .single-product div.product > * { min-width: 0; }
body.ams-salon .single-product div.product .woocommerce-product-gallery { float: none; width: auto; margin: 0; }
body.ams-salon .single-product div.product .woocommerce-product-gallery img { border-radius: var(--ams-radius); background: var(--ams-papier); }
body.ams-salon .single-product div.product .woocommerce-product-gallery__trigger { border-radius: 999px; }
body.ams-salon .single-product div.product .summary { float: none; width: auto; margin: 0; position: sticky; top: 24px; }
body.ams-salon .single-product div.product .product_title { font-size: clamp(30px, 3.6vw, 44px); margin: 0 0 16px; text-transform: none; }
body.ams-salon .single-product div.product .summary .price,
body.ams-salon .single-product div.product p.price,
body.ams-salon .woocommerce div.product p.price,
body.ams-salon .woocommerce div.product span.price { font-size: 28px; font-weight: 700; letter-spacing: -.02em; color: var(--ams-schwarz) !important; margin: 0 0 4px; text-align: left; float: none; }
body.ams-salon .woocommerce div.product p.price .amount { color: var(--ams-schwarz) !important; }
body.ams-salon .single-product div.product .summary .price del { color: var(--ams-grau-hell); font-weight: 400; font-size: .7em; margin-right: 8px; }
body.ams-salon .single-product div.product .summary .price ins { text-decoration: none; }
body.ams-salon .single-product div.product .summary .wc-gzd-additional-info,
body.ams-salon .single-product div.product .summary .legal-price-info,
body.ams-salon .single-product div.product .summary .tax-info { font-size: 13px; color: var(--ams-grau); margin: 0 0 20px; }
body.ams-salon .single-product div.product .summary .wc-gzd-additional-info a { text-decoration: underline; }
body.ams-salon .single-product div.product .woocommerce-product-details__short-description { font-size: 17px; color: #333; margin: 0 0 22px; }
body.ams-salon .single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 22px; padding: 22px 0; border-top: 1px solid var(--ams-linie); border-bottom: 1px solid var(--ams-linie); }
body.ams-salon .single-product div.product form.cart .quantity { margin: 0; }
body.ams-salon .single-product div.product form.cart .quantity .qty { width: 72px; height: 46px; padding: 0 10px; border: 1px solid var(--ams-linie); border-radius: 999px; font-family: var(--ams-sans); font-size: 15px; text-align: center; }
body.ams-salon .single-product div.product form.cart .button { flex: 1 1 auto; height: 46px; padding: 0 28px; }
/* Das Eltern-Theme färbt Kaufknopf und Preis auf der Produktseite blau (fünf Klassen tief) */
body.ams-salon.single-product.woocommerce-page .product .cart .single_add_to_cart_button,
body.ams-salon.single-product.woocommerce-page .product .cart .single_add_to_cart_button.alt { background-color: var(--ams-schwarz) !important; background: var(--ams-schwarz) !important; border-color: var(--ams-schwarz) !important; color: var(--ams-weiss) !important; border-radius: 999px !important; }
body.ams-salon.single-product.woocommerce-page .product .cart .single_add_to_cart_button:hover { background-color: var(--ams-koralle) !important; background: var(--ams-koralle) !important; border-color: var(--ams-koralle) !important; }
body.ams-salon.single-product.woocommerce-page .product .price,
body.ams-salon.single-product.woocommerce-page .product .price .amount,
body.ams-salon.single-product.woocommerce-page .product .summary .price ins { color: var(--ams-schwarz) !important; }
body.ams-salon .single-product div.product .product_meta { font-size: 13px; color: var(--ams-grau); }
body.ams-salon .single-product div.product .product_meta > span { display: block; margin: 0 0 4px; }
body.ams-salon .single-product div.product .product_meta a { color: var(--ams-schwarz); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ams-linie); }

body.ams-salon .woocommerce-tabs { grid-column: 1 / -1; margin: 48px 0 0; }
body.ams-salon .woocommerce-tabs ul.wc-tabs { display: flex; gap: 28px; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--ams-linie); background: transparent; overflow: visible; }
body.ams-salon .woocommerce-tabs ul.wc-tabs::before,
body.ams-salon .woocommerce-tabs ul.wc-tabs::after { display: none; }
body.ams-salon .woocommerce-tabs ul.wc-tabs li { margin: 0; padding: 0; border: 0; background: transparent; border-radius: 0; }
body.ams-salon .woocommerce-tabs ul.wc-tabs li a { display: block; padding: 12px 0; font-size: 15px; font-weight: 600; color: var(--ams-grau); background: transparent; }
body.ams-salon .woocommerce-tabs ul.wc-tabs li.active a { color: var(--ams-schwarz); box-shadow: inset 0 -2px 0 var(--ams-schwarz); }
body.ams-salon .woocommerce-tabs ul.wc-tabs li::before,
body.ams-salon .woocommerce-tabs ul.wc-tabs li::after { display: none; }
body.ams-salon .woocommerce-tabs .panel,
body.ams-salon .woocommerce div.product .woocommerce-tabs .panel { padding: 32px 0 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; max-width: 860px; font-size: 17px; line-height: 1.65; }
body.ams-salon .woocommerce-tabs .panel > h2:first-child { display: none; }
body.ams-salon .woocommerce-tabs .panel h4 { font-size: 19px; margin: 1.6em 0 .5em; }
body.ams-salon .woocommerce-tabs .panel ul { padding-left: 1.2em; margin: 0 0 1em; }
body.ams-salon .woocommerce-tabs .panel li { margin: 0 0 .45em; }
body.ams-salon .woocommerce-tabs .panel li::marker { color: var(--ams-koralle); }

body.ams-salon section.related,
body.ams-salon section.up-sells { grid-column: 1 / -1; margin: 64px 0 0; padding: 48px 0 0; border-top: 1px solid var(--ams-linie); }
body.ams-salon section.related > h2,
body.ams-salon section.up-sells > h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 24px; }

/* ---------- Warenkorb, Kasse, Konto ---------- */
body.ams-salon .woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; font-size: 15px; }
body.ams-salon .woocommerce table.shop_table th,
body.ams-salon .woocommerce table.shop_table td { border: 0; border-bottom: 1px solid var(--ams-linie); padding: 16px 12px; background: transparent; }
body.ams-salon .woocommerce table.shop_table thead th { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ams-grau); }
body.ams-salon .woocommerce table.shop_table img { width: 64px; border-radius: 10px; }
body.ams-salon .woocommerce table.shop_table .product-name a { font-weight: 600; }
body.ams-salon .woocommerce .cart-collaterals .cart_totals,
body.ams-salon .woocommerce-page .cart-collaterals .cart_totals { float: none; width: auto; max-width: 460px; margin: 32px 0 0 auto; background: var(--ams-papier); border-radius: var(--ams-radius); padding: 24px 26px; }
body.ams-salon .woocommerce .cart_totals h2 { font-size: 22px; margin: 0 0 12px; }
body.ams-salon .woocommerce .cart_totals table.shop_table th { font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ams-schwarz); font-weight: 600; }
body.ams-salon .wc-proceed-to-checkout .button { width: 100%; }
body.ams-salon .woocommerce .coupon .input-text { height: 46px; border: 1px solid var(--ams-linie); border-radius: 999px; padding: 0 16px; font-family: var(--ams-sans); }
body.ams-salon .woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--ams-grau); margin: 0 0 4px; }
body.ams-salon .woocommerce form .form-row .input-text,
body.ams-salon .woocommerce form .form-row select,
body.ams-salon .woocommerce form .form-row textarea,
body.ams-salon .select2-container--default .select2-selection--single,
body.ams-salon input[type="text"], body.ams-salon input[type="email"], body.ams-salon input[type="tel"], body.ams-salon input[type="url"],
body.ams-salon input[type="password"], body.ams-salon input[type="search"], body.ams-salon textarea {
	font-family: var(--ams-sans); font-size: 15px; padding: 11px 14px; border: 1px solid var(--ams-linie); border-radius: 12px; background: var(--ams-weiss); color: var(--ams-schwarz); box-shadow: none;
}
body.ams-salon .select2-container--default .select2-selection--single { height: auto; padding: 8px 14px; }
body.ams-salon .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
body.ams-salon .woocommerce form .form-row .input-text:focus,
body.ams-salon input:focus, body.ams-salon textarea:focus { outline: 2px solid var(--ams-kobalt); outline-offset: 1px; border-color: var(--ams-kobalt); }
body.ams-salon .woocommerce-checkout h3,
body.ams-salon #order_review_heading { font-size: 22px; margin: 32px 0 14px; }
body.ams-salon #order_review_heading { font-size: 22px; }
body.ams-salon .woocommerce-checkout #payment { background: var(--ams-papier); border-radius: var(--ams-radius); }
body.ams-salon .woocommerce-checkout #payment div.payment_box { background: var(--ams-weiss); border-radius: 10px; font-size: 14px; }
body.ams-salon .woocommerce-checkout #payment div.payment_box::before { display: none; }
body.ams-salon .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--ams-linie); padding: 18px; }
body.ams-salon .woocommerce-checkout #payment ul.payment_methods li { font-size: 15px; }
body.ams-salon .woocommerce-checkout #payment .place-order { padding: 18px; }
body.ams-salon .woocommerce-checkout #payment #place_order { width: 100%; float: none; }
body.ams-salon .wc-gzd-checkbox-placeholder,
body.ams-salon .woocommerce-checkout .legal { font-size: 14px; }
body.ams-salon .woocommerce-info, body.ams-salon .woocommerce-message, body.ams-salon .woocommerce-error {
	border: 1px solid var(--ams-linie); border-top-width: 1px; border-radius: 12px; background: var(--ams-papier); color: var(--ams-schwarz); font-size: 15px; padding: 16px 20px 16px 48px;
}
body.ams-salon .woocommerce-message::before { color: var(--ams-kobalt); }
body.ams-salon .woocommerce-error::before { color: var(--ams-koralle); }
body.ams-salon .woocommerce-info::before { color: var(--ams-grau); }
body.ams-salon .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ams-linie); }
body.ams-salon .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--ams-linie); }
body.ams-salon .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; font-weight: 600; }
body.ams-salon .woocommerce-MyAccount-navigation li.is-active a { color: var(--ams-kobalt); }
body.ams-salon .woocommerce-form-login, body.ams-salon .woocommerce-form-register { border: 1px solid var(--ams-linie) !important; border-radius: var(--ams-radius) !important; padding: 28px !important; }

/* Germanized-Hinweise und Checkboxen */
body.ams-salon .wc-gzd-additional-info { font-family: var(--ams-sans); }
body.ams-salon .wc-gzd-legal-checkbox-text { font-size: 14px; }
body.ams-salon .wc-gzd-legal-checkbox-text a { text-decoration: underline; }

/* ---------- Formulare (Contact Form 7) ---------- */
body.ams-salon .wpcf7 input[type="submit"] { width: auto; }
body.ams-salon .wpcf7 .wpcf7-form-control { max-width: 100%; }

/* ---------- Widgets und Fuß ---------- */
body.ams-salon #colophon { background: var(--ams-weiss); color: var(--ams-schwarz); border-top: 1px solid var(--ams-linie); margin: 0; }
body.ams-salon #top-footer { background: transparent; padding: 56px 0 24px; color: var(--ams-schwarz); }
body.ams-salon #top-footer .widget-title,
body.ams-salon #top-footer .widget-title span { font-family: var(--ams-sans); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ams-grau); border: 0; padding: 0; margin: 0 0 14px; background: transparent; }
body.ams-salon #top-footer .widget-title::after, body.ams-salon #top-footer .widget-title::before { display: none; }
body.ams-salon #top-footer .widget { margin: 0 0 32px; font-size: 14px; color: var(--ams-schwarz); }
body.ams-salon #top-footer .widget a { color: var(--ams-schwarz); }
body.ams-salon #top-footer .widget a:hover { color: var(--ams-kobalt); }
body.ams-salon #top-footer .widget ul { list-style: none; margin: 0; padding: 0; }
body.ams-salon #top-footer .widget li { padding: 5px 0; border: 0; background: transparent; }
body.ams-salon #top-footer .widget li::before { display: none; }
body.ams-salon #top-footer .widget li a::before { display: none; }
body.ams-salon #top-footer .widget_nav_menu li a, body.ams-salon #top-footer .widget_pages li a { padding: 0; }
body.ams-salon #top-footer .gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; }
body.ams-salon #top-footer .gallery .gallery-item { margin: 0; width: auto; float: none; }
body.ams-salon #top-footer .gallery img { border: 0; width: 100%; max-width: 120px; height: auto; filter: grayscale(1); opacity: .8; }
body.ams-salon #top-footer .gallery img:hover { filter: none; opacity: 1; }
body.ams-salon #top-footer .widget_media_image img { max-width: 160px; height: auto; }
body.ams-salon #top-footer .product-categories .cat-item { padding: 5px 0; }
body.ams-salon #top-footer .product-categories .children { padding-left: 14px; }
body.ams-salon #top-footer .widget_shopping_cart .widgettitle { display: none; }
body.ams-salon #bottom-footer { background: transparent; border-top: 1px solid var(--ams-linie); padding: 20px 0; font-size: 13px; color: var(--ams-grau); }
body.ams-salon #bottom-footer a { color: var(--ams-grau); }
body.ams-salon #bottom-footer a:hover { color: var(--ams-kobalt); }
body.ams-salon #bottom-footer .copyright, body.ams-salon #bottom-footer .site-info { color: var(--ams-grau); }
body.ams-salon .estore-footer-social, body.ams-salon .footer-social { text-align: right; }
body.ams-salon #scroll-up, body.ams-salon .scroll-up, body.ams-salon a.back-to-top { background: var(--ams-schwarz); border-radius: 999px; }
body.ams-salon #scroll-up:hover, body.ams-salon a.back-to-top:hover { background: var(--ams-koralle); }

/* ---------- Seitenleiste ---------- */
body.ams-salon #secondary .widget { margin: 0 0 32px; font-size: 15px; }
body.ams-salon #secondary .widget-title, body.ams-salon #secondary .widget-title span { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ams-grau); border: 0; padding: 0; margin: 0 0 12px; background: transparent; }
body.ams-salon #secondary .widget ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ams-linie); }
body.ams-salon #secondary .widget li { padding: 9px 0; border-bottom: 1px solid var(--ams-linie); }

/* ---------- Seitenleiste: wird nicht verwendet ---------- */
body.ams-salon #secondary { display: none !important; }

/* ---------- Wiki und Ratgeber ---------- */
body.ams-salon .ams-wiki { max-width: 820px; margin: 0 0 24px; }
body.ams-salon .ams-wiki--hub { max-width: none; }
body.ams-salon .ams-wiki__chip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ams-grau); }
body.ams-salon .ams-wiki__chip a { color: var(--ams-koralle); }
body.ams-salon .ams-wiki__chip a:hover { color: var(--ams-kobalt); }
body.ams-salon .ams-wiki__chip span { opacity: .5; }
body.ams-salon .ams-wiki__kurz { font-family: var(--ams-serif); font-style: italic; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.45; color: var(--ams-schwarz); margin: 0 0 28px; max-width: 34em; }
body.ams-salon .ams-wiki__text { font-size: 17px; color: #333; max-width: 40em; margin: 0 0 32px; }
body.ams-salon .ams-wiki__body { font-size: 17px; line-height: 1.7; color: #222; }
body.ams-salon .ams-wiki__body h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 1.8em 0 .5em; padding-top: 1.1em; border-top: 1px solid var(--ams-linie); }
body.ams-salon .ams-wiki__body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
body.ams-salon .ams-wiki__body p { margin: 0 0 1.1em; }
body.ams-salon .ams-wiki__body ul, body.ams-salon .ams-wiki__body ol { margin: 0 0 1.3em; padding-left: 1.3em; }
body.ams-salon .ams-wiki__body li { margin: 0 0 .55em; padding-left: .2em; }
body.ams-salon .ams-wiki__body li::marker { color: var(--ams-koralle); font-weight: 700; }
body.ams-salon .ams-wiki__body a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ams-linie); }
body.ams-salon .ams-wiki__body a:hover { color: var(--ams-kobalt); text-decoration-color: currentColor; }
body.ams-salon .ams-wiki__liste { margin: 0 0 1.4em; border-top: 1px solid var(--ams-linie); }
body.ams-salon .ams-wiki__liste dt { font-weight: 800; letter-spacing: -.01em; padding: 14px 0 2px; }
body.ams-salon .ams-wiki__liste dd { margin: 0; padding: 0 0 14px; border-bottom: 1px solid var(--ams-linie); color: #333; }
body.ams-salon .ams-wiki__tabelle { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: 15px; }
body.ams-salon .ams-wiki__tabelle th, body.ams-salon .ams-wiki__tabelle td { text-align: left; vertical-align: top; padding: 12px 14px 12px 0; border: 0; border-bottom: 1px solid var(--ams-linie); background: transparent; }
body.ams-salon .ams-wiki__tabelle th { width: 90px; font-weight: 800; }
body.ams-salon .ams-wiki__merke { position: relative; background: var(--ams-sonne); border-radius: var(--ams-radius); padding: 22px 26px; margin: 36px 0; }
body.ams-salon .ams-wiki__merke span { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 6px; }
body.ams-salon .ams-wiki__merke p { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: -.01em; color: var(--ams-schwarz); }
body.ams-salon .ams-wiki--artikel .ams-wiki__merke { background: var(--ams-himmel); }
body.ams-salon .ams-wiki__siehe { margin: 40px 0 0; padding: 24px 0 0; border-top: 1px solid var(--ams-linie); }
body.ams-salon .ams-wiki__siehe h2 { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--ams-grau); margin: 0 0 12px; }
body.ams-salon .ams-wiki__siehe ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.ams-salon .ams-wiki__siehe a { display: inline-block; padding: 8px 16px; border: 1px solid var(--ams-linie); border-radius: 999px; font-size: 14px; font-weight: 600; }
body.ams-salon .ams-wiki__siehe a:hover { border-color: var(--ams-schwarz); color: var(--ams-schwarz); }
body.ams-salon .ams-wiki__weiter { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 36px 0 0; }
body.ams-salon .ams-wiki__weiter a { display: block; padding: 16px 20px; border: 1px solid var(--ams-linie); border-radius: var(--ams-radius); font-weight: 700; line-height: 1.3; transition: border-color .15s, transform .15s; }
body.ams-salon .ams-wiki__weiter a:hover { border-color: var(--ams-schwarz); transform: translateY(-2px); }
body.ams-salon .ams-wiki__weiter a span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ams-grau); margin: 0 0 4px; }
body.ams-salon .ams-wiki__vor { text-align: right; grid-column: 2; }
body.ams-salon .ams-wiki__eintraege { list-style: none; margin: 0 0 12px; padding: 0; border-top: 1px solid var(--ams-linie); counter-reset: eintrag; }
body.ams-salon .ams-wiki__eintraege li { counter-increment: eintrag; border-bottom: 1px solid var(--ams-linie); }
body.ams-salon .ams-wiki__eintraege a { display: grid; grid-template-columns: 44px 1fr; gap: 4px 12px; padding: 18px 0; }
body.ams-salon .ams-wiki__eintraege a::before { content: counter(eintrag, decimal-leading-zero); grid-row: 1 / 3; font-weight: 800; color: var(--ams-koralle); font-size: 15px; padding-top: 2px; }
body.ams-salon .ams-wiki__eintraege a strong { font-size: 19px; letter-spacing: -.01em; }
body.ams-salon .ams-wiki__eintraege a span { color: #444; font-size: 15px; line-height: 1.5; }
body.ams-salon .ams-wiki__eintraege a:hover strong { color: var(--ams-kobalt); }

body.ams-salon .ams-stationen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 56px; }
body.ams-salon .ams-station { position: relative; background: var(--ams-papier); border-radius: var(--ams-radius); padding: 26px 26px 24px; }
body.ams-salon .ams-station:nth-child(2) { background: var(--ams-himmel); }
body.ams-salon .ams-station:nth-child(3) { background: var(--ams-rose); }
body.ams-salon .ams-station:nth-child(4) { background: var(--ams-minze); }
body.ams-salon .ams-station__nr { display: block; font-size: 44px; font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--ams-koralle); margin: 0 0 10px; }
body.ams-salon .ams-station h2 { font-size: 24px; margin: 0 0 6px; }
body.ams-salon .ams-station h2 a::after { content: " →"; }
body.ams-salon .ams-station > p { font-size: 14px; color: #444; margin: 0 0 14px; }
body.ams-salon .ams-station ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(17, 17, 17, .15); }
body.ams-salon .ams-station li { padding: 7px 0; border-bottom: 1px solid rgba(17, 17, 17, .15); font-size: 15px; font-weight: 600; }
body.ams-salon .ams-station li a:hover { color: var(--ams-kobalt); }
body.ams-salon .ams-wiki__ratgeber { margin: 0 0 56px; }
body.ams-salon .ams-wiki__karten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body.ams-salon .ams-wiki__karten--gross { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 32px; }
body.ams-salon .ams-wiki__karte { display: flex; flex-direction: column; gap: 8px; padding: 24px; border: 1px solid var(--ams-linie); border-radius: var(--ams-radius); transition: border-color .15s, transform .15s, box-shadow .15s; }
body.ams-salon .ams-wiki__karte:hover { border-color: var(--ams-schwarz); transform: translateY(-3px); box-shadow: var(--ams-schatten); }
body.ams-salon .ams-wiki__karte strong { font-size: 20px; letter-spacing: -.02em; line-height: 1.25; }
body.ams-salon .ams-wiki__karte span { font-size: 15px; color: #444; line-height: 1.5; }
body.ams-salon .ams-wiki__index h2 { font-size: 24px; }
body.ams-salon .ams-wiki__index ul { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 32px; border-top: 1px solid var(--ams-linie); }
body.ams-salon .ams-wiki__index li { break-inside: avoid; padding: 9px 0; border-bottom: 1px solid var(--ams-linie); font-size: 15px; }
body.ams-salon .ams-wiki__index a:hover { color: var(--ams-kobalt); }
body.ams-salon .ams-wiki .ams-cta { margin: 48px 0 0; }
body.ams-salon .ams-wiki .ams-cta .ams-knopf { margin: 4px 8px 4px 0; }

/* ---------- Schmal ---------- */
@media (max-width: 1100px) {
	body.ams-salon .ams-stationen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ams-salon .ams-wiki__karten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ams-salon .ams-wiki__index ul { columns: 2; }
	body.ams-salon .ams-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ams-salon .ams-hero__raster, body.ams-salon .ams-gruende { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	body.ams-salon .ams-hero__karte { min-height: 240px; }
	body.ams-salon .single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	body.ams-salon .single-product div.product .summary { position: static; }
	body.ams-salon .ams-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	body.ams-salon .tg-container { padding: 0 16px; }
	body.ams-salon .ams-hero { padding: 40px 0 36px; }
	body.ams-salon .ams-hero h1 { font-size: clamp(32px, 9vw, 44px); }
	body.ams-salon .ams-hero__karte { padding-top: 120px; min-height: 0; }
	body.ams-salon .ams-hero__karte::before { width: 72px; height: 72px; top: 20px; right: 20px; }
	body.ams-salon .ams-hero__karte::after { width: 44px; height: 44px; top: 64px; right: 64px; }
	body.ams-salon .ams-hero__karte p.ams-hero__zahl { font-size: 40px; }
	body.ams-salon .ams-abschnitt { padding: 44px 0 0; }
	body.ams-salon .ams-kacheln { grid-template-columns: minmax(0, 1fr); }
	body.ams-salon .woocommerce ul.products, body.ams-salon ul.products, body.ams-salon .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
	body.ams-salon .ams-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ams-salon .middle-header-wrapper { padding: 16px 0 12px; }
	body.ams-salon #site-title { font-size: 21px; }
	body.ams-salon #site-description { display: none; }
	body.ams-salon .cart-wrapper .estore-cart-views > a.wcmenucart-contents { padding: 8px 12px; }
	body.ams-salon .main-navigation ul.menu > li > a { padding: 12px 0; margin: 0; }
	body.ams-salon .page-header { padding: 28px 0 6px; }
	body.ams-salon .woocommerce .cart-collaterals .cart_totals { max-width: none; }
	body.ams-salon .wc-block-grid__products { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 782px) {
	body.ams-salon .ams-stationen, body.ams-salon .ams-wiki__karten, body.ams-salon .ams-wiki__karten--gross { grid-template-columns: minmax(0, 1fr); }
	body.ams-salon .ams-wiki__index ul { columns: 1; }
	body.ams-salon .ams-wiki__weiter { grid-template-columns: minmax(0, 1fr); }
	body.ams-salon .ams-wiki__vor { grid-column: auto; text-align: left; }
	body.ams-salon .ams-wiki__eintraege a { grid-template-columns: 34px 1fr; }
}
@media (max-width: 480px) {
	body.ams-salon .woocommerce ul.products, body.ams-salon ul.products { grid-template-columns: minmax(0, 1fr); }
}

/* FAQ-Seite: aufklappbare Fragen */
body.ams-salon .ams-faq { max-width: 860px; }
body.ams-salon .ams-faq__frage { border-bottom: 1px solid var(--ams-linie); }
body.ams-salon .ams-faq__frage:first-of-type { border-top: 1px solid var(--ams-linie); }
body.ams-salon .ams-faq__frage summary { cursor: pointer; list-style: none; padding: 18px 44px 18px 0; position: relative; font-family: var(--ams-sans); font-weight: 800; font-size: 18px; line-height: 1.35; color: var(--ams-schwarz); }
body.ams-salon .ams-faq__frage summary::-webkit-details-marker { display: none; }
body.ams-salon .ams-faq__frage summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--ams-papier); text-align: center; line-height: 28px; font-weight: 800; transition: background .15s, color .15s; }
body.ams-salon .ams-faq__frage[open] summary::after { content: "\2212"; background: var(--ams-koralle); color: #fff; }
body.ams-salon .ams-faq__frage summary:hover::after { background: var(--ams-sonne); color: var(--ams-schwarz); }
body.ams-salon .ams-faq__antwort { padding: 0 0 20px; font-size: 16px; line-height: 1.65; }
body.ams-salon .ams-faq__antwort p, body.ams-salon .ams-faq__antwort ul { margin: 0 0 .9em; }
body.ams-salon .ams-faq__antwort ul { padding-left: 1.2em; }
body.ams-salon .ams-faq__antwort li { margin-bottom: .45em; }
