/*
Theme Name:  bm-ARTprint
Template:    kadence
Description: Galerie-Design für bm-ARTprint (Child-Theme von Kadence).
Version:     0.1.0
Author:      B&M
Text Domain: bm-artprint
*/

:root {
	--bma-ink: #16161a;
	--bma-muted: #6b6b70;
	--bma-yellow: #ffcc00;
	--bma-paper: #f6f4ef;
	--bma-line: #e6e2d9;
	--bma-radius: 4px;
	--bma-shadow: 0 1px 2px rgba(22, 22, 26, .08), 0 12px 32px -12px rgba(22, 22, 26, .28);
}

/* ---------- Grundlagen ---------- */
body { color: var(--bma-ink); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { letter-spacing: -.01em; }
::selection { background: var(--bma-yellow); color: var(--bma-ink); }

.button, button.button, .wp-block-button__link, .wc-block-components-button, .single_add_to_cart_button, input[type="submit"] {
	border-radius: 999px !important;
	font-weight: 600;
	letter-spacing: .01em;
	transition: background .2s, color .2s, transform .2s;
}
.button:hover, .wp-block-button__link:hover, .single_add_to_cart_button:hover {
	background: var(--bma-yellow) !important;
	color: var(--bma-ink) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid var(--bma-ink); color: var(--bma-ink); background: transparent; }

/* ---------- Gelbe Leiste ---------- */
.bma-topbar { background: var(--bma-yellow); color: var(--bma-ink); font-size: 13px; font-weight: 600; }
.bma-topbar__inner { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 8px 16px; display: flex; justify-content: center; gap: 36px; flex-wrap: wrap; }
.bma-topbar__inner span + span::before { content: "·"; margin-right: 36px; opacity: .5; }
@media (max-width: 720px) {
	.bma-topbar__inner { gap: 0; }
	.bma-topbar__inner span:not(:first-child) { display: none; }
}

/* ---------- Kopfbereich ---------- */
#masthead .site-header-main-section-left img.custom-logo { max-height: 44px; width: auto; }
#masthead { border-bottom: 1px solid var(--bma-line); }
.header-navigation .menu > li > a { font-weight: 500; }
.header-navigation .header-menu-container .menu > li > a:hover { box-shadow: inset 0 -3px 0 var(--bma-yellow); }
/* Anker-Links (#materialien) nicht als „aktuelle Seite" markieren */
.header-navigation .menu > li.current-menu-item > a[href*="#"] { color: inherit; box-shadow: none; }

/* ---------- Startseite: Abschnitte ---------- */
.bma-section { padding: clamp(48px, 7vw, 96px) 24px !important; }
.bma-section--paper { background: var(--bma-paper); }
.bma-eyebrow { text-transform: uppercase; letter-spacing: .16em; font-size: 13px !important; font-weight: 600; color: var(--bma-muted); margin-bottom: 8px !important; }
.bma-eyebrow::before { content: ""; display: inline-block; width: 28px; height: 3px; background: var(--bma-yellow); vertical-align: middle; margin-right: 10px; }
.bma-hero h1 { font-size: clamp(42px, 6vw, 76px); line-height: 1.02; font-weight: 600; margin: 0 0 20px; }
.bma-hero h1 mark { background: linear-gradient(transparent 62%, var(--bma-yellow) 62%); color: inherit; padding: 0 .05em; }
.bma-hero .bma-lead { font-size: 19px; color: var(--bma-muted); max-width: 30em; }
.bma-section-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 28px; }
.bma-section-head h2 { margin: 0; font-size: clamp(28px, 3.4vw, 40px); font-weight: 600; }

/* Collage: Bilder „an der Wand" */
.bma-collage { position: relative; aspect-ratio: 1 / 1; max-width: 560px; margin-left: auto; }
.bma-frame { position: absolute; display: block; background: #fff; padding: 10px; box-shadow: var(--bma-shadow); transition: transform .35s ease; }
.bma-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bma-frame--1 { width: 56%; aspect-ratio: 3 / 4; left: 0; top: 6%; transform: rotate(-3deg); z-index: 2; }
.bma-frame--2 { width: 46%; aspect-ratio: 3 / 4; right: 0; top: 0; transform: rotate(2.5deg); z-index: 1; }
.bma-frame--3 { width: 44%; aspect-ratio: 1 / 1; right: 8%; bottom: 0; transform: rotate(-1.5deg); z-index: 3; }
.bma-frame:hover { transform: rotate(0) scale(1.03); z-index: 5; }

/* Wechselnder Hero: alle Folien liegen im selben Rasterfeld, damit die Höhe nicht springt */
.bma-hero-slider { display: grid; position: relative; }
.bma-slide { grid-area: 1 / 1; display: grid; grid-template-columns: 46fr 54fr; gap: 48px; align-items: center; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; }
.bma-slide.is-active { opacity: 1; visibility: visible; }
.bma-slide__title, .bma-slide h1 { font-size: clamp(42px, 6vw, 76px); line-height: 1.02; font-weight: 600; margin: 0 0 20px; letter-spacing: -.01em; color: var(--bma-ink); }
.bma-slide mark { background: linear-gradient(transparent 62%, var(--bma-yellow) 62%); color: inherit; padding: 0 .05em; }
.bma-slide .bma-lead { font-size: 19px; color: var(--bma-muted); max-width: 30em; }
.bma-slide .wp-block-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.bma-hero-dots { position: absolute; left: 0; bottom: -36px; display: flex; gap: 8px; }
.bma-dot { width: 28px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: var(--bma-line); cursor: pointer; transition: background .3s, width .3s; }
.bma-dot.is-active { background: var(--bma-ink); width: 44px; }
.bma-dot:hover { background: var(--bma-yellow); }
@media (max-width: 900px) {
	.bma-slide { grid-template-columns: 1fr; gap: 28px; }
	.bma-collage { margin: 0 auto; max-width: 420px; }
	.bma-hero-dots { position: static; grid-row: 2; justify-content: center; margin-top: 20px; }
}

/* Nachhaltigkeit */
.bma-eco { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; }
.bma-eco h2 { font-size: clamp(28px, 3.4vw, 40px); font-weight: 600; margin: 0 0 16px; }
.bma-eco p { color: #3a3a40; }
.bma-eco__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.bma-eco__list li { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--bma-line); border-radius: var(--bma-radius); padding: 14px 16px; font-weight: 500; }
.bma-eco .bma-icon { background: #d9ecd9; color: #2e6b3a; }
@media (max-width: 900px) { .bma-eco { grid-template-columns: 1fr; } }

/* Vorteile */
.bma-usps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 28px 16px; border-top: 1px solid var(--bma-line); border-bottom: 1px solid var(--bma-line); }
.bma-usp { display: flex; gap: 12px; align-items: center; }
.bma-usp strong { display: block; font-size: 15px; }
.bma-usp span { font-size: 13px; color: var(--bma-muted); }
.bma-icon { width: 34px; height: 34px; flex: none; padding: 6px; border-radius: 50%; background: var(--bma-yellow); color: var(--bma-ink); }


/* Kollektionen */
.bma-collections { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bma-collection { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--bma-radius); background: var(--bma-paper); color: #fff !important; text-decoration: none !important; }
.bma-collection img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.bma-collection::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .62), transparent 55%); }
.bma-collection:hover img { transform: scale(1.06); }
.bma-collection__label { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 1; display: flex; justify-content: space-between; align-items: baseline; }
.bma-collection__label strong { font-size: 22px; font-weight: 600; }
.bma-collection__label em { font-style: normal; font-size: 13px; opacity: .85; }
.bma-collection:hover .bma-collection__label strong { box-shadow: inset 0 -4px 0 var(--bma-yellow); }
@media (max-width: 900px) { .bma-collections { grid-template-columns: repeat(2, 1fr); gap: 12px; } .bma-collection__label strong { font-size: 18px; } }

/* Materialien */
.bma-materials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bma-material { background: #fff; border: 1px solid var(--bma-line); border-radius: var(--bma-radius); padding: 22px 20px; display: flex; flex-direction: column; }
.bma-material h3 { font-size: 17px; margin: 14px 0 6px; }
.bma-material p { font-size: 14px; color: var(--bma-muted); margin: 0 0 14px; flex: 1; }
.bma-material__price { font-weight: 600; }
.bma-material__swatch { display: block; height: 72px; border-radius: 2px; box-shadow: var(--bma-shadow); }
.bma-material--1 .bma-material__swatch { background: linear-gradient(135deg, #efeee9, #d9d6cf); }
.bma-material--2 .bma-material__swatch { background: linear-gradient(135deg, #fff 0%, #d7dce3 45%, #fff 55%, #c9ced6 100%); }
.bma-material--3 .bma-material__swatch { background: repeating-linear-gradient(45deg, #e9e2d3 0 2px, #ddd4c1 2px 4px); }
.bma-material--4 .bma-material__swatch { background: linear-gradient(135deg, #e6e8ea, #b9bec4 50%, #e2e5e8); }
.bma-material--5 .bma-material__swatch { background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,0) 40%), linear-gradient(135deg, #2b3a55, #6e8bb5); }
@media (max-width: 1000px) { .bma-materials { grid-template-columns: repeat(2, 1fr); } }

/* Bewertungen */
.bma-reviews { display: grid; grid-template-columns: 1fr repeat(3, 1.3fr); gap: 20px; align-items: stretch; }
.bma-reviews__score { display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.bma-reviews__score strong { font-size: 34px; font-weight: 600; }
.bma-reviews__score span:last-child { color: var(--bma-muted); }
.bma-stars { color: #f2b600; letter-spacing: 2px; }
.bma-review { margin: 0; background: #fff; border-radius: var(--bma-radius); padding: 24px; border: 1px solid var(--bma-line); }
.bma-review figcaption { font-weight: 600; margin: 8px 0; }
.bma-review blockquote { margin: 0 0 12px; padding: 0; border: 0; font-size: 15px; color: #3a3a40; font-style: normal; }
.bma-verified { font-size: 12px; color: var(--bma-muted); }
.bma-verified::before { content: "✓ "; color: #2e8b57; }
@media (max-width: 1000px) { .bma-reviews { grid-template-columns: 1fr; } }

/* Über uns */
.bma-about img { border-radius: var(--bma-radius); box-shadow: var(--bma-shadow); }

/* ---------- Produktlisten ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product a img { background: #fff; padding: 8px; box-shadow: var(--bma-shadow); border-radius: 2px; transition: transform .3s ease; }
.woocommerce ul.products li.product:hover a img { transform: translateY(-4px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; font-weight: 500; }
.woocommerce ul.products li.product .price { color: var(--bma-ink); font-weight: 600; }
.woocommerce ul.products li.product .product-details { padding-top: 14px; }

/* ---------- Produktseite ---------- */
.single-product div.product .product_title { font-weight: 600; font-size: clamp(28px, 3vw, 38px); }
.single-product div.product p.price { font-size: 20px; color: var(--bma-muted); }
.single-product .woocommerce-product-gallery img { background: #fff; }
.bmpr-box { background: var(--bma-paper); border-radius: 8px; padding: 20px 20px 16px; }
.bmpr-field label { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--bma-muted); }
.bmpr-field select { max-width: none; height: 46px; border: 1px solid var(--bma-line); border-radius: 6px; background-color: #fff; padding: 0 12px; font-size: 16px; }
.bmpr-sum { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--bma-line); padding-top: 12px; }
.bmpr-sum strong { font-size: 26px; }
.single-product form.cart { flex-wrap: wrap; }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-height: 50px; }
.single_add_to_cart_button:disabled { opacity: .4; cursor: not-allowed; }

/* ---------- Fußbereich ---------- */
.site-footer { background: var(--bma-ink); color: #c9c9cf; }
.site-footer a { color: #fff; }
.site-footer .site-bottom-footer-wrap { border-top: 1px solid rgba(255, 255, 255, .08); background: transparent; }
.site-footer .site-middle-footer-wrap { background: transparent; padding-top: 32px; }
.site-footer h4 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 14px; }
.site-footer h4:not(:first-child) { margin-top: 24px; }
.site-footer p { font-size: 15px; }
.bma-footer-list { list-style: none; padding: 0; margin: 0; columns: 1; }
.bma-footer-list li { margin: 0 0 6px; }
.bma-footer-list a { color: #c9c9cf !important; text-decoration: none; }
.bma-footer-list a:hover { color: var(--bma-yellow) !important; }
.bma-footer-logo img { filter: brightness(0) invert(1); } /* Logo im dunklen Footer weiß */

/* ---------- Warenkorb / Kasse ---------- */
.wc-block-components-product-metadata__description { display: none; } /* lange Beschreibung im Warenkorb ausblenden, Auswahl bleibt */
.wc-block-components-product-details { font-size: 13px; color: var(--bma-muted); }

/* ---------- Produktlisten: Preis immer brutto + Hinweise immer sichtbar ---------- */
.woocommerce ul.products li.product .product-excerpt { display: none; }
.woocommerce ul.products li.product .product-details > .wc-gzd-additional-info { margin: 2px 0 0; font-size: 12px; line-height: 1.4; color: var(--bma-muted); }
.woocommerce ul.products li.product .product-details > .wc-gzd-additional-info a { color: inherit; }
.bma-usp .bma-icon[class] { flex: none; }
.bma-usps .bma-usp:nth-child(3) .bma-icon { background: #d9ecd9; color: #2e6b3a; }
@media (max-width: 1100px) { .bma-usps { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .bma-usps { grid-template-columns: repeat(2, 1fr); } }

/* Footer: Kontakt + Social */
.bma-social { display: flex; gap: 10px; margin-top: 14px; }
.bma-social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .25); color: #fff !important; transition: background .2s, color .2s, border-color .2s; }
.bma-social a:hover { background: var(--bma-yellow); border-color: var(--bma-yellow); color: var(--bma-ink) !important; }
.bma-social svg { width: 18px; height: 18px; }
.site-footer .bma-footer-eco { font-size: 14px; color: #a9d4ad; }

/* ---------- KI-Hinweis (nur Produktseite, dezent) ---------- */
.bma-ki { position: absolute; left: 8px; bottom: 8px; z-index: 3; padding: 1px 6px; border-radius: 2px; background: rgba(255, 255, 255, .55); color: rgba(22, 22, 26, .55); font-size: 10px; font-weight: 400; line-height: 1.4; letter-spacing: .02em; pointer-events: none; }
.woocommerce-product-gallery__image > a { position: relative; display: block; width: fit-content; margin: 0 auto; }
.flex-control-thumbs .bma-ki { display: none; }
/* Galerie mit Vorschaubildchen: die überlappen unten 32 px (Kadence) -> Hinweis nach oben links */
.gallery-has-thumbnails .bma-ki { top: 8px; bottom: auto; }

/* ---------- Produktbeschreibung ---------- */
.bma-desc { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.bma-desc__text { max-width: 62ch; }
.bma-desc__text p { margin: 0 0 14px; line-height: 1.7; }
.bma-desc__lead { font-size: 20px; font-weight: 600; color: var(--bma-ink); }
.bma-desc__ki { font-size: 14px; color: var(--bma-muted); }
.bma-desc__why { background: var(--bma-paper); border-radius: 8px; padding: 24px 26px; }
.bma-desc__why h3 { font-size: 17px; margin: 0 0 14px; }
.bma-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bma-checks li { position: relative; padding-left: 30px; line-height: 1.45; }
.bma-checks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--bma-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2316161a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
@media (max-width: 900px) { .bma-desc { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Produktlisten: Button „Auswählen" ---------- */
.woocommerce ul.products li.product .product-action-wrap { padding-top: 10px; }
.woocommerce ul.products li.product .product-action-wrap .button {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%;
	padding: 10px 18px !important; border: 1.5px solid var(--bma-ink) !important; background: transparent !important; color: var(--bma-ink) !important;
	font-size: 14px; text-transform: none; letter-spacing: .02em; cursor: pointer;
}
.woocommerce ul.products li.product .product-action-wrap .button:hover,
.woocommerce ul.products li.product:hover .product-action-wrap .button { background: var(--bma-ink) !important; color: #fff !important; }
.woocommerce ul.products li.product .product-action-wrap .button:hover { background: var(--bma-yellow) !important; border-color: var(--bma-yellow) !important; color: var(--bma-ink) !important; }
.bma-btn-icon { width: 18px; height: 18px; flex: none; transition: transform .2s; }
.woocommerce ul.products li.product .button:hover .bma-btn-icon { transform: translate(1px, -1px) scale(1.1); }

/* Vorteile-Leiste zentriert: Spalten so breit wie ihr Inhalt, gleichmäßig verteilt */
.bma-usps { grid-template-columns: repeat(5, auto); justify-content: space-evenly; column-gap: 32px; row-gap: 20px; }
@media (max-width: 1100px) { .bma-usps { grid-template-columns: repeat(3, auto); } }
@media (max-width: 700px) { .bma-usps { grid-template-columns: repeat(2, auto); justify-content: center; } }

/* ---------- Kollektions-Kopf ---------- */
.bma-cat-hero { background: var(--bma-paper); border-bottom: 1px solid var(--bma-line); overflow: hidden; }
.bma-cat-hero__inner { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 40px 24px 28px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.bma-crumbs { font-size: 13px; color: var(--bma-muted); margin-bottom: 22px; display: flex; gap: 8px; flex-wrap: wrap; }
.bma-crumbs a { color: var(--bma-muted); text-decoration: none; }
.bma-crumbs a:hover { color: var(--bma-ink); }
.bma-cat-hero__title { font-size: clamp(44px, 6vw, 80px); line-height: 1; font-weight: 300; margin: 0 0 18px; letter-spacing: -.01em; color: var(--bma-ink); }
.bma-cat-hero__title strong { font-weight: 700; background: linear-gradient(transparent 64%, var(--bma-yellow) 64%); padding: 0 .04em; }
.bma-cat-hero__intro { font-size: 19px; color: #3a3a40; max-width: 32em; margin: 0 0 24px; }
.bma-cat-hero__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bma-cat-hero__facts li { background: #fff; border: 1px solid var(--bma-line); border-radius: 999px; padding: 6px 14px; font-size: 14px; color: var(--bma-muted); }
.bma-cat-hero__facts strong { color: var(--bma-ink); font-weight: 600; }
.bma-cat-hero__art .bma-collage { max-width: 440px; }
.bma-cat-hero__art .bma-frame { padding: 8px; }
.bma-cat-nav { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 0 24px 22px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.bma-cat-nav::-webkit-scrollbar { display: none; }
.bma-cat-nav a { flex: none; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--bma-line); background: #fff; color: var(--bma-ink); font-size: 14px; text-decoration: none; font-weight: 300; transition: background .2s, border-color .2s; }
.bma-cat-nav a strong { font-weight: 700; }
.bma-cat-nav a:hover { border-color: var(--bma-ink); }
.bma-cat-nav a.is-active { background: var(--bma-ink); border-color: var(--bma-ink); color: #fff; }
.bma-cat-nav a.is-active strong { color: var(--bma-yellow); }
.woocommerce-products-header:empty, .tax-product_cat .woocommerce-products-header, .post-type-archive-product .woocommerce-products-header { display: none; }
@media (max-width: 900px) {
	.bma-cat-hero__inner { grid-template-columns: 1fr; gap: 24px; padding-top: 24px; }
	.bma-cat-hero__art { order: -1; }
	.bma-cat-hero__art .bma-collage { max-width: 300px; margin: 0 auto; }
}

/* Kollektions-Kopf kompakter (geringere Höhe) */
.bma-cat-hero__inner { padding: 22px 24px 14px; gap: 32px; grid-template-columns: 1.4fr 1fr; }
.bma-crumbs { margin-bottom: 10px; }
.bma-cat-hero .bma-eyebrow { margin-bottom: 4px !important; }
.bma-cat-hero__title { font-size: clamp(34px, 4.2vw, 56px); margin: 0 0 10px; }
.bma-cat-hero__intro { font-size: 17px; margin: 0 0 14px; }
.bma-cat-hero__facts li { padding: 4px 12px; font-size: 13px; }
.bma-cat-hero__art .bma-collage { max-width: 360px; aspect-ratio: 16 / 9; }
.bma-cat-hero__art .bma-frame { padding: 6px; }
.bma-cat-hero__art .bma-frame--1 { width: 34%; aspect-ratio: 3 / 4; left: 4%; top: 4%; }
.bma-cat-hero__art .bma-frame--2 { width: 30%; aspect-ratio: 3 / 4; left: 36%; right: auto; top: 0; }
.bma-cat-hero__art .bma-frame--3 { width: 30%; aspect-ratio: 3 / 4; left: auto; right: 2%; top: 8%; bottom: auto; }
.bma-cat-nav { padding-bottom: 16px; }
@media (max-width: 900px) {
	.bma-cat-hero__art { display: none; } /* auf dem Handy nur Text – spart Höhe */
	.bma-cat-hero__inner { padding-top: 16px; }
}
.tax-product_cat .content-area, .post-type-archive-product .content-area { margin-top: 28px; }

/* ---------- Nach-oben-Button: gelber Kreis, schwarzer Pfeil ---------- */
#kt-scroll-up { width: 48px; height: 48px; padding: 0 !important; display: grid; place-items: center; border-radius: 50% !important; border: 0 !important; background: var(--bma-yellow) !important; color: var(--bma-ink) !important; box-shadow: 0 6px 20px -6px rgba(22, 22, 26, .45); transition: background .2s, color .2s, transform .2s, opacity .3s; }
#kt-scroll-up:hover { background: var(--bma-ink) !important; color: var(--bma-yellow) !important; transform: translateY(-3px); }
#kt-scroll-up svg { width: 20px; height: 20px; }

/* ---------- Cookie-Hinweis ---------- */
.bma-consent[hidden], .bma-consent [hidden] { display: none !important; }
.bma-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 99999; display: flex; justify-content: center; pointer-events: none; }
.bma-consent__banner { pointer-events: auto; width: 100%; max-width: 980px; background: #fff; color: var(--bma-ink); border-radius: 12px; box-shadow: 0 20px 60px -15px rgba(22, 22, 26, .45); border-top: 4px solid var(--bma-yellow); padding: 20px 24px; display: grid; grid-template-columns: 1fr auto; gap: 16px 28px; align-items: center; font-size: 14px; }
.bma-consent__title { font-weight: 700; font-size: 16px; margin: 0 0 4px; }
.bma-consent__text p { margin: 0; line-height: 1.5; }
.bma-consent__text a { color: var(--bma-ink); text-decoration: underline; }
.bma-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.bma-consent__btn { border: 1.5px solid var(--bma-ink); background: var(--bma-ink); color: #fff; border-radius: 999px; padding: 10px 20px; font-weight: 600; font-size: 14px; cursor: pointer; }
.bma-consent__btn:hover { background: var(--bma-yellow); border-color: var(--bma-yellow); color: var(--bma-ink); }
.bma-consent__link { background: none; border: 0; color: var(--bma-muted); text-decoration: underline; cursor: pointer; font-size: 14px; padding: 8px; }
.bma-consent__settings { grid-column: 1 / -1; border-top: 1px solid var(--bma-line); padding-top: 14px; display: grid; gap: 10px; }
.bma-consent__cat { display: flex; gap: 10px; align-items: flex-start; }
.bma-consent__cat input { margin-top: 3px; accent-color: var(--bma-ink); width: 18px; height: 18px; flex: none; }
.bma-consent__cat ul { margin: 4px 0 0 18px; color: var(--bma-muted); }
.bma-consent__none { margin: 2px 0 0; color: var(--bma-muted); font-size: 13px; }
.bma-consent__settings .bma-consent__btn { justify-self: start; }
@media (max-width: 760px) {
	.bma-consent { left: 8px; right: 8px; bottom: 8px; }
	.bma-consent__banner { grid-template-columns: 1fr; padding: 16px; max-height: 80vh; overflow: auto; }
	.bma-consent__actions { justify-content: stretch; }
	.bma-consent__actions .bma-consent__btn { flex: 1; }
}

/* ---------- Newsletter ---------- */
.bma-newsletter { background: var(--bma-yellow); }
.bma-newsletter__inner { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 44px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.bma-newsletter .bma-eyebrow { color: var(--bma-ink); }
.bma-newsletter .bma-eyebrow::before { background: var(--bma-ink); }
.bma-newsletter h2 { font-size: clamp(26px, 3vw, 36px); margin: 0 0 8px; font-weight: 600; color: var(--bma-ink); }
.bma-newsletter__text p { margin: 0; color: #3a3a1a; }
.bma-newsletter .tnp-subscription { max-width: none; margin: 0; }
.bma-newsletter form { display: grid; grid-template-columns: 1fr auto; gap: 10px 10px; align-items: end; }
.bma-newsletter .tnp-field-email label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bma-newsletter .tnp-field { margin: 0; }
.bma-newsletter .tnp-email { width: 100%; height: 50px; border-radius: 999px; border: 0; padding: 0 22px; font-size: 16px; background: #fff; }
.bma-newsletter .tnp-email::placeholder { color: var(--bma-muted); }
.bma-newsletter .tnp-submit { height: 50px; border-radius: 999px; border: 0; padding: 0 28px; background: var(--bma-ink); color: #fff; font-weight: 600; font-size: 15px; cursor: pointer; }
.bma-newsletter .tnp-submit:hover { background: #fff; color: var(--bma-ink); }
.bma-newsletter .tnp-privacy-field { grid-column: 1 / -1; grid-row: 2; font-size: 13px; }
.bma-newsletter .tnp-field-button { grid-column: 2; grid-row: 1; }
.bma-newsletter .tnp-privacy-field a { color: var(--bma-ink); }
.bma-newsletter .tnp-privacy-field input { accent-color: var(--bma-ink); margin-right: 6px; }
@media (max-width: 800px) {
	.bma-newsletter__inner { grid-template-columns: 1fr; gap: 20px; padding: 32px 16px; }
	.bma-newsletter form { grid-template-columns: 1fr; }
	.bma-newsletter .tnp-field-button { grid-column: 1; grid-row: 3; }
	.bma-newsletter .tnp-submit { width: 100%; }
}


/* ---------- Materialien: Kacheln mit Kanten-Detail ---------- */
.bma-material { padding: 0 0 20px; overflow: hidden; }
.bma-material > *:not(.bma-material__detail) { margin-left: 18px; margin-right: 18px; }
.bma-material__detail { margin: 0 0 4px; background: linear-gradient(180deg, #f3f1ec, #e7e3da); border-bottom: 1px solid var(--bma-line); position: relative; }
.bma-material__detail svg { display: block; width: 100%; height: auto; }
.bma-material__detail figcaption { position: absolute; right: 8px; bottom: 6px; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--bma-muted); }
.bma-material h3 { margin-top: 14px; margin-bottom: 2px; }
.bma-material .bma-material__kurz { font-size: 13px; font-weight: 600; color: var(--bma-ink); flex: none; margin-bottom: 8px; }
.bma-material p { flex: none; }
.bma-checks--small { gap: 6px; margin-top: 4px; margin-bottom: 16px; flex: 1; }
.bma-checks--small li { font-size: 13px; padding-left: 24px; }
.bma-checks--small li::before { width: 16px; height: 16px; background-size: 11px; }
@media (max-width: 1200px) { .bma-materials { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .bma-materials { grid-template-columns: 1fr; } }
.bma-material .bma-checks--small { padding-left: 0; align-content: start; flex: 1; }
.bma-material__detail figcaption { right: auto; left: 10px; top: 8px; bottom: auto; }

/* ---------- Zufriedenheits-Garantie (Produktseite) ---------- */
.bma-guarantee { margin: 18px 0 8px; border: 1.5px dashed var(--bma-line); border-radius: 10px; padding: 16px 18px; background: #fff; }
.bma-guarantee__title { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 14px; }
.bma-guarantee__title .bma-icon { width: 28px; height: 28px; padding: 5px; }
.bma-guarantee .bma-checks { padding-left: 0; margin: 0; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
@media (max-width: 520px) { .bma-guarantee .bma-checks { grid-template-columns: 1fr; } }

/* ---------- Materialien: 3D-Nahaufnahme einer Bildecke ---------- */
.bma-material > .bma-mt__stage { margin: 0 0 4px; }
.bma-mt__stage { position: relative; aspect-ratio: 5 / 4; overflow: hidden; background: radial-gradient(120% 90% at 70% 80%, #f4f4f4, #dcdcdc); perspective: 1000px; }
.bma-mt__shadow { position: absolute; left: -8%; top: -8%; width: 86%; height: 84%; background: rgba(0, 0, 0, .22); filter: blur(22px); transform: translate(16px, 20px) rotate(-6deg); border-radius: 8px; }
.bma-mt__box { position: absolute; left: -38%; top: -44%; width: 120%; height: 120%; transform-style: preserve-3d; transform: rotateX(38deg) rotateY(-32deg) rotateZ(-10deg); transition: transform .6s ease; }
.bma-material:hover .bma-mt__box { transform: rotateX(34deg) rotateY(-28deg) rotateZ(-9deg) translate(-6px, -4px); }
.bma-mt__front, .bma-mt__side { position: absolute; backface-visibility: hidden; }
.bma-mt__front { inset: 0; background-image: var(--img); background-size: 200%; background-position: var(--pos, 50% 50%); }
.bma-mt__front::after { content: ""; position: absolute; inset: 0; }
.bma-mt__side--r { top: 0; left: 100%; width: var(--t); height: 100%; transform-origin: left center; transform: rotateY(90deg); }
.bma-mt__side--b { left: 0; top: 100%; width: 100%; height: var(--t); transform-origin: top center; transform: rotateX(-90deg); }
.bma-mt--paper { --t: 3px; }
.bma-mt--paper .bma-mt__side { background: #f4f2ee; }
.bma-mt--paper .bma-mt__side--b { background: #e6e3dd; }
.bma-mt--gloss { --t: 3px; }
.bma-mt--gloss .bma-mt__side { background: #fbfbfb; }
.bma-mt--gloss .bma-mt__side--b { background: #ececec; }
.bma-mt--gloss .bma-mt__front::after { background: linear-gradient(115deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.45) 48%, rgba(255,255,255,0) 60%); }
.bma-mt--canvas { --t: 34px; }
.bma-mt--canvas .bma-mt__side { background: repeating-linear-gradient(45deg, #efebe3 0 2px, #e3ddd1 2px 3px), #efebe3; }
.bma-mt--canvas .bma-mt__side--b { filter: brightness(.9); }
.bma-mt--canvas .bma-mt__front::after { background: repeating-linear-gradient(0deg, rgba(0,0,0,.06) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(255,255,255,.07) 0 1px, transparent 1px 3px); }
.bma-mt--alu { --t: 7px; }
.bma-mt--alu .bma-mt__side--r { background: linear-gradient(90deg, #e5e7ea 0 14%, #2f3236 14% 86%, #cfd3d7 86%); }
.bma-mt--alu .bma-mt__side--b { background: linear-gradient(180deg, #e5e7ea 0 14%, #2f3236 14% 86%, #cfd3d7 86%); filter: brightness(.9); }
.bma-mt--acryl { --t: 14px; }
.bma-mt--acryl .bma-mt__side--r { background: linear-gradient(90deg, rgba(205,238,248,.95) 0 46%, #444 46% 52%, #d6dade 52% 58%, #2f3236 58% 94%, #cfd3d7 94%); }
.bma-mt--acryl .bma-mt__side--b { background: linear-gradient(180deg, rgba(205,238,248,.95) 0 46%, #444 46% 52%, #d6dade 52% 58%, #2f3236 58% 94%, #cfd3d7 94%); filter: brightness(.92); }
.bma-mt--acryl .bma-mt__front::after { background: linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.55) 45%, rgba(255,255,255,.08) 52%, rgba(255,255,255,0) 70%); }
@media (prefers-reduced-motion: reduce) { .bma-mt__box { transition: none; } }
.bma-mt__stage { aspect-ratio: 1 / 1; }

/* Glanzpapier: kräftiger Lichtreflex */
.bma-mt--gloss .bma-mt__front::after {
	background:
		linear-gradient(118deg, rgba(255,255,255,0) 28%, rgba(255,255,255,.18) 36%, rgba(255,255,255,.78) 44%, rgba(255,255,255,.3) 49%, rgba(255,255,255,0) 58%),
		linear-gradient(118deg, rgba(255,255,255,0) 62%, rgba(255,255,255,.35) 66%, rgba(255,255,255,0) 70%),
		linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,0) 50%);
}
.bma-mt--gloss .bma-mt__front { filter: saturate(1.15) contrast(1.06); }
.bma-mt--gloss .bma-mt__side { background: linear-gradient(90deg, #ffffff, #e9e9e9); }

/* Leinwand: runde, weiche Kante (Stoff läuft um den Rahmen) */
.bma-mt--canvas .bma-mt__front::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	box-shadow: inset -14px -14px 14px -10px rgba(255,255,255,.75), inset -3px -3px 4px -1px rgba(255,255,255,.9), inset -26px -26px 30px -22px rgba(0,0,0,.18); }
.bma-mt--canvas .bma-mt__side--r { background:
	repeating-linear-gradient(0deg, rgba(0,0,0,.05) 0 1px, transparent 1px 3px),
	linear-gradient(90deg, #fbfaf7 0%, #efebe3 22%, #e2dccf 70%, #d6cfc0 100%); }
.bma-mt--canvas .bma-mt__side--b { filter: none; background:
	repeating-linear-gradient(90deg, rgba(0,0,0,.05) 0 1px, transparent 1px 3px),
	linear-gradient(180deg, #f7f5f0 0%, #e6e0d4 22%, #d3cbbb 70%, #c6bdab 100%); }
.bma-mt--gloss .bma-mt__front::after {
	background:
		linear-gradient(118deg, rgba(255,255,255,0) 62%, rgba(255,255,255,.22) 68%, rgba(255,255,255,.85) 74%, rgba(255,255,255,.35) 78%, rgba(255,255,255,0) 84%),
		linear-gradient(118deg, rgba(255,255,255,0) 86%, rgba(255,255,255,.45) 89%, rgba(255,255,255,0) 92%),
		linear-gradient(160deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.14));
}
.bma-mt--acryl .bma-mt__front::after { background: linear-gradient(120deg, rgba(255,255,255,0) 60%, rgba(255,255,255,.6) 72%, rgba(255,255,255,.1) 77%, rgba(255,255,255,0) 86%); }
.site-footer .widget ul.bma-footer-list, .site-footer ul.bma-footer-list.wp-block-list { padding: 0; margin-left: 0; }

/* Zwei weiße Abschnitte hintereinander: kein doppelter Abstand */
.bma-section:not(.bma-section--paper) + .bma-section:not(.bma-section--paper) { padding-top: 0 !important; margin-top: 0; }
.bma-section:not(.bma-section--paper):has(+ .bma-section:not(.bma-section--paper)) { padding-bottom: 32px !important; }

/* ---------- Aufklapp-Menü (Kopfzeile): gelber Hintergrund ---------- */
.header-navigation .header-menu-container ul ul.sub-menu {
	background: var(--bma-yellow);
	border-radius: 0 0 12px 12px;
	box-shadow: 0 18px 40px -12px rgba(22, 22, 26, .35);
	padding: 8px;
	border-top: 3px solid var(--bma-ink);
}
.header-navigation .header-menu-container ul ul li.menu-item { border-bottom: 0; }
.header-navigation .header-menu-container ul ul li.menu-item > a {
	width: 230px;
	padding: .7em 1em;
	color: var(--bma-ink);
	font-size: 15px;
	font-weight: 500;
	border-radius: 8px;
	transition: background .15s, color .15s, padding-left .15s;
}
.header-navigation .header-menu-container ul ul li.menu-item > a:hover,
.header-navigation .header-menu-container ul ul li.menu-item > a:focus-visible {
	background: var(--bma-ink);
	color: var(--bma-yellow);
	padding-left: 1.3em;
}
.header-navigation .header-menu-container ul ul li.current-menu-item > a { background: rgba(22, 22, 26, .1); }
/* erster Eintrag „Alle Motive" hervorheben, danach Trennlinie */
.header-navigation .header-menu-container ul ul li.menu-item:first-child > a { font-weight: 700; }
.header-navigation .header-menu-container ul ul li.menu-item:first-child { border-bottom: 1px solid rgba(22, 22, 26, .2); margin-bottom: 4px; padding-bottom: 4px; }

/* „Warum unsere bm-ARTprints?": Kasten so breit wie die längste Zeile (kein Umbruch) */
@media (min-width: 1100px) {
	.bma-desc { grid-template-columns: minmax(0, 1fr) max-content; }
	.bma-desc__why li { white-space: nowrap; }
}

/* ---------- Barrierefreiheit: Kontrast & Fokus ---------- */
.button:focus, .button:focus-visible, .wp-block-button__link:focus, .single_add_to_cart_button:focus,
.bma-consent__btn:focus, .bma-consent__btn:focus-visible { background: var(--bma-ink) !important; color: #fff !important; }
.button:focus-visible, .wp-block-button__link:focus-visible, .single_add_to_cart_button:focus-visible, .bma-consent__btn:focus-visible, .bma-consent__link:focus-visible { outline: 3px solid var(--bma-yellow); outline-offset: 2px; }
.bma-consent__btn:hover { background: var(--bma-yellow) !important; color: var(--bma-ink) !important; }
.product_meta, .product_meta a { color: #55555a !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #3a3a40 !important; }
/* Überschriften-Ebenen korrigiert (h2 statt h3/h4), Optik bleibt */
.bma-desc__why h2 { font-size: 17px; margin: 0 0 14px; }
.site-footer h2.wp-block-heading { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 14px; font-weight: 700; }
.site-footer h2.wp-block-heading:not(:first-child) { margin-top: 24px; }

/* Barrierefreiheit: restliche Kontraste + Klickgröße */
.product_meta .posted_in, .product_meta .sku_wrapper, .product_meta .tagged_as { color: #55555a !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { opacity: 1 !important; }
.woocommerce-info, .woocommerce-message, .cart-empty.woocommerce-info { color: var(--bma-ink) !important; }
.woocommerce-info a, .woocommerce-message a { color: var(--bma-ink) !important; text-decoration: underline; }
.show-password-input { min-width: 32px; min-height: 32px; }

/* ---------- SEO-Inhalte: Unterzeile in der H1, Kollektionstext, FAQ ---------- */
.bma-cat-hero__sub { display: block; font-size: clamp(15px, 1.4vw, 19px); font-weight: 600; letter-spacing: .02em; line-height: 1.3; margin-top: 10px; color: var(--bma-muted); }
.bma-seo-text { border-top: 1px solid var(--bma-line); margin-top: 48px; padding: 48px 16px 24px; }
.bma-seo-text__inner { max-width: 820px; margin: 0 auto; color: var(--bma-ink); font-size: 16px; line-height: 1.7; }
.bma-seo-text h2 { font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 14px; }
.bma-seo-text h3 { font-size: 19px; margin: 28px 0 8px; }
.bma-seo-text a, .bma-faq a { color: var(--bma-ink); text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 3px; text-underline-offset: 2px; }
.bma-seo-text ul { padding-left: 1.2em; }
.bma-faq { margin-top: 36px; }
.bma-faq h2 { font-size: clamp(20px, 2vw, 26px); margin: 0 0 12px; }
.bma-faq__item { border-bottom: 1px solid var(--bma-line); }
.bma-faq__item summary { cursor: pointer; list-style: none; padding: 16px 36px 16px 0; font-weight: 600; position: relative; }
.bma-faq__item summary::-webkit-details-marker { display: none; }
.bma-faq__item summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--bma-yellow); color: #111; display: grid; place-items: center; font-weight: 700; line-height: 1; }
.bma-faq__item[open] summary::after { content: "–"; }
.bma-faq__item summary:focus-visible { outline: 2px solid var(--bma-ink); outline-offset: 2px; }
.bma-faq__a { padding: 0 0 16px; color: var(--bma-ink); }
.bma-faq__a p { margin: 0 0 8px; }
.bma-cat-hero__more { white-space: nowrap; font-weight: 600; color: var(--bma-ink); text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 3px; text-underline-offset: 2px; }
.bma-seo-text { scroll-margin-top: 90px; }

/* ---------- Ratgeber ---------- */
.bma-lead { font-size: 19px; line-height: 1.6; color: var(--bma-muted); }
.bma-tipp { background: #fff8d6; border-left: 4px solid var(--bma-yellow); border-radius: 0 var(--bma-radius) var(--bma-radius) 0; padding: 14px 18px; margin: 20px 0; }
.bma-tipp p { margin: 0; }
.entry-content .wp-block-table { overflow-x: auto; margin: 20px 0; }
.entry-content .wp-block-table table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: 15px; }
.entry-content .wp-block-table th, .entry-content .wp-block-table td { border: 1px solid var(--bma-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.entry-content .wp-block-table thead th { background: var(--bma-ink); color: #fff; }
.entry-content .wp-block-table tbody tr:nth-child(even) td { background: rgba(0,0,0,.025); }
.bma-ratgeber-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; list-style: none; padding: 0; margin: 24px 0; }
.bma-ratgeber-liste li { background: #fff; border: 1px solid var(--bma-line); border-radius: var(--bma-radius); padding: 20px; box-shadow: var(--bma-shadow); }
.bma-ratgeber-liste li a { font-weight: 700; font-size: 18px; color: var(--bma-ink); text-decoration: none; display: block; margin-bottom: 6px; }
.bma-ratgeber-liste li a:hover { text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 3px; }
.bma-ratgeber-liste li p { margin: 0; color: var(--bma-muted); font-size: 15px; }
.bma-ratgeber-weiter { border-top: 1px solid var(--bma-line); margin-top: 36px; padding-top: 20px; }
.entry-content ul.bma-ratgeber-liste { padding-left: 0; margin-left: 0; }

/* Buttons in Hinweisboxen (z. B. „Warenkorb anzeigen"): gelb mit schwarzer Schrift – die Link-Regel oben färbte sie schwarz auf schwarz */
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button,
.woocommerce-message a.button, .woocommerce-info a.button, .woocommerce-error a.button,
.woocommerce-notices-wrapper .button, a.button.wc-forward {
	background: var(--bma-yellow) !important; border-color: var(--bma-yellow) !important; color: var(--bma-ink) !important; text-decoration: none !important;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover, .woocommerce-error .button:hover, a.button.wc-forward:hover {
	background: var(--bma-ink) !important; border-color: var(--bma-ink) !important; color: #fff !important;
}

/* Warenkorb-Symbol: rot, sobald etwas drin liegt (Klasse setzt das Skript im Footer) */
.header-cart-button .header-cart-total { transition: background .2s, color .2s; }
.header-cart-button.bma-cart-filled,
.site-header-item .header-cart-inner-wrap .header-cart-button.bma-cart-filled,
.site-header-item .header-cart-inner-wrap .header-cart-button.bma-cart-filled:hover { color: #c8102e !important; }
.header-cart-button.bma-cart-filled svg { color: #c8102e !important; fill: currentColor; }
.site-header-item .header-cart-button.bma-cart-filled .header-cart-total,
.header-cart-button.bma-cart-filled .header-cart-total { background: #c8102e !important; color: #fff !important; font-weight: 700; }
.header-cart-button:not(.bma-cart-filled) .header-cart-total { opacity: .7; }

/* Gutschein-Button im Warenkorb: ausreichend Kontrast */
.woocommerce-cart .coupon .button, .woocommerce-cart .coupon button { background: var(--bma-ink) !important; border-color: var(--bma-ink) !important; color: #fff !important; }
.woocommerce-cart .coupon .button:hover, .woocommerce-cart .coupon button:hover { background: var(--bma-yellow) !important; border-color: var(--bma-yellow) !important; color: var(--bma-ink) !important; }

/* Galerie-Vorschaubilder unter dem Produktbild nicht stauchen */
.woocommerce div.product div.images .flex-control-thumbs li img { aspect-ratio: 1 / 1; object-fit: cover; height: auto; }

/* Startseite: feste H1 mit Suchbegriff über dem Slider – Logo-Blume + Text + feine Linie */
.bma-hero-h1 { display: flex; align-items: center; gap: 10px; margin: 0 0 16px !important; color: var(--bma-ink); line-height: 1.3; font-size: 14px !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bma-hero-h1::after { content: ""; flex: 1; height: 1px; background: var(--bma-line); min-width: 40px; }
.bma-hero-h1__blume { width: 26px; height: 26px; flex: none; }
@media (max-width: 600px) { .bma-hero-h1 { font-size: 11.5px !important; letter-spacing: .06em; } }
@media (max-width: 600px) { .bma-hero-h1::after { display: none; } }

/* Startseite: Kopfbereich (Hero) höher setzen – weniger Leerraum unter der Navigation */
.home .content-area { margin-top: 0 !important; }
.bma-section.bma-hero { padding-top: clamp(20px, 2.5vw, 36px) !important; }
@media (min-width: 901px) { .bma-hero .bma-slide { align-items: start; } .bma-hero .bma-slide__text { padding-top: clamp(24px, 4vw, 64px); } }
/* Ratgeber: Autorenzeile + Titelbild */
.bma-rg-meta { font-size: 14px; color: var(--bma-muted); margin: 0 0 18px; }
.bma-rg-meta a { color: inherit; text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 2px; }
.bma-rg-bild { margin: 0 0 28px; }
.bma-rg-bild img { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: var(--bma-radius); }

/* ---------- Seitenkopf normaler Seiten (inc/seitenkopf.php) ---------- */
.bma-page-hero h1 { margin: 0 0 12px; color: var(--bma-ink); font-weight: 700; letter-spacing: -.01em; line-height: 1.08; }
.bma-page-hero__intro { font-size: 18px; line-height: 1.55; color: #3a3a40; max-width: 40em; margin: 0; }
.bma-page-hero .bma-crumbs { margin-bottom: 12px; }
/* a – wie Kollektionen */
.bma-page-hero--a { background: var(--bma-paper); border-bottom: 1px solid var(--bma-line); overflow: hidden; }
.bma-page-hero--a .bma-page-hero__inner { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 24px 24px 28px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: center; }
.bma-page-hero--a h1 { font-size: clamp(32px, 4.2vw, 54px); }
.bma-page-hero--a .bma-eyebrow { margin-bottom: 4px !important; }
.bma-page-hero__bild { position: relative; height: 230px; }
.bma-page-hero__img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--bma-radius); box-shadow: var(--bma-shadow); transform: rotate(1.5deg); }
@media (max-width: 800px) { .bma-page-hero--a .bma-page-hero__inner { grid-template-columns: 1fr; gap: 16px; padding-top: 16px; } .bma-page-hero__bild { display: none; } }
/* b – Bildband */
.bma-page-hero--b { position: relative; background: #1b1b1f var(--bma-kopf-bild, none) center / cover no-repeat; }
.bma-page-hero--b::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,15,18,.86) 0%, rgba(15,15,18,.62) 55%, rgba(15,15,18,.35) 100%); }
.bma-page-hero--b .bma-page-hero__inner { position: relative; max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 44px 24px 48px; }
.bma-page-hero--b h1 { color: #fff; font-size: clamp(32px, 4.4vw, 56px); }
.bma-page-hero--b .bma-page-hero__intro, .bma-page-hero--b .bma-crumbs, .bma-page-hero--b .bma-crumbs a, .bma-page-hero--b .bma-eyebrow { color: rgba(255,255,255,.88) !important; }
/* c – schlicht */
.bma-page-hero--c .bma-page-hero__inner { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 28px 24px 8px; }
.bma-page-hero--c h1 { font-size: clamp(30px, 3.8vw, 48px); }
.bma-page-hero--c h1::after { content: ""; display: block; width: 72px; height: 5px; background: var(--bma-yellow); margin-top: 12px; }
/* Ratgeber: Titelbild steht bei a/b schon im Kopf */
body.bma-kopf-a .bma-rg-bild, body.bma-kopf-b .bma-rg-bild { display: none; }
.bma-reviews__score h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; margin: 0; font-weight: 600; }
.bma-page-hero--a .bma-page-hero__inner:not(:has(.bma-page-hero__bild)) { grid-template-columns: 1fr; }

/* ---------- Material-Seiten ---------- */
.bma-matinfo { display: grid; gap: 20px; margin: 24px 0; }
.bma-matinfo__item { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: 24px; align-items: center; background: #fff; border: 1px solid var(--bma-line); border-radius: var(--bma-radius); padding: 16px; }
.bma-matinfo__item .bma-mt__stage { border-radius: calc(var(--bma-radius) - 4px); }
.bma-matinfo__name { font-weight: 700; font-size: 20px; margin: 0 0 8px; }
.bma-matinfo__name span { display: block; font-weight: 500; font-size: 15px; color: var(--bma-muted); }
@media (max-width: 600px) { .bma-matinfo__item { grid-template-columns: 1fr; } }
.bma-preistabelle caption { caption-side: top; text-align: left; font-weight: 700; padding: 0 0 8px; }
.bma-preistabelle th small { display: block; font-weight: 400; font-size: 12px; opacity: .85; }
.bma-preistabelle td:not(:first-child), .bma-preistabelle th:not(:first-child) { text-align: right; }

/* interne Links zu Material-Seiten / Ratgeber */
.bma-seo-links { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--bma-line); font-size: 15px; line-height: 1.8; }
.bma-seo-links a, .bma-material-links a { color: var(--bma-ink); text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 2px; text-underline-offset: 2px; }
.bma-material-links { font-size: 14px; color: var(--bma-muted); margin: 12px 0 0; line-height: 1.7; }

/* Warenkorb/Kasse: Versandarten – Auswahlpunkt neben dem Text statt darüber */
#shipping_method.woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
#shipping_method.woocommerce-shipping-methods li { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 8px; text-align: left; }
#shipping_method.woocommerce-shipping-methods li input[type="radio"] { flex: none; margin: 4px 0 0; }
#shipping_method.woocommerce-shipping-methods li label { display: inline; margin: 0; line-height: 1.4; font-weight: 600; }
tr.bmvr-hinweis td { padding-top: 6px !important; padding-bottom: 10px !important; color: var(--bma-muted); line-height: 1.5; }
/* Handy: WooCommerce setzt vor jede Zelle „Spaltentitel: " – der Hinweis hat keinen Titel, sonst bleibt ein einzelner Doppelpunkt */
.woocommerce tr.bmvr-hinweis td::before { content: none !important; display: none !important; }
.woocommerce table.shop_table_responsive tr.bmvr-hinweis td, .woocommerce-page table.shop_table_responsive tr.bmvr-hinweis td, .woocommerce .cart_totals table tr.bmvr-hinweis td { text-align: left !important; }

/* ==========================================================================
   Kasse (30.09.2026: „mach die Seite schöner")
   Rechte Spalte als Karte, Zahlarten als Auswahlkarten, aufgeräumte Bestellübersicht, großer gelber Bestellknopf.
   ========================================================================== */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border-radius: 10px; }
.woocommerce-checkout form.checkout h3 { font-size: 20px; line-height: 1.3; margin: 0 0 16px; padding: 0 0 10px; border-bottom: 1px solid var(--bma-line); }
.woocommerce-checkout form.checkout h3::before { content: ""; display: inline-block; width: 22px; height: 3px; background: var(--bma-yellow); vertical-align: middle; margin: -3px 10px 0 0; }

/* Eingabefelder */
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout .select2-container .select2-selection--single { border-radius: 8px !important; min-height: 46px; border-color: #d6d1c6 !important; background: #fff; }
.woocommerce-checkout form.checkout textarea.input-text { min-height: 90px; }
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus { border-color: var(--bma-ink) !important; box-shadow: 0 0 0 3px rgba(255, 204, 0, .45) !important; outline: none; }
.woocommerce-checkout form.checkout .form-row label { font-weight: 600; font-size: 14px; color: var(--bma-ink); }
.woocommerce-checkout form.checkout .form-row label .optional { font-weight: 400; color: var(--bma-muted); }

/* „Lieferung an eine andere Adresse?" + „Konto erstellen" – keine Riesenüberschrift */
.woocommerce-checkout h3#ship-to-different-address { font-size: 16px; border: 0; padding: 0; margin: 18px 0 12px; }
.woocommerce-checkout h3#ship-to-different-address::before { display: none; }
.woocommerce-checkout h3#ship-to-different-address label,
.woocommerce-checkout .woocommerce-account-fields label.checkbox { display: inline-flex !important; align-items: center; gap: 10px; font-weight: 600; cursor: pointer; }
.woocommerce-checkout h3#ship-to-different-address input,
.woocommerce-checkout .woocommerce-account-fields input[type="checkbox"] { width: 18px; height: 18px; margin: 0 !important; accent-color: var(--bma-ink); }

/* Rechte Spalte als Karte */
.woocommerce-checkout #order_review { background: var(--bma-paper); border: 1px solid var(--bma-line); border-radius: 14px; padding: 24px 24px 28px; box-sizing: border-box; }
.woocommerce-checkout #order_review h3#order_review_heading { margin-top: 26px; padding-left: 0 !important; }

/* Zahlarten als Auswahlkarten */
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { display: grid; gap: 10px; margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { list-style: none; margin: 0 !important; padding: 14px 16px !important; background: #fff !important; border: 1.5px solid var(--bma-line); border-radius: 10px; transition: border-color .15s, box-shadow .15s; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) { border-color: var(--bma-ink); box-shadow: inset 5px 0 0 var(--bma-yellow); }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > input[type="radio"]:first-child { position: static !important; clip: auto !important; width: 18px !important; height: 18px !important; margin: 0 8px 0 0 !important; opacity: 1 !important; display: inline-block !important; accent-color: var(--bma-ink); vertical-align: -3px; }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label::before,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label::after { display: none !important; }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > input[type="radio"]:first-child + label,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > input[type="radio"]:first-child:checked + label { border: 0 !important; background: none !important; padding: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label { display: inline !important; margin: 0 !important; padding: 0 !important; background: none !important; font-weight: 700; font-size: 16px; cursor: pointer; }
.woocommerce-checkout #payment div.payment_box { background: transparent !important; margin: 6px 0 0 !important; padding: 0 0 0 26px !important; font-size: 14px; line-height: 1.55; color: var(--bma-muted); }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.bma-zahlhinweis { margin: 8px 0 0; font-size: 13px; color: var(--bma-muted); }
.bma-zahlhinweis strong { color: var(--bma-ink); }

/* AGB-Bestätigung */
.woocommerce-checkout p.checkbox-legal { background: #fff; border: 1px solid var(--bma-line); border-radius: 10px; padding: 12px 14px !important; margin: 0 0 16px !important; }
.woocommerce-checkout p.checkbox-legal label.checkbox { display: flex !important; align-items: flex-start; gap: 10px; margin: 0 !important; font-weight: 400; font-size: 14px; line-height: 1.55; }
.woocommerce-checkout p.checkbox-legal input.input-checkbox { flex: none; width: 18px; height: 18px; margin: 2px 0 0 !important; accent-color: var(--bma-ink); }

/* Bestellübersicht */
.woocommerce-checkout table.woocommerce-checkout-review-order-table { background: #fff; border: 1px solid var(--bma-line) !important; border-radius: 10px; border-collapse: separate !important; border-spacing: 0; overflow: hidden; margin: 0 0 18px !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td { padding: 12px 16px !important; border: 0 !important; border-top: 1px solid var(--bma-line) !important; vertical-align: top; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th { border-top: 0 !important; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--bma-muted); font-weight: 600; background: #fcfbf8; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-tax td { text-align: right; white-space: nowrap; }
.woocommerce-checkout .wc-gzd-cart-item-name-wrapper { display: flex; align-items: center; gap: 12px; font-weight: 700; line-height: 1.35; }
.woocommerce-checkout .wc-gzd-cart-item-thumbnail { flex: none; margin: 0 !important; }
.woocommerce-checkout .wc-gzd-cart-item-thumbnail img { width: 60px !important; height: 60px !important; object-fit: cover; border-radius: 6px; display: block; }
.woocommerce-checkout .wc-gzd-cart-item-name-wrapper .product-quantity { font-weight: 400; color: var(--bma-muted); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 8px 0 0 72px; font-size: 13px; line-height: 1.45; color: var(--bma-muted); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dt { float: none; margin: 0; font-weight: 600; color: var(--bma-ink); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dd { float: none; margin: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dd p { margin: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; text-align: left; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table { width: 100% !important; table-layout: auto; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td { text-align: left; white-space: normal; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th.product-name { width: 60%; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td #shipping_method li { flex-wrap: nowrap !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td #shipping_method li label { flex: 1 1 auto; min-width: 0; width: auto !important; font-weight: 600; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method li { margin-bottom: 6px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.bmvr-hinweis td { border-top: 0 !important; padding-top: 0 !important; font-size: 12px; text-align: left; white-space: normal; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td { font-size: 19px; font-weight: 800; border-top: 2px solid var(--bma-ink) !important; background: #fffbe6; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-tax th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-tax td { border-top: 0 !important; padding-top: 0 !important; font-size: 13px; font-weight: 400; color: var(--bma-muted); background: #fffbe6; }

/* Bestellknopf */
.woocommerce-checkout .wc-gzd-order-submit { margin-top: 4px; }
.woocommerce-checkout #place_order { display: block; width: 100%; float: none; margin: 0; padding: 18px 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--bma-yellow) !important; color: var(--bma-ink) !important; font-size: 18px !important; font-weight: 800; letter-spacing: .01em; box-shadow: 0 8px 20px -8px rgba(22, 22, 26, .45); transition: transform .12s, box-shadow .12s, background .12s; }
.woocommerce-checkout #place_order:hover { background: #ffd633 !important; transform: translateY(-1px); box-shadow: 0 12px 24px -10px rgba(22, 22, 26, .5); }
.woocommerce-checkout #place_order:focus-visible { outline: 3px solid var(--bma-ink); outline-offset: 3px; }
.bma-kasse-vertrauen { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 12px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--bma-muted); }
.bma-kasse-vertrauen li::before { content: "✓"; color: #2e8b57; font-weight: 700; margin-right: 6px; }

/* Bestellübersicht als gestapelte Zeilen (statt 2-Spalten-Tabelle) – Versandarten bekommen die volle Breite */
.woocommerce-checkout table.woocommerce-checkout-review-order-table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot { display: block; width: 100% !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-top: 1px solid var(--bma-line); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead tr { border-top: 0; background: #fcfbf8; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:first-child { border-top: 1px solid var(--bma-line); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td { display: block; border-top: 0 !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { flex: 1 1 auto; min-width: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping { flex-direction: column; gap: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th { padding-bottom: 8px !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td { padding-top: 0 !important; width: 100%; box-sizing: border-box; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.bmvr-hinweis { border-top: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.bmvr-hinweis td { width: 100%; box-sizing: border-box; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total { border-top: 2px solid var(--bma-ink); background: #fffbe6; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td { border-top: 0 !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-tax { border-top: 0; background: #fffbe6; }

/* Versandarten als Auswahlkarten */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method { display: grid; gap: 8px; margin: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method li { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 11px 14px; background: #fff; border: 1.5px solid var(--bma-line); border-radius: 10px; transition: border-color .15s, box-shadow .15s; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method li:has(input:checked) { border-color: var(--bma-ink); box-shadow: inset 5px 0 0 var(--bma-yellow); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method li input[type="radio"] { flex: none; width: 18px; height: 18px; margin: 0 !important; accent-color: var(--bma-ink); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method li label { flex: 1 1 auto; margin: 0; font-weight: 600; line-height: 1.35; cursor: pointer; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping #shipping_method li label .amount { white-space: nowrap; }

@media (max-width: 767px) {
	.woocommerce-checkout #order_review { padding: 18px 14px 22px; margin-top: 18px; }
	.woocommerce-checkout table.woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:first-child { border-top: 0; }
	.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout table.woocommerce-checkout-review-order-table td { padding: 10px 12px !important; }
	.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation { margin-left: 0; }
}

/* Kopf auf Warenkorb/Kasse/Danke: kompakt mit Fortschritt */
.bma-kasse-kopf { background: var(--bma-paper); border-bottom: 1px solid var(--bma-line); padding: 26px 0 22px; }
.bma-kasse-kopf__inner { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }
.bma-kasse-kopf h1 { margin: 0; font-size: clamp(28px, 3.2vw, 38px); line-height: 1.15; }
.bma-kasse-kopf .bma-eyebrow { margin-bottom: 6px !important; }
.bma-schritte { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.bma-schritt { display: flex; align-items: center; font-size: 14px; font-weight: 600; color: var(--bma-muted); }
.bma-schritt + .bma-schritt::before { content: ""; width: 38px; height: 2px; background: var(--bma-line); margin: 0 10px; }
.bma-schritt--fertig + .bma-schritt::before,
.bma-schritt--aktiv::before { background: var(--bma-ink) !important; }
.bma-schritt a { display: flex; align-items: center; color: inherit; text-decoration: none; }
.bma-schritt a:hover .bma-schritt__name { text-decoration: underline; }
.bma-schritt__nr { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; margin-right: 8px; border: 2px solid var(--bma-line); background: #fff; font-size: 13px; font-weight: 700; color: var(--bma-muted); }
.bma-schritt--aktiv { color: var(--bma-ink); }
.bma-schritt--aktiv .bma-schritt__nr { background: var(--bma-yellow); border-color: var(--bma-yellow); color: var(--bma-ink); }
.bma-schritt--fertig { color: var(--bma-ink); }
.bma-schritt--fertig .bma-schritt__nr { background: var(--bma-ink); border-color: var(--bma-ink); color: #fff; }
.bma-kasse-seite .content-area { margin-top: 28px; }
@media (max-width: 767px) {
	.bma-kasse-kopf { padding: 18px 0 16px; }
	.bma-schritt + .bma-schritt::before { width: 16px; margin: 0 6px; }
	.bma-schritt__name { font-size: 13px; }
}

/* Warenkorb-Summe: Versandarten ebenfalls über die volle Breite als Auswahlkarten */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals { display: flex; flex-direction: column; }
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th,
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td { display: block; width: 100%; box-sizing: border-box; text-align: left !important; }
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th { padding-bottom: 6px; border-bottom: 0; }
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td { padding-top: 0; }
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td::before { display: none !important; }
.woocommerce-cart .cart_totals #shipping_method { display: grid; gap: 8px; margin: 0 0 8px; }
.woocommerce-cart .cart_totals #shipping_method li { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 12px; background: #fff; border: 1.5px solid var(--bma-line); border-radius: 10px; }
.woocommerce-cart .cart_totals #shipping_method li:has(input:checked) { border-color: var(--bma-ink); box-shadow: inset 5px 0 0 var(--bma-yellow); }
.woocommerce-cart .cart_totals #shipping_method li input[type="radio"] { flex: none; width: 18px; height: 18px; margin: 0 !important; accent-color: var(--bma-ink); }
.woocommerce-cart .cart_totals #shipping_method li label { flex: 1 1 auto; margin: 0; font-weight: 600; line-height: 1.35; cursor: pointer; }
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator { margin: 4px 0 0; }
@media (min-width: 768px) {
	.woocommerce-cart .cart_totals table.shop_table,
	.woocommerce-cart .cart_totals table.shop_table tbody { display: block; width: 100%; }
	.woocommerce-cart .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; border-top: 1px solid var(--bma-line); }
	.woocommerce-cart .cart_totals table.shop_table tr:first-child { border-top: 0; }
	.woocommerce-cart .cart_totals table.shop_table th,
	.woocommerce-cart .cart_totals table.shop_table td { display: block; border: 0 !important; }
	.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
	.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals { flex-direction: column; gap: 0; }
	.woocommerce-cart .cart_totals table.shop_table tr.bmvr-hinweis td { width: 100%; }
	.woocommerce-cart .cart_totals table.shop_table tr.order-total { border-top: 2px solid var(--bma-ink); }
}
.woocommerce-cart .cart_totals table.shop_table tr.order-tax th,
.woocommerce-cart .cart_totals table.shop_table tr.tax-total th { white-space: nowrap; }

/* ---------- SEO/GEO-Paket 1 (05.10.2026): Anfrage-Kasten, Linkleiste, „auf einen Blick", Preisübersicht ---------- */
.bma-anfrage { background: var(--bma-paper); border: 1px solid var(--bma-line); border-left: 5px solid var(--bma-yellow); border-radius: var(--bma-radius); padding: 22px 24px; margin: 32px 0; }
.bma-anfrage p { margin: 0 0 10px; }
.bma-anfrage__titel { font-size: 21px; font-weight: 700; letter-spacing: -.01em; }
.bma-anfrage__knoepfe { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 12px !important; }
.bma-anfrage__knoepfe a { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: var(--bma-radius); font-weight: 700; text-decoration: none; }
.bma-anfrage__mail { background: var(--bma-yellow); color: var(--bma-ink); }
.bma-anfrage__mail:hover { background: #f2c200; color: var(--bma-ink); }
.bma-anfrage__tel { border: 2px solid var(--bma-ink); color: var(--bma-ink); }
.bma-anfrage__tel:hover { background: var(--bma-ink); color: #fff; }
.bma-anfrage__info { font-size: 14px; color: var(--bma-muted); margin: 0 !important; }

.bma-linkleiste { border-top: 1px solid var(--bma-line); background: #fff; }
.bma-linkleiste__inner { max-width: 1290px; margin: 0 auto; padding: 18px 16px; font-size: 14px; line-height: 2; }
.bma-linkleiste p { margin: 0; }
.bma-linkleiste a { color: var(--bma-ink); text-decoration: none; display: inline-block; padding: 2px 0; }
.bma-linkleiste a:hover { text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 3px; }
.bma-linkleiste span { color: var(--bma-muted); }

.bma-blick { clear: both; max-width: 860px; margin: 40px 0 8px; padding: 24px; background: var(--bma-paper); border-radius: var(--bma-radius); }
.bma-blick h2 { font-size: clamp(20px, 2vw, 24px); margin: 0 0 14px; }
.bma-blick dl { display: grid; grid-template-columns: 9.5em 1fr; gap: 8px 16px; margin: 0 0 14px; }
.bma-blick dt { font-weight: 700; }
.bma-blick dd { margin: 0; }
.bma-blick a { color: var(--bma-ink); text-decoration: underline; text-decoration-color: var(--bma-yellow); text-decoration-thickness: 3px; text-underline-offset: 2px; }
.bma-blick p { margin: 0; color: var(--bma-muted); }
@media (max-width: 600px) {
	.bma-blick { padding: 18px 16px; }
	.bma-blick dl { grid-template-columns: 1fr; gap: 2px; }
	.bma-blick dd { margin-bottom: 10px; }
}
.bma-preisuebersicht { overflow-x: auto; }
.bma-preisuebersicht td:not(:first-child), .bma-preisuebersicht th:not(:first-child) { text-align: right; white-space: nowrap; }

/* ---------- Über uns: Maschinenpark (08.10.2026, Vorlage einlegerdruck.de, ohne Fräse) ---------- */
.bma-mp { margin: 40px 0; padding: 32px 30px 30px; border-radius: 18px; background: linear-gradient(180deg, #fbfaf7 0%, var(--bma-paper) 100%); border: 1px solid var(--bma-line); }
.bma-mp h2 { margin: 0 0 6px; }
.bma-mp__eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8a6d00; }
.bma-mp__sub { color: var(--bma-muted); margin: 0 0 22px; }
.bma-mp__maschinen { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.bma-mp__maschine { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bma-line); border-radius: 16px; overflow: hidden; box-shadow: 0 18px 34px -26px rgba(0,0,0,.35); transition: transform .2s, border-color .2s; }
.bma-mp__maschine:hover { transform: translateY(-3px); border-color: var(--bma-yellow); }
.bma-mp__foto { position: relative; margin: 10px 10px 0; height: 270px; display: grid; place-items: center; padding: 18px 14px 12px; border-radius: 12px; overflow: hidden; background: radial-gradient(70% 80% at 50% 55%, #fff 0%, #f6f5f1 65%, #ece9e3 100%); }
.bma-mp__rahmen { position: relative; display: inline-block; height: 234px; }
.bma-mp__rahmen img { display: block; height: 234px !important; width: auto !important; max-width: none; }
.bma-mp__foto figcaption { position: absolute; right: 12px; bottom: 6px; font-size: 10px; color: #9b978f; }
.bma-mp__text { padding: 18px 22px 22px; }
.bma-mp__marke { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; background: var(--bma-yellow); color: var(--bma-ink); border-radius: 20px; padding: 2px 10px; margin-bottom: 8px; }
.bma-mp__text strong { display: block; font-size: 1.2rem; margin: 0 0 8px; }
.entry-content .bma-mp__text ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.bma-mp__text li { position: relative; padding-left: 22px; color: #4f4d49; font-size: .95rem; }
.bma-mp__text li::before { content: "\2713"; position: absolute; left: 0; color: #8a6d00; font-weight: 900; }
/* Epson: Bahn läuft schrittweise nach unten auf die Rolle */
.bma-mp__papier { position: absolute; left: 15.2%; top: 27.6%; width: 63.6%; height: 59.2%; overflow: hidden; background: #f3f2ee; }
.bma-mp__bahn { position: absolute; left: 0; top: 0; width: 100%; height: 200%; animation: bma-mp-bahn 16s steps(80, end) infinite; }
.bma-mp__druck { display: block; height: 50%; box-sizing: border-box; border-bottom: 5px solid #f3f2ee; background-repeat: no-repeat; background-size: 157.2% 168.4%; background-position: 41.8% 67.9%; background-origin: border-box; }
@keyframes bma-mp-bahn { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.bma-mp__rolle { position: absolute; left: 14.2%; width: 65.6%; top: 83.6%; height: 6.4%; border-radius: 999px; background: linear-gradient(180deg, #6b5200 0%, #c99a00 22%, #ffcc00 40%, #fff1b8 50%, #e0b000 62%, #7a5d00 85%, #3d2e00 100%); box-shadow: inset 0 0 0 1px rgba(0,0,0,.15), 0 3px 6px -2px rgba(0,0,0,.45); }
.bma-mp__rolle::before, .bma-mp__rolle::after { content: ""; position: absolute; top: -12%; width: 3.5%; height: 124%; border-radius: 3px; background: linear-gradient(90deg, #2b2a29, #55534f, #2b2a29); }
.bma-mp__rolle::before { left: -2%; } .bma-mp__rolle::after { right: -2%; }
.bma-mp__schlitten { position: absolute; top: 26.4%; left: 16%; width: 7%; height: 2.4%; border-radius: 3px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent); box-shadow: 0 0 8px 2px rgba(255,255,255,.6); animation: bma-mp-schlitten .8s ease-in-out infinite alternate; }
@keyframes bma-mp-schlitten { to { left: 71%; } }
/* swissQprint: Portal fährt über den Tisch, Kopf auf der Brücke, dahinter entsteht das Motiv */
.bma-mp__foto--swissqprint .bma-mp__rahmen { mix-blend-mode: multiply; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 74%, transparent 97%), linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 74%, transparent 97%), linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%); mask-composite: intersect; }
.bma-mp__portal { position: absolute; left: 17.429%; top: 8.791%; width: 82.026%; transform-origin: 11.95% 47.3%; animation: bma-mp-portal 16s linear infinite; }
.bma-mp__portal > img, .bma-mp__kopf img { display: block; width: 100% !important; height: auto !important; }
@keyframes bma-mp-portal { 0%, 3% { left: .544%; top: 17.11%; transform: rotate(5.2deg) scale(1.03); } 78%, 88% { left: 17.429%; top: 8.791%; transform: rotate(0) scale(1); } 100% { left: .544%; top: 17.11%; transform: rotate(5.2deg) scale(1.03); } }
.bma-mp__kopf { position: absolute; left: 47.41%; top: 29.56%; width: 23.77%; transform-origin: 0 100%; animation: bma-mp-kopf 2.6s ease-in-out infinite; }
@keyframes bma-mp-kopf { 0%, 4% { left: 47.41%; top: 29.56%; transform: scale(1); } 46%, 54% { left: 14.21%; top: 13.79%; transform: scale(.86); } 96%, 100% { left: 47.41%; top: 29.56%; transform: scale(1); } }
.bma-mp__uv { position: absolute; left: 6%; top: 84%; width: 88%; height: 14%; border-radius: 50%; transform: rotate(6.5deg); filter: blur(1.5px); background: radial-gradient(ellipse at center, rgba(70,95,255,.95), rgba(70,95,255,.45) 50%, transparent 72%); box-shadow: 0 0 14px 4px rgba(80,100,255,.35); animation: bma-mp-uv 1.6s ease-in-out infinite; }
@keyframes bma-mp-uv { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
.bma-mp__leer { position: absolute; inset: 0; background: #f3f4f6; pointer-events: none; animation: bma-mp-druck 16s linear infinite; }
@keyframes bma-mp-druck {
  0%, 3% { clip-path: polygon(10.3% 32.2%, 60.6% 47.1%, 76.6% 31.9%, 27.2% 23.9%); opacity: 1; }
  78%, 88% { clip-path: polygon(27.2% 23.9%, 76.6% 31.9%, 76.6% 31.9%, 27.2% 23.9%); opacity: 1; }
  88.1% { clip-path: polygon(10.3% 32.2%, 60.6% 47.1%, 76.6% 31.9%, 27.2% 23.9%); opacity: 0; }
  100% { clip-path: polygon(10.3% 32.2%, 60.6% 47.1%, 76.6% 31.9%, 27.2% 23.9%); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .bma-mp__bahn, .bma-mp__schlitten, .bma-mp__portal, .bma-mp__kopf, .bma-mp__leer, .bma-mp__uv { animation: none; } .bma-mp__leer { display: none; } }
@media (max-width: 760px) { .bma-mp { padding: 22px 16px; } .bma-mp__maschinen { grid-template-columns: 1fr; } .bma-mp__foto { height: 220px; } }
@media (max-width: 520px) { .bma-mp__foto { height: 196px; } .bma-mp__rahmen, .bma-mp__rahmen img { height: 164px !important; } }

/* ownART-Datenanlage: Prompt-Anleitung (Seite + Produktreiter) */
.bmou-prompt ol.bmou-prompt__bausteine, .bmou-prompt ul.bmou-upscale { padding-left: 0; margin-left: 0; } /* Theme-Einzug der Listen aufheben */
.bmou-prompt { margin: 1.6em 0; }
.bmou-prompt h4 { margin: 0 0 .4em; }
.bmou-prompt__bausteine { list-style: none; counter-reset: baustein; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0; margin: 12px 0 18px; margin-left: 0; }
.bmou-prompt__bausteine li { counter-increment: baustein; background: var(--bma-paper); border: 1px solid var(--bma-line); border-radius: var(--bma-radius); padding: 12px 14px; margin: 0; font-size: 14px; line-height: 1.45; }
.bmou-prompt__bausteine li::before { content: counter(baustein); display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 8px; border-radius: 50%; background: var(--bma-yellow); color: var(--bma-ink); font-size: 12px; font-weight: 700; vertical-align: 1px; }
.bmou-prompt__bausteine strong { font-size: 15px; }
.bmou-prompt__bausteine span { display: block; margin-top: 6px; color: var(--bma-muted); }
.bmou-prompt__hinweis { background: #fffaeb; border: 1px solid #f1e2a6; border-radius: var(--bma-radius); padding: 12px 16px; font-size: 14.5px; line-height: 1.5; }
.bmou-prompt__beispiele { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 10px 0 16px; }
.bmou-prompt__karte { margin: 0; background: #fff; border: 1px solid var(--bma-line); border-left: 4px solid var(--bma-yellow); border-radius: var(--bma-radius); padding: 12px 16px; }
.bmou-prompt__karte figcaption { margin: 0 0 6px; color: var(--bma-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bmou-prompt__karte p { margin: 0; font-size: 14.5px; line-height: 1.55; font-style: italic; }
.bmou-prompt__tipp { font-size: 14.5px; }
.bmou-prompt__klein { color: var(--bma-muted); font-size: 13px; }
.bmou-upscale { list-style: none; padding: 0; margin: 10px 0; margin-left: 0; border-top: 1px solid var(--bma-line); }
.bmou-upscale li { display: grid; grid-template-columns: 230px 1fr; gap: 12px; margin: 0; padding: 10px 0; border-bottom: 1px solid var(--bma-line); font-size: 14.5px; line-height: 1.5; }
.bmou-upscale span { color: var(--bma-muted); }
@media (max-width: 760px) {
	.bmou-prompt__bausteine { grid-template-columns: 1fr 1fr; }
	.bmou-prompt__beispiele { grid-template-columns: 1fr; }
	.bmou-upscale li { grid-template-columns: 1fr; gap: 2px; }
}
@media (max-width: 340px) {
	.bmou-prompt__bausteine { grid-template-columns: 1fr; }
}
