/* Basis-Stylesheet: Variablen, Typografie, Formulare, Layout-Raster, Sitewide-Komponenten. Lädt auf allen Frontend-Seiten. */
:root {
	--theme-color-ink: #003973;
	--theme-color-blue: #003973;
	--theme-color-blue-dark: #003973;
	--theme-color-blue-secondary: #0075ad;
	--theme-color-outline: #288cbf;
	--theme-color-accent: #e4b632;
	--theme-color-sky: #edf7fb;
	--theme-color-surface: #ffffff;
	--theme-color-muted: #626a73;
	--theme-color-line: #e2e8f0;
	--theme-color-danger: #b42318;
	--theme-color-success: #067647;
	--theme-notice-background: #f8fbfe;
	--theme-notice-border: #d8e5ef;
	--theme-notice-color: #334155;
	--theme-notice-shadow: 0 2px 8px rgb(16 35 62 / 4%);
	--theme-color-focus: #288cbf;
	--theme-focus-ring: 0 0 0 3px rgb(40 140 191 / 28%);
	--theme-field-background: #ffffff;
	--theme-field-color: #003973;
	--theme-field-border: #b8c1ca;
	--theme-field-height: 3.35rem;
	--theme-field-shadow: 0 .75rem 1.75rem rgb(16 35 62 / 8%);
	--theme-space-xs: .5rem;
	--theme-space-s: .75rem;
	--theme-space-m: 1rem;
	--theme-space-l: 1.5rem;
	--theme-space-xl: 2rem;
	--theme-radius: 1rem;
	--theme-radius-s: .5rem;
	--theme-shadow: 0 1rem 2.5rem rgb(16 35 62 / 12%);
	--theme-card-shadow: 0 .75rem 1.75rem rgb(16 35 62 / 5%);
	--theme-container-size-default: 67.5rem;
	--theme-container-size-reference: var(--theme-container-size-default);
	--theme-container-size-product: 66rem;
	--theme-container-size-narrow: 60rem;
	--theme-container-size-review: 53.75rem;
	--theme-container-size-form: 42rem;
	--theme-content-width: var(--theme-container-size-default);
	--theme-container-width: calc(100% - 2rem);
	--theme-section-space: clamp(3rem, 5vw, 4rem);
	--theme-section-transition-space: clamp(7rem, 10vw, 8rem);
	--theme-hero-offset: calc(3.375rem + 6vw);
	--theme-adminbar-offset: 0px;
	/* Zentrale Inline-SVG-Masken (Quelle: Font Awesome Free 7.0.1, CC BY 4.0) */
	--theme-icon-address-card: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M64%2032C28.7%2032%200%2060.7%200%2096L0%20416c0%2035.3%2028.7%2064%2064%2064l448%200c35.3%200%2064-28.7%2064-64l0-320c0-35.3-28.7-64-64-64L64%2032zm80%20256l64%200c44.2%200%2080%2035.8%2080%2080%200%208.8-7.2%2016-16%2016L80%20384c-8.8%200-16-7.2-16-16%200-44.2%2035.8-80%2080-80zm-24-96a56%2056%200%201%201%20112%200%2056%2056%200%201%201%20-112%200zm240-48l112%200c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024l-112%200c-13.3%200-24-10.7-24-24s10.7-24%2024-24zm0%2096l112%200c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024l-112%200c-13.3%200-24-10.7-24-24s10.7-24%2024-24z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-bag-shopping: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M160%2080c0-35.3%2028.7-64%2064-64s64%2028.7%2064%2064l0%2048-128%200%200-48zm-48%2048l-64%200c-26.5%200-48%2021.5-48%2048L0%20384c0%2053%2043%2096%2096%2096l256%200c53%200%2096-43%2096-96l0-208c0-26.5-21.5-48-48-48l-64%200%200-48c0-61.9-50.1-112-112-112S112%2018.1%20112%2080l0%2048zm24%2048a24%2024%200%201%201%200%2048%2024%2024%200%201%201%200-48zm152%2024a24%2024%200%201%201%2048%200%2024%2024%200%201%201%20-48%200z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-chevron-down: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M201.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200l192-192c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L224%20338.7%2054.6%20169.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l192%20192z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-chevron-right: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M311.1%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-192%20192c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L243.2%20256%2073.9%2086.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l192%20192z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-circle-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%20512A256%20256%200%201%200%20256%200a256%20256%200%201%200%200%20512zM369%20209L241%20337c-9.4%209.4-24.6%209.4-33.9%200l-64-64c-9.4-9.4-9.4-24.6%200-33.9s24.6-9.4%2033.9%200l47%2047L335%20175c9.4-9.4%2024.6-9.4%2033.9%200s9.4%2024.6%200%2033.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-circle-exclamation: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%20512A256%20256%200%201%200%20256%200a256%20256%200%201%200%200%20512zm0-384c13.3%200%2024%2010.7%2024%2024l0%20112c0%2013.3-10.7%2024-24%2024s-24-10.7-24-24l0-112c0-13.3%2010.7-24%2024-24zm32%20224a32%2032%200%201%201%20-64%200%2032%2032%200%201%201%2064%200z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-circle-chevron-right: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M0%20256a256%20256%200%201%200%20512%200%20256%20256%200%201%200%20-512%200zM241%20377c-9.4%209.4-24.6%209.4-33.9%200s-9.4-24.6%200-33.9l87-87-87-87c-9.4-9.4-9.4-24.6%200-33.9s24.6-9.4%2033.9%200L345%20239c9.4%209.4%209.4%2024.6%200%2033.9L241%20377z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-credit-card: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M0%20128l0%2032%20512%200%200-32c0-35.3-28.7-64-64-64L64%2064C28.7%2064%200%2092.7%200%20128zm0%2080L0%20384c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-176-512%200zM64%20360c0-13.3%2010.7-24%2024-24l48%200c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024l-48%200c-13.3%200-24-10.7-24-24zm144%200c0-13.3%2010.7-24%2024-24l64%200c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024l-64%200c-13.3%200-24-10.7-24-24z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-download: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M256%2032c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%20210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l96%2096c12.5%2012.5%2032.8%2012.5%2045.3%200l96-96c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L256%20242.7%20256%2032zM64%20320c-35.3%200-64%2028.7-64%2064l0%2032c0%2035.3%2028.7%2064%2064%2064l320%200c35.3%200%2064-28.7%2064-64l0-32c0-35.3-28.7-64-64-64l-46.9%200-56.6%2056.6c-31.2%2031.2-81.9%2031.2-113.1%200L110.9%20320%2064%20320zm304%2056a24%2024%200%201%201%200%2048%2024%2024%200%201%201%200-48z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-droplet: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M192%20512C86%20512%200%20426%200%20320%200%20228.8%20130.2%2045.9%20166.6-3.5%20172.5-11.5%20181.8-16%20191.8-16l.4%200c10%200%2019.3%204.5%2025.2%2012.5%2036.4%2049.4%20166.6%20232.3%20166.6%20323.5%200%20106-86%20192-192%20192zM112%20312c0-13.3-10.7-24-24-24s-24%2010.7-24%2024c0%2075.1%2060.9%20136%20136%20136%2013.3%200%2024-10.7%2024-24s-10.7-24-24-24c-48.6%200-88-39.4-88-88z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-ellipsis: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M0%20256a56%2056%200%201%201%20112%200%2056%2056%200%201%201%20-112%200zm168%200a56%2056%200%201%201%20112%200%2056%2056%200%201%201%20-112%200zm224-56a56%2056%200%201%201%200%20112%2056%2056%200%201%201%200-112z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-envelope: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M48%2064c-26.5%200-48%2021.5-48%2048%200%2015.1%207.1%2029.3%2019.2%2038.4l208%20156c17.1%2012.8%2040.5%2012.8%2057.6%200l208-156c12.1-9.1%2019.2-23.3%2019.2-38.4%200-26.5-21.5-48-48-48L48%2064zM0%20196L0%20384c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-188-198.4%20148.8c-34.1%2025.6-81.1%2025.6-115.2%200L0%20196z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-eye: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M288%2032c-80.8%200-145.5%2036.8-192.6%2080.6-46.8%2043.5-78.1%2095.4-93%20131.1-3.3%207.9-3.3%2016.7%200%2024.6%2014.9%2035.7%2046.2%2087.7%2093%20131.1%2047.1%2043.7%20111.8%2080.6%20192.6%2080.6s145.5-36.8%20192.6-80.6c46.8-43.5%2078.1-95.4%2093-131.1%203.3-7.9%203.3-16.7%200-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144%20256a144%20144%200%201%201%20288%200%20144%20144%200%201%201%20-288%200zm144-64c0%2035.3-28.7%2064-64%2064-11.5%200-22.3-3-31.7-8.4-1%2010.9-.1%2022.1%202.9%2033.2%2013.7%2051.2%2066.4%2081.6%20117.6%2067.9s81.6-66.4%2067.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8%205.3%209.3%208.4%2020.1%208.4%2031.7z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-facebook-f: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M80%20299.3l0%20212.7%20116%200%200-212.7%2086.5%200%2018-97.8-104.5%200%200-34.6c0-51.7%2020.3-71.5%2072.7-71.5%2016.3%200%2029.4%20.4%2037%201.2l0-88.7C291.4%204%20256.4%200%20236.2%200%20129.3%200%2080%2050.5%2080%20159.4l0%2042.1-66%200%200%2097.8%2066%200z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-house: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M277.8%208.6c-12.3-11.4-31.3-11.4-43.5%200l-224%20208c-9.6%209-12.8%2022.9-8%2035.1S18.8%20272%2032%20272l16%200%200%20176c0%2035.3%2028.7%2064%2064%2064l288%200c35.3%200%2064-28.7%2064-64l0-176%2016%200c13.2%200%2025-8.1%2029.8-20.3s1.6-26.2-8-35.1l-224-208zM240%20320l32%200c26.5%200%2048%2021.5%2048%2048l0%2096-128%200%200-96c0-26.5%2021.5-48%2048-48z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-logout: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M505%20273c9.4-9.4%209.4-24.6%200-33.9L361%2095c-6.9-6.9-17.2-8.9-26.2-5.2S320%20102.3%20320%20112l0%2080-112%200c-26.5%200-48%2021.5-48%2048l0%2032c0%2026.5%2021.5%2048%2048%2048l112%200%200%2080c0%209.7%205.8%2018.5%2014.8%2022.2s19.3%201.7%2026.2-5.2L505%20273zM160%2096c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L96%2032C43%2032%200%2075%200%20128L0%20384c0%2053%2043%2096%2096%2096l64%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-64%200c-17.7%200-32-14.3-32-32l0-256c0-17.7%2014.3-32%2032-32l64%200z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	/* Suchlupe eigenständig gezeichnet: Ring und Griff mit gleicher Strichstärke, optisch mittig in der Box */
	--theme-icon-search: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.75%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M15.7%2015.7l5.05%205.05%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-seedling: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M512%2032C512%20140.1%20435.4%20230.3%20333.6%20251.4%20325.7%20193.3%20299.6%20141%20261.1%20100.5%20301.2%2040%20369.9%200%20448%200l32%200c17.7%200%2032%2014.3%2032%2032zM0%2096C0%2078.3%2014.3%2064%2032%2064l32%200c123.7%200%20224%20100.3%20224%20224l0%20192c0%2017.7-14.3%2032-32%2032s-32-14.3-32-32l0-160C100.3%20320%200%20219.7%200%2096z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-star: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3%205.1-21.4%2013.1L193.1%20125.3%2033.2%20150.7c-8.9%201.4-16.3%207.7-19.1%2016.3s-.5%2018%205.8%2024.4l114.4%20114.5-25.2%20159.9c-1.4%208.9%202.3%2017.9%209.6%2023.2s16.9%206.1%2025%202L288.1%20417.6%20432.4%20491c8%204.1%2017.7%203.3%2025-2s11-14.2%209.6-23.2L441.7%20305.9%20556.1%20191.4c6.4-6.4%208.6-15.8%205.8-24.4s-10.1-14.9-19.1-16.3L383%20125.3%20309.5-18.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-user-gear: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%3E%3Cpath%20d%3D%22M256.5%208a120%20120%200%201%201%200%20240%20120%20120%200%201%201%200-240zM226.7%20304l59.4%200%201.5%200c-12.9%2026.8-7.8%2058.2%2011.5%2079.5-20.2%2022.3-24.8%2055.8-9.4%2083.4l22.5%2040.4c.9%201.6%201.9%203.2%202.9%204.7l-237%200c-16.4%200-29.7-13.3-29.7-29.7%200-98.5%2079.8-178.3%20178.3-178.3zm205.9-56.4c0-13.3%2010.7-24%2024-24l48%200c13.3%200%2024%2010.7%2024%2024l0%206.1c0%2018.9%2024.1%2032.8%2040.5%2023.4l5-2.9c11.6-6.7%2026.5-2.6%2033%209.1l22.4%2040.2c6.2%2011.2%202.6%2025.2-8.2%2032l-4.7%202.9c-16.2%2010.1-16.2%2039.9%200%2050.1l4.6%202.9c10.8%206.8%2014.5%2020.8%208.3%2032L607%20483.8c-6.5%2011.7-21.4%2015.9-33%209.1l-4.9-2.9c-16.4-9.5-40.5%204.5-40.5%2023.4l0%206.1c0%2013.3-10.7%2024-24%2024l-48%200c-13.3%200-24-10.7-24-24l0-5.9c0-19-24.2-33-40.7-23.5l-4.8%202.8c-11.6%206.7-26.4%202.6-33-9.1l-22.6-40.4c-6.2-11.2-2.6-25.3%208.3-32.1l4.4-2.7c16.3-10.1%2016.3-40.1%200-50.2l-4.5-2.8c-10.9-6.8-14.5-20.9-8.3-32.1l22.5-40.3c6.5-11.7%2021.4-15.8%2032.9-9.1l4.8%202.8c16.5%209.5%2040.7-4.5%2040.7-23.5l0-5.9zm99.9%20136.2a52%2052%200%201%200%20-104%200%2052%2052%200%201%200%20104%200z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-whatsapp: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M380.9%2097.1c-41.9-42-97.7-65.1-157-65.1-122.4%200-222%2099.6-222%20222%200%2039.1%2010.2%2077.3%2029.6%20111L0%20480%20117.7%20449.1c32.4%2017.7%2068.9%2027%20106.1%2027l.1%200c122.3%200%20224.1-99.6%20224.1-222%200-59.3-25.2-115-67.1-157zm-157%20341.6c-33.2%200-65.7-8.9-94-25.7l-6.7-4-69.8%2018.3%2018.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2%200-101.7%2082.8-184.5%20184.6-184.5%2049.3%200%2095.6%2019.2%20130.4%2054.1s56.2%2081.2%2056.1%20130.5c0%20101.8-84.9%20184.6-186.6%20184.6zM325.1%20300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5%202.8s-14.3%2018-17.6%2021.8c-3.2%203.7-6.5%204.2-12%201.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8%205.7-9.1%2016.3-30.3%201.8-3.7%20.9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7%201.4-14.8%206.9c-5.1%205.6-19.4%2019-19.4%2046.3s19.9%2053.7%2022.6%2057.4c2.8%203.7%2039.1%2059.7%2094.8%2083.8%2035.2%2015.2%2049%2016.5%2066.6%2013.9%2010.7-1.6%2032.8-13.4%2037.4-26.4s4.6-24.1%203.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-x-twitter: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M357.2%2048L427.8%2048%20273.6%20224.2%20455%20464%20313%20464%20201.7%20318.6%2074.5%20464%203.8%20464%20168.7%20275.5-5.2%2048%20140.4%2048%20240.9%20180.9%20357.2%2048zM332.4%20421.8l39.1%200-252.4-333.8-42%200%20255.3%20333.8z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
	--theme-icon-stars-row: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%203310%20512%22%3E%3Cg%20transform%3D%22translate%280%2C0%29%22%3E%3Cpath%20d%3D%22M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3%205.1-21.4%2013.1L193.1%20125.3%2033.2%20150.7c-8.9%201.4-16.3%207.7-19.1%2016.3s-.5%2018%205.8%2024.4l114.4%20114.5-25.2%20159.9c-1.4%208.9%202.3%2017.9%209.6%2023.2s16.9%206.1%2025%202L288.1%20417.6%20432.4%20491c8%204.1%2017.7%203.3%2025-2s11-14.2%209.6-23.2L441.7%20305.9%20556.1%20191.4c6.4-6.4%208.6-15.8%205.8-24.4s-10.1-14.9-19.1-16.3L383%20125.3%20309.5-18.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28662%2C0%29%22%3E%3Cpath%20d%3D%22M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3%205.1-21.4%2013.1L193.1%20125.3%2033.2%20150.7c-8.9%201.4-16.3%207.7-19.1%2016.3s-.5%2018%205.8%2024.4l114.4%20114.5-25.2%20159.9c-1.4%208.9%202.3%2017.9%209.6%2023.2s16.9%206.1%2025%202L288.1%20417.6%20432.4%20491c8%204.1%2017.7%203.3%2025-2s11-14.2%209.6-23.2L441.7%20305.9%20556.1%20191.4c6.4-6.4%208.6-15.8%205.8-24.4s-10.1-14.9-19.1-16.3L383%20125.3%20309.5-18.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%281324%2C0%29%22%3E%3Cpath%20d%3D%22M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3%205.1-21.4%2013.1L193.1%20125.3%2033.2%20150.7c-8.9%201.4-16.3%207.7-19.1%2016.3s-.5%2018%205.8%2024.4l114.4%20114.5-25.2%20159.9c-1.4%208.9%202.3%2017.9%209.6%2023.2s16.9%206.1%2025%202L288.1%20417.6%20432.4%20491c8%204.1%2017.7%203.3%2025-2s11-14.2%209.6-23.2L441.7%20305.9%20556.1%20191.4c6.4-6.4%208.6-15.8%205.8-24.4s-10.1-14.9-19.1-16.3L383%20125.3%20309.5-18.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%281986%2C0%29%22%3E%3Cpath%20d%3D%22M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3%205.1-21.4%2013.1L193.1%20125.3%2033.2%20150.7c-8.9%201.4-16.3%207.7-19.1%2016.3s-.5%2018%205.8%2024.4l114.4%20114.5-25.2%20159.9c-1.4%208.9%202.3%2017.9%209.6%2023.2s16.9%206.1%2025%202L288.1%20417.6%20432.4%20491c8%204.1%2017.7%203.3%2025-2s11-14.2%209.6-23.2L441.7%20305.9%20556.1%20191.4c6.4-6.4%208.6-15.8%205.8-24.4s-10.1-14.9-19.1-16.3L383%20125.3%20309.5-18.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%282648%2C0%29%22%3E%3Cpath%20d%3D%22M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3%205.1-21.4%2013.1L193.1%20125.3%2033.2%20150.7c-8.9%201.4-16.3%207.7-19.1%2016.3s-.5%2018%205.8%2024.4l114.4%20114.5-25.2%20159.9c-1.4%208.9%202.3%2017.9%209.6%2023.2s16.9%206.1%2025%202L288.1%20417.6%20432.4%20491c8%204.1%2017.7%203.3%2025-2s11-14.2%209.6-23.2L441.7%20305.9%20556.1%20191.4c6.4-6.4%208.6-15.8%205.8-24.4s-10.1-14.9-19.1-16.3L383%20125.3%20309.5-18.9z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
	--theme-transition: 160ms ease;
}

@font-face {
	font-family: "Nunito Regular";
	font-display: swap;
	src: url("../../fonts/Nunito-Regular.woff2") format("woff2"),
		url("../../fonts/Nunito-Regular.woff") format("woff");
}

@font-face {
	font-family: "Nunito Bold";
	font-display: swap;
	src: url("../../fonts/Nunito-Bold.woff2") format("woff2"),
		url("../../fonts/Nunito-Bold.woff") format("woff");
}

@font-face {
	font-family: "theme-icons";
	src: url("../../fonts/wellblue-ico.eot?3cnhgp");
	src: url("../../fonts/wellblue-ico.eot?3cnhgp#iefix") format("embedded-opentype"),
		url("../../fonts/wellblue-ico.woff?3cnhgp") format("woff"),
		url("../../fonts/wellblue-ico.ttf?3cnhgp") format("truetype"),
		url("../../fonts/wellblue-ico.svg?3cnhgp#wellblue-ico") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

* {
	box-sizing: border-box;
}

html {
	max-width: 100%;
	overflow-x: clip;
	scroll-behavior: smooth;
}

body {
	max-width: 100%;
	margin: 0;
	overflow-x: clip;
	overflow-wrap: break-word;
	color: var(--theme-color-muted);
	background: var(--theme-color-surface);
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	line-height: 1.6;
}

:where(body.site-layout) :where(.theme-site-header, .theme-main, .theme-site-footer, .theme-usp-ticker, .theme-contact-section) :where(button, input, select, textarea) {
	font-family: inherit;
	font: inherit;
}

:where(body.site-layout) :where(.theme-site-header, .theme-main, .theme-site-footer, .theme-usp-ticker, .theme-contact-section) :where(h1, h2, h3, h4, h5, h6, strong, b, button, .wp-element-button) {
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
}

:where(body.site-layout .theme-site-header, body.site-layout .theme-main, body.site-layout .theme-site-footer, body.site-layout .theme-usp-ticker, body.site-layout .theme-contact-section) :where(a) {
	color: var(--theme-color-blue-dark);
}

:where(body.site-layout .theme-site-header, body.site-layout .theme-main, body.site-layout .theme-site-footer, body.site-layout .theme-usp-ticker, body.site-layout .theme-contact-section) :where(a):hover {
	color: var(--theme-color-ink);
}

/* Breadcrumbs: Links folgen der umgebenden Textfarbe und wechseln bei Hover nicht die Farbe. */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
	color: inherit;
}

.woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:focus-visible {
	color: inherit;
}

:where(body.site-layout .theme-site-header, body.site-layout .theme-main, body.site-layout .theme-site-footer, body.site-layout .theme-usp-ticker, body.site-layout .theme-contact-section) :where(img) {
	max-width: 100%;
}

:where(body.site-layout form) :where(button, input[type=submit], input[type=reset], input[type=button]) {
	border-radius: var(--theme-radius-s);
}

body.site-layout,
body.site-layout * {
	-webkit-tap-highlight-color: transparent;
}

/* Native Browser-Outlines und sichtbare Fokusrahmen sind global unterdrückt.
   Formularfelder behalten ihren Fokus über Rahmenfarbe und box-shadow. */
:focus,
:focus-visible {
	outline: none !important;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
}

[tabindex="-1"]:focus,
[tabindex="-1"]:focus-visible {
	outline: none !important;
}

/* Einheitliches Formularfeld-Design für Hauptbereich und Footer (Referenz: Kontaktformular).
   Zustände (Fokus, Autofill, Hochkontrast) hängen am selben Selektor; Ausnahmen nur über --theme-field-height. */
body.site-layout :is(.theme-main, .theme-site-footer, .theme-contact-section) form :is(input:not([type=checkbox], [type=radio], [type=file], [type=range], [type=submit], [type=reset], [type=button], [type=image], [type=hidden], .qty, [name=quantity]), select, textarea) {
	width: 100%;
	min-height: var(--theme-field-height);
	padding: .875rem 1rem;
	border: 1px solid var(--theme-field-border);
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-ink);
	background: var(--theme-field-background);
	box-shadow: var(--theme-field-shadow);
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color var(--theme-transition), box-shadow var(--theme-transition);

	&:not([aria-invalid=true]):focus {
		outline: 2px solid transparent;
		outline-offset: 2px;
		border-color: var(--theme-color-blue-secondary);
		box-shadow: var(--theme-field-shadow), var(--theme-focus-ring);
	}

	&:autofill {
		border-color: var(--theme-field-border);
		color: var(--theme-field-color);
		caret-color: var(--theme-field-color);
		background-color: var(--theme-field-background);
		box-shadow: inset 0 0 0 1000px var(--theme-field-background), var(--theme-field-shadow);
	}

	&:-webkit-autofill {
		border-color: var(--theme-field-border);
		-webkit-text-fill-color: var(--theme-field-color);
		caret-color: var(--theme-field-color);
		box-shadow: inset 0 0 0 1000px var(--theme-field-background), var(--theme-field-shadow);
	}

	&:autofill:focus {
		box-shadow: inset 0 0 0 1000px var(--theme-field-background), var(--theme-field-shadow), var(--theme-focus-ring);
	}

	&:-webkit-autofill:focus {
		box-shadow: inset 0 0 0 1000px var(--theme-field-background), var(--theme-field-shadow), var(--theme-focus-ring);
	}

	@media (forced-colors: active) {
		&:focus {
			outline: 2px solid Highlight !important;
			outline-offset: 2px !important;
			box-shadow: none !important;
		}
	}
}

:where(body.site-layout form) :where(textarea) {
	--theme-field-height: 7rem;
	resize: vertical;
}

/* Globale Umbruch-Strategie: Headlines balancieren Zeilenlängen aus, Fließtext vermeidet Waisen-Zeilen.
   Browser ohne Unterstützung fallen auf den natürlichen Umbruch zurück. */
:where(body.site-layout) :where(.theme-main, .theme-site-footer) :where(h1, h2, h3, h4, h5, h6) {
	text-wrap: balance;
}

:where(body.site-layout) :where(.theme-main, .theme-site-footer) :where(p, li, blockquote) {
	text-wrap: pretty;
}

:where(.woocommerce-Price-amount, .woocommerce-Price-currencySymbol, del, ins) {
	text-wrap: nowrap;
}

:where(.price, .theme-price) {
	text-wrap: normal;
}

:where(.woocommerce, body.site-layout) .woocommerce-Price-amount {
	white-space: nowrap !important;
}

:where(.woocommerce, body.site-layout) :is(.price, .theme-price) :is(del, ins) {
	white-space: nowrap !important;
}

[hidden] {
	display: none !important;
}

/* Text nur für Screenreader; Utility für alle sr-only-Markierungen im Theme. */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.theme-skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.theme-skip-link:focus {
	position: fixed;
	z-index: 10000;
	top: 1rem;
	left: 1rem;
	width: auto;
	height: auto;
	padding: .75rem 1rem;
	margin: 0;
	overflow: visible;
	clip: auto;
	color: #fff;
	background: var(--theme-color-ink);
}

.theme-container,
.theme-section__inner {
	width: min(var(--theme-container-width), var(--theme-container-max, var(--theme-content-width)));
	margin-inline: auto;
}

.admin-bar {
	--theme-adminbar-offset: 32px;
}

.theme-site-header {
	position: sticky;
	z-index: 20;
	top: var(--theme-adminbar-offset);
	background: rgb(255 255 255 / 96%);
	border-bottom: 1px solid var(--theme-color-line);
	box-shadow: 0 .35rem 1.5rem rgb(16 35 62 / 6%);
	backdrop-filter: blur(12px);
}

.theme-usp-ticker {
	position: relative;
	overflow: hidden;
	color: #fff;
	background: var(--theme-color-blue-dark);
	text-align: center;
	font-size: .9375rem;
	font-weight: 500;
}

.theme-usp-ticker .theme-container {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 0;
}

.theme-usp-ticker::before {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(105deg, transparent 22%, rgb(255 255 255 / 9%) 46%, transparent 68%);
	opacity: 0;
	transform: translateX(-120%);
}

.theme-usp-ticker.is-changing::before {
	animation: theme-usp-sheen .8s ease-out 1;
}

.theme-usp-ticker p {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	margin: 0;
	padding: .6rem 0;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: .9375rem;
	font-weight: 500;
	animation: theme-usp-enter .34s ease both;
	min-width: 0;
	max-width: 100%;
}

.theme-usp-ticker__line {
	display: inline;
}

.theme-usp-ticker__divider {
	display: none;
}

.theme-usp-ticker svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	flex-shrink: 0;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
	transform: translateY(-0.5px);
}

.theme-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1.25rem, 2.4vw, 2.25rem);
	min-height: 6.75rem;
}

.custom-logo-link,
.theme-brand-logo {
	display: inline-flex;
	align-items: center;
	width: min(14.375rem, 38vw);
}

.custom-logo-link img,
.theme-brand-logo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 300 / 83;
}

.theme-site-title {
	color: var(--theme-color-ink);
	font-size: 1.25rem;
	font-weight: 800;
	text-decoration: none;
}

.theme-header-nav {
	margin-left: auto;
	min-width: 0;
}

/* Mobile-Verhalten (Burger-Menü, gestapeltes Produktlayout) gilt bis 970px,
   damit Logo, Navigation und Warenkorb-Symbol einzeilig nebeneinander passen. */
@media (min-width: 60.626rem) {
	.theme-header-nav[hidden] {
		display: flex !important;
	}
}

.theme-menu-toggle {
	display: none;
	align-items: center;
	gap: var(--theme-space-xs);
	min-height: 2.75rem;
	padding: .5rem .75rem;
	border: 1px solid var(--theme-color-line);
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-blue-secondary);
	background: var(--theme-color-surface);
	font-weight: 750;
	cursor: pointer;
}

.theme-primary-menu,
.theme-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem clamp(1.15rem, 2vw, 1.7rem);
	padding: 0;
	margin: 0;
	list-style: none;
}

.theme-primary-menu a,
.theme-footer-menu a {
	color: var(--theme-color-ink);
	font-weight: 650;
	text-decoration: none;
}

.theme-primary-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
}

.theme-primary-menu .menu-item-has-children {
	position: relative;
}

.theme-primary-menu .sub-menu {
	position: absolute;
	z-index: 25;
	top: calc(100% + .45rem);
	left: 0;
	display: none;
	min-width: 15rem;
	padding: .8rem 1.1rem;
	margin: 0;
	border: 1px solid var(--theme-color-line);
	border-top: .18rem solid var(--theme-color-accent);
	border-radius: var(--theme-radius-s);
	background: var(--theme-color-surface);
	box-shadow: 0 .75rem 1.75rem rgb(16 35 62 / 18%);
	list-style: none;
}

.theme-primary-menu .sub-menu::before {
	position: absolute;
	top: -.55rem;
	right: 0;
	left: 0;
	height: .55rem;
	content: "";
}

.theme-primary-menu .sub-menu li {
	position: relative;
}

.theme-primary-menu .sub-menu a {
	display: flex;
	min-height: 2.75rem;
	justify-content: space-between;
	gap: 1rem;
	padding: .62rem .75rem;
	border-radius: var(--theme-radius-s);
	font-size: 1rem;
	line-height: 1.35;
	white-space: nowrap;
}

.theme-primary-menu .sub-menu a:hover,
.theme-primary-menu .sub-menu a:focus-visible {
	background: var(--theme-color-sky);
}

.theme-primary-menu>.menu-item-has-children>a::after,
.theme-primary-menu .sub-menu .menu-item-has-children>a::after {
	content: "";
	display: inline-block;
	align-self: center;
	width: .7rem;
	height: .7rem;
	flex-shrink: 0;
	color: var(--theme-color-blue);
	background-color: currentColor;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.theme-primary-menu>.menu-item-has-children>a::after {
	margin-left: .45rem;
	-webkit-mask-image: var(--theme-icon-chevron-down);
	mask-image: var(--theme-icon-chevron-down);
}

.theme-primary-menu .sub-menu .menu-item-has-children>a::after {
	-webkit-mask-image: var(--theme-icon-chevron-right);
	mask-image: var(--theme-icon-chevron-right);
}

.theme-primary-menu .sub-menu .sub-menu {
	top: -.18rem;
	left: 100%;
}

.theme-primary-menu .menu-item-has-children:hover>.sub-menu,
.theme-primary-menu .menu-item-has-children:focus-within>.sub-menu {
	display: grid;
}

.theme-primary-menu .current-menu-item>a,
.theme-primary-menu .current-menu-ancestor>a {
	color: var(--theme-color-blue-secondary);
	text-decoration: none;
}

.theme-cart-link,
.theme-account-link {
	position: relative;
	display: inline-grid;
	width: 2.75rem;
	min-width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	color: var(--theme-color-blue-dark);
	text-decoration: none;
	white-space: nowrap;
}

.theme-cart-link:hover,
.theme-cart-link:focus-visible,
.theme-account-link:hover,
.theme-account-link:focus-visible {
	color: var(--theme-color-blue);
}

.theme-cart-icon,
.theme-account-icon {
	width: auto;
	text-align: center;
}

/* Identische visuelle Höhe: Der Warenkorb (ViewBox 640×512) skaliert auf 0.8em,
   das Personen-Icon (ViewBox 448×512) auf 1em. 1.5rem × 0.8 = 1.2rem × 1. */
.theme-cart-icon {
	font-size: 1.5rem;
}

.theme-account-icon {
	font-size: 1.2rem;
}

.theme-cart-label,
.theme-account-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.theme-cart-count {
	position: absolute;
	top: .08rem;
	right: -.08rem;
	display: grid;
	width: 1.22rem;
	height: 1.22rem;
	place-items: center;
	padding: 0;
	border: .12rem solid #fff;
	border-radius: 50%;
	color: #fff;
	background: var(--theme-color-blue-secondary);
	font-size: .68rem;
	font-weight: 800;
	line-height: 1;
	text-indent: .02em;
}

.theme-main {
	min-height: 55vh;
	padding-block: clamp(2rem, 5vw, 5rem);
}

body.single-post .theme-main {
	padding-block: 0;
}

body.home .theme-main {
	padding-block: 0;
}

body.tax-product_cat .theme-main {
	padding-block: 0;
}

body.theme-page--landing .theme-main {
	padding-block: 0;
}

body.tax-product_cat .theme-main>.theme-container {
	width: 100%;
	max-width: none;
}

.theme-category-hero {
	position: relative;
	display: grid;
	min-height: 37.5rem;
	align-content: start;
	overflow: hidden;
	padding-top: var(--theme-hero-offset);
	padding-bottom: 4rem;
	padding-inline: max(1rem, calc((100% - var(--theme-content-width)) / 2));
	background-color: #f5f8fa;
	background-position: 45% center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
}

.theme-category-hero::after {
	position: absolute;
	right: -8%;
	bottom: -4.5rem;
	left: -8%;
	height: 8rem;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	background: #fff;
	content: "";
}

.theme-category-hero--osmosis {
	--theme-hero-overlay: radial-gradient(at 0% 50%, rgb(255 255 255 / 94%) 40%, rgb(255 255 255 / 62%) 55%, rgb(255 255 255 / 10%) 75%);
	background-image: url("/media/flowAQUA-nova-Getraenke-helle-Kueche-2.jpg");
}

.theme-category-hero__content {
	position: relative;
	z-index: 1;
	width: min(100%, 39rem);
	padding-bottom: 2rem;
}

.theme-category-hero h1 {
	margin: 0 0 1.2rem;
	color: var(--theme-color-blue-dark);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: clamp(2.25rem, 5vw, 4.25rem);
	font-weight: 500;
	line-height: 1.08;
}

.theme-category-hero p {
	margin: 0;
	color: #465664;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: clamp(1.08rem, 2vw, 1.3rem);
	font-weight: 500;
	line-height: 1.65;
}

.theme-category-hero__trust {
	display: inline-flex;
	align-items: center;
	gap: .9rem;
	max-width: 24rem;
	margin-top: 1.7rem;
	color: var(--theme-color-blue-dark);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	line-height: 1.3;
}

.theme-category-hero__trust img {
	width: 4.75rem;
	height: 4.75rem;
	object-fit: contain;
}

body.tax-product_cat .theme-product-filter {
	width: min(var(--theme-container-width, 80%), var(--theme-content-width));
	margin: clamp(2.5rem, 6vw, 5rem) auto;
}

.entry-content> :where(img, figure, table, pre, iframe) {
	max-width: 100%;
}

.entry-content :where(img, video, iframe, embed, object, svg) {
	max-width: 100%;
}

.entry-content :where(pre, table) {
	overflow-x: auto;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.entry-content :where(th, td) {
	padding: .75rem;
	border: 1px solid var(--theme-color-line);
	text-align: left;
}

/* Modulare Sektionen & Layout-Raster */
.theme-section {
	padding-block: clamp(2rem, 6vw, 6rem);
	background-color: var(--theme-color-surface);
	background-image: var(--theme-section-image, none);
	background-position: var(--theme-section-image-position, center);
	background-repeat: no-repeat;
	background-size: cover;
}

.theme-section--compact {
	padding-block: clamp(2rem, 4vw, 3.375rem);
}

.theme-section--flush {
	padding-block: 0;
}

.theme-section--full>.theme-section__inner,
.theme-section--bleed>.theme-section__inner {
	width: 100%;
	max-width: none;
}

.theme-section--surface {
	background-color: var(--theme-color-surface);
}

.theme-section--sky {
	background-color: var(--theme-color-sky);
}

.theme-section--alt {
	background-color: #f8fbfe;
}

/* Der Hero wächst per min-height dynamisch mit dem Inhalt, statt Text über die Bildkante laufen zu lassen. */
:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) {
	position: relative;
	display: grid;
	min-height: 37.5rem;
	overflow: visible;
	align-content: start;
	padding-top: var(--theme-hero-offset);
	padding-bottom: 4rem;
	padding-inline: 0;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	--wp--style--block-gap: 0;
}

/* Der Hero definiert seine Textabstände selbst; Gutenberg-Flow-Abstände dürfen den einheitlichen Rhythmus nicht verändern. */
:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) :is(.is-layout-flow)>*+* {
	margin-block-start: 0;
}

.theme-category-hero--osmoseanlagen {
	--theme-hero-overlay: radial-gradient(ellipse at left, rgb(255 255 255 / 89%) 46%, rgb(255 255 255 / 57%) 56%);
	background-image: url("/media/flowAQUA-nova-Getraenke-helle-Kueche-2.jpg") !important;
	background-position: left 19% bottom 25% !important;
}

.theme-category-hero--enthaertungsanlagen {
	background-position: center top 42%;
}

.theme-category-hero--wasserionisierer {
	background-position: center bottom 42%;
}

.theme-category-hero--enthaertungsanlagen,
.theme-category-hero--wasserionisierer,
.theme-category-hero--wasserspender {
	--theme-hero-overlay: radial-gradient(circle at top left, rgb(255 255 255 / 82%) 21%, rgb(255 255 255 / 39%) 100%);
	background-image: url("/media/WellBlue-flowSOFT-Enthaertungsanlagen-seitlich.webp");
}

.theme-category-hero--wasserionisierer {
	background-image: url("/media/Gesundes-ionisiertes-basisches-Wasser-.jpg");
}

.theme-category-hero--wasserspender {
	background-image: url("/media/Wasserspender-fuer-Unternehmen-und-Firmen-.jpg");
}

.theme-category-hero--3-wege-wasserhaehne {
	--theme-hero-overlay: radial-gradient(circle at top left, rgb(255 255 255 / 90%) 22%, rgb(255 255 255 / 60%) 100%);
	background-image: url("/media/Moderne-Kueche-mit-3-Wege-Wasserhahn.jpg");
	background-position: center bottom 42%;
}

.theme-category-hero--filtersaetze {
	--theme-hero-overlay: radial-gradient(circle at top left, rgb(255 255 255 / 98%) 22%, rgb(255 255 255 / 70%) 100%);
	background-image: url("/media/Filtersatz.png");
	background-position: center 42%;
}

:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-category-hero, .theme-hero, .theme-section--hero, .headline-teaser)::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: var(--theme-hero-overlay, radial-gradient(ellipse at left, rgb(255 255 255 / 86%) 42%, rgb(255 255 255 / 38%) 59%, rgb(255 255 255 / 8%) 78%));
	pointer-events: none;
	content: "";
}

.theme-category-hero__badge {
	position: absolute;
	z-index: 3;
	right: 18%;
	bottom: -2%;
	width: 9.375rem;
	height: 9.375rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.theme-category-hero__badge img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.theme-section.theme-category-hero::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 6.25rem;
	border-radius: 0;
	background: center bottom / 100% 6.25rem no-repeat url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
	content: "";
}

:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-section__inner {
	position: relative;
	z-index: 1;
	margin-top: 0;
}

:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-column {
	grid-column: 1 / span 9;
	max-width: 52rem;
}

:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) h1,
.theme-hero-title {
	width: 100%;
	max-width: 52rem;
	margin: 0 0 .625rem;
	color: var(--theme-color-blue-dark);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 2.1875rem;
	font-weight: 500;
	line-height: 1.3;
}

:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) p,
:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-hero__text,
:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-text>p {
	max-width: 46rem;
	margin: 0;
	color: #465664;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
}

.theme-row,
.theme-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--theme-layout-gap, var(--theme-space-l));
	min-width: 0;
}

.theme-grid {
	grid-template-columns: repeat(var(--theme-grid-columns, 1), minmax(0, 1fr));
}

.theme-grid--2 {
	--theme-grid-columns: 2;
}

.theme-grid--3 {
	--theme-grid-columns: 3;
}

.theme-grid--4 {
	--theme-grid-columns: 4;
}

.theme-column {
	grid-column: 1 / -1;
	min-width: 0;
}

.theme-column.theme-column-1-4 {
	grid-column: span 3;
}

.theme-column.theme-column-1-3 {
	grid-column: span 4;
}

.theme-column.theme-column-1-2,
.theme-column.theme-column-2-4 {
	grid-column: span 6;
}

.theme-column.theme-column-2-3 {
	grid-column: span 8;
}

.theme-column.theme-column-3-4 {
	grid-column: span 9;
}

.theme-row>.theme-column-3-4:only-child {
	grid-column: 1 / -1;
}

/* Spalten sind über den Grid-Gap getrennt; WordPress-Flow-Abstände dürfen hier nicht greifen. */
.theme-row>.theme-column+.theme-column {
	margin-block-start: 0;
}

.theme-text> :first-child {
	margin-top: 0;
}

.theme-accordion {
	display: grid;
	width: min(100%, 60rem);
	gap: .75rem;
	margin-inline: auto;
}

.theme-accordion details {
	overflow: hidden;
	border: 1px solid var(--theme-color-line);
	border-radius: .75rem;
	background: #fff;
	box-shadow: 0 .35rem 1rem rgb(0 57 115 / 5%);
}

.theme-accordion summary {
	position: relative;
	padding: 1rem 3.6rem 1rem 1.15rem;
	color: var(--theme-color-blue-dark);
	cursor: pointer;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	list-style: none;
}

.theme-accordion summary::-webkit-details-marker {
	display: none;
}

.theme-accordion summary::before,
.theme-accordion summary::after {
	position: absolute;
	top: 50%;
	right: calc(1.15rem - 2px);
	width: 1.9rem;
	height: 1.9rem;
	content: "";
	transform: translateY(-50%);
}

.theme-accordion summary::after {
	border: 2px solid currentcolor;
	border-radius: 50%;
}

.theme-accordion summary::before {
	background: linear-gradient(currentcolor, currentcolor) calc(50% - 1px) 50% / .75rem 2px no-repeat, linear-gradient(currentcolor, currentcolor) calc(50% - 1px) 50% / 2px .75rem no-repeat;
}

.theme-accordion details[open] summary::before {
	background: linear-gradient(currentcolor, currentcolor) calc(50% - 1px) 50% / .75rem 2px no-repeat;
}

.theme-accordion-content {
	overflow: hidden;
	padding: 0 1.15rem 1.15rem;
}

.theme-accordion .wp-block-details>.theme-accordion-content,
.theme-accordion-content> :first-child {
	margin-block-start: 0;
}

.theme-accordion-content> :last-child {
	margin-block-end: 0;
}

:where(.entry-content, .theme-text, .theme-accordion-content, .theme-feature-card__content, .theme-magazine-intro, .theme-advisor) a:where(:not(.wp-element-button, .button)),
:where(.entry-content, .theme-text, .theme-accordion-content, .theme-feature-card__content, .theme-magazine-intro, .theme-advisor) a:where(:not(.wp-element-button, .button)):hover {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: .12em;
}

/* Inhaltsseiten entsprechend der bestehenden Divi-Ansicht. */
.theme-page-header {
	margin-bottom: 1.25rem;
}

.theme-page-header h1,
body.page:not(.home) .entry-content h2,
body.page:not(.home) .entry-content h3,
body.page:not(.home) .entry-content h4 {
	color: var(--theme-color-blue-dark);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
}

.theme-page-header h1 {
	max-width: 52rem;
	font-size: 2.1875rem;
	line-height: 1.3;
	margin: 0;
	padding-bottom: .875rem;
}

body.page:not(.home) .entry-content h2 {
	margin: 1.5rem 0 0;
	padding-bottom: .625rem;
	font-size: 1.625rem;
	line-height: 1.4;
}

body.page:not(.home) .entry-content h3 {
	margin: 1.25rem 0 0;
	padding-bottom: .5rem;
	font-size: 1.375rem;
	line-height: 1.4;
}

body.page:not(.home) .entry-content h4 {
	margin: 1rem 0 0;
	font-size: 1.125rem;
	line-height: 1.4;
}

body.page:not(.home) .entry-content p,
body.page:not(.home) .entry-content li {
	color: #666;
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.7;
}

body.page:not(.home) .entry-content p {
	margin: 0 0 1rem;
}

body.page:not(.home) .entry-content strong,
body.page:not(.home) .entry-content b {
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
}

.theme-site-footer {
	--theme-footer-wave-height: 8.4375rem;
	position: relative;
	padding: var(--theme-footer-wave-height) 0 2.4rem;
	color: #fff;
	background: radial-gradient(circle at 0 0, #003973 0%, #0075ad 99%);
}

.theme-site-footer::before {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	left: 0;
	height: var(--theme-footer-wave-height);
	content: "";
	background: 0 0 / 100% 100% no-repeat url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik0wIDUxLjc2YzM2LjIxLTIuMjUgNzcuNTctMy41OCAxMjYuNDItMy41OCAzMjAgMCAzMjAgNTcgNjQwIDU3IDI3MS4xNSAwIDMxMi41OC00MC45MSA1MTMuNTgtNTMuNFYwSDB6IiBmaWxsLW9wYWNpdHk9Ii4zIi8+PHBhdGggZD0iTTAgMjQuMzFjNDMuNDYtNS42OSA5NC41Ni05LjI1IDE1OC40Mi05LjI1IDMyMCAwIDMyMCA4OS4yNCA2NDAgODkuMjQgMjU2LjEzIDAgMzA3LjI4LTU3LjE2IDQ4MS41OC04MFYwSDB6IiBmaWxsLW9wYWNpdHk9Ii41Ii8+PHBhdGggZD0iTTAgMHYzLjRDMjguMiAxLjYgNTkuNC41OSA5NC40Mi41OWMzMjAgMCAzMjAgODQuMyA2NDAgODQuMyAyODUgMCAzMTYuMTctNjYuODUgNTQ1LjU4LTgxLjQ5VjB6Ii8+PC9nPjwvc3ZnPg==");
}

.theme-footer-content {
	position: relative;
	z-index: 1;
}

.theme-footer-top {
	display: flex;
	min-height: 6rem;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

body.site-layout .theme-site-footer a {
	color: #fff;
}

.theme-footer-top>img {
	display: block;
	width: 11.25rem;
	height: auto;
}

.theme-footer-social {
	display: flex;
	align-items: center;
	gap: 1.65rem;
}

body.site-layout .theme-footer-social a {
	display: inline-grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	color: #fff;
	font-size: 1.5rem;
	text-decoration: none;
	transition: opacity var(--theme-transition), transform var(--theme-transition);
}

body.site-layout .theme-footer-social a:hover {
	color: #fff;
	opacity: .82;
	transform: translateY(-1px);
}

.theme-footer-navigation {
	padding-top: 1.15rem;
	border-top: 1px solid rgb(255 255 255 / 38%);
}

.theme-footer-navigation .theme-footer-menu {
	justify-content: center;
	gap: .35rem 0;
}

.theme-footer-navigation .theme-footer-menu li+li::before {
	margin-inline: .55rem;
	color: rgb(255 255 255 / 62%);
	content: "|";
}

body.site-layout .theme-footer-menu a {
	color: #fff;
}

body.site-layout .theme-footer-menu a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: .2em;
}

.theme-footer-legal-note {
	padding-top: 1.25rem;
	text-align: center;
}

.theme-footer-legal-note p {
	margin: 0;
	color: rgb(255 255 255 / 76%);
	font-size: .82rem;
}

/* Der Link "Versandkosten" im Preis-Hinweis bleibt im Fließtext unauffällig wie der
   umgebende Text und wird nur beim Hovern/Fokussieren unterstrichen. */
body.site-layout .theme-footer-legal-note p a,
.theme-footer-legal-note p a {
	color: inherit;
	text-decoration: none;
}

body.site-layout .theme-footer-legal-note p a:where(:hover, :focus-visible),
.theme-footer-legal-note p a:where(:hover, :focus-visible) {
	text-decoration: underline;
	text-underline-offset: .2em;
}

.theme-product-filter {
	display: grid;
	gap: 1.25rem;
}

.theme-filter-links {
	display: grid;
	gap: .625rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.theme-filter-links li {
	list-style: none;
	padding: 0;
	margin: 0;
	border: 0;
}

.theme-filter-link {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 3rem;
	align-items: center;
	gap: .75rem;
	padding: .65rem .85rem;
	border: 1.5px solid var(--theme-color-line);
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-ink);
	background: #ffffff;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
	box-sizing: border-box;
	transition: all var(--theme-transition);
}

.theme-filter-link:hover {
	border-color: #cbd5e1;
	background: #fdfefe;
	box-shadow: 0 2px 6px rgb(16 35 62 / 4%);
	color: var(--theme-color-ink);
	text-decoration: none;
}

.theme-filter-link.is-active {
	border-color: var(--theme-color-blue);
	background: #f8fbfe;
	box-shadow: 0 2px 10px rgb(0 57 115 / 8%);
	color: var(--theme-color-blue-dark);
}

.theme-filter-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	border: 1.5px solid #cbd5e1;
	border-radius: .25rem;
	background: #ffffff;
	box-sizing: border-box;
	transition: all var(--theme-transition);
}

.theme-filter-link:hover .theme-filter-control {
	border-color: #94a3b8;
}

.theme-filter-link.is-active .theme-filter-control {
	border-color: var(--theme-color-blue);
	background: var(--theme-color-blue) center / .75rem .75rem no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='m3 8 3 3 7-7'/%3E%3C/svg%3E");
}

.theme-filter-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	font-family: "theme-icons" !important;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	font-size: 1.6rem;
	color: #126194;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.theme-filter-label {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--theme-color-ink);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
}

.theme-filter-link.is-active .theme-filter-label {
	color: var(--theme-color-blue-dark);
}

.theme-filter-reset {
	display: inline-flex;
	align-items: center;
	width: auto;
	min-height: 2.25rem;
	margin-top: .5rem;
	padding: .25rem 0;
	border: 0;
	border-radius: 0;
	color: var(--theme-color-blue-dark);
	background: transparent;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
	transition: color var(--theme-transition);
}

.theme-filter-reset:hover {
	color: var(--theme-color-blue);
	background: transparent;
	text-decoration: underline;
}

.theme-filter-status {
	margin: 0 0 1.15rem;
	color: var(--theme-color-muted);
}

.theme-filter-status--bottom {
	margin: 1.15rem 0 0;
}

.theme-filter-status:empty,
.theme-filter-status[hidden] {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

.theme-filter-empty {
	padding: 1rem;
	border-left: .25rem solid var(--theme-color-blue);
	background: var(--theme-color-sky);
}

.theme-product-grid.products {
	display: grid;
	grid-template-columns: repeat(var(--theme-product-columns, 3), minmax(0, 1fr));
	gap: 1.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.theme-product-grid.products::before,
.theme-product-grid.products::after,
.woocommerce ul.products.theme-product-grid::before,
.woocommerce ul.products.theme-product-grid::after,
body.site-layout .woocommerce ul.products::before,
body.site-layout .woocommerce ul.products::after,
body.site-layout .woocommerce-page ul.products::before,
body.site-layout .woocommerce-page ul.products::after {
	display: none !important;
	content: none !important;
}

.theme-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	padding: 0;
	border: 1px solid rgb(0 57 115 / 7%);
	border-radius: var(--theme-radius);
	background: #fff;
	box-shadow: 0 .65rem 2rem rgb(0 57 115 / 8%);
}

[data-card-link],
.theme-product-card[data-card-link],
.theme-magazine-card[data-card-link] {
	cursor: pointer;
}

.theme-product-card__content {
	display: flex;
	height: 100%;
	flex-direction: column;
}

.theme-product-card .woocommerce-loop-product__title a {
	color: inherit;
	text-decoration: none;
}

.theme-product-card img {
	display: block;
	width: 100%;
	margin: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 7px;
}

.theme-product-card .woocommerce-loop-product__title {
	margin: 0;
	padding: 1.2rem 1.25rem .45rem;
	color: var(--theme-color-blue-dark);
	font-size: 1.3rem;
	line-height: 1.25;
}

.theme-product-card .woocommerce-product-details__short-description {
	padding-inline: 1.25rem;
}

.theme-product-card .price {
	display: block;
	margin: auto 1.25rem 1.35rem;
	color: var(--theme-color-ink);
	font-size: 1.15rem;
	font-weight: 800;
}

.theme-product-card .button {
	display: inline-flex;
	justify-content: center;
	margin-top: 1rem;
	padding: .75rem 1rem;
	border-radius: .5rem;
	color: #fff;
	background: var(--theme-color-blue);
	font-weight: 700;
	text-decoration: none;
}

.theme-product-card .onsale,
body.site-layout .woocommerce ul.products li.product .onsale {
	position: absolute;
	z-index: 2;
	top: 0;
	right: auto;
	left: 0;
	min-width: 0;
	min-height: 0;
	padding: .375rem 1.125rem;
	border-radius: 3px;
	border-top-left-radius: 7px;
	color: #fff;
	background: var(--theme-color-blue-dark);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1.15rem;
	line-height: 1.2;
}

.woocommerce-product-details__short-description {
	color: var(--theme-color-muted);
}

.woocommerce-notices-wrapper {
	display: grid;
	gap: .75rem;
	margin-bottom: 1.5rem;
	width: 100%;
}

.woocommerce-notices-wrapper:empty,
.woocommerce-notices-wrapper:not(:has(*)) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.entry-content>.woocommerce>.woocommerce-notices-wrapper {
	margin-bottom: 0;
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	margin-bottom: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1.25rem;
	margin: 0 0 1rem 0;
	padding: .85rem 1.25rem;
	border-radius: var(--theme-radius-s);
	border: none;
	list-style: none;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	box-sizing: border-box;
	overflow: hidden;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-message::after,
.woocommerce-info::after,
.woocommerce-error::after {
	display: none !important;
	content: none !important;
}

.woocommerce-message {
	background: var(--theme-color-blue) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgb(0 57 115 / 15%);
	border-left: none !important;
	border-top: none !important;
}

.woocommerce-message a.button,
.woocommerce-message a.button.wc-forward {
	margin-left: auto;
	min-height: 2.35rem;
	padding: .45rem 1.15rem;
	border: 1px solid #ffffff !important;
	border-radius: var(--theme-radius-s) !important;
	background: #ffffff !important;
	color: var(--theme-color-blue) !important;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 2px 5px rgb(0 0 0 / 10%);
	transition: all var(--theme-transition);
}

.woocommerce-message a.button:hover,
.woocommerce-message a.button.wc-forward:hover {
	background: #eef5fa !important;
	color: #002244 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgb(0 0 0 / 15%);
}

.woocommerce-info {
	background: var(--theme-notice-background) !important;
	color: var(--theme-notice-color) !important;
	border: 1px solid var(--theme-notice-border) !important;
	border-left: .25rem solid var(--theme-color-blue) !important;
	border-radius: var(--theme-radius-s);
	box-shadow: var(--theme-notice-shadow);
}

.woocommerce-info a {
	color: var(--theme-color-ink) !important;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.woocommerce-info a:hover {
	color: #0075ad !important;
}

.woocommerce-error {
	background: #fff5f5 !important;
	color: #991b1b !important;
	border: 1px solid #fecaca !important;
	border-left: .25rem solid var(--theme-color-danger) !important;
	border-radius: var(--theme-radius-s);
	box-shadow: 0 .5rem 1.25rem rgb(180 35 24 / 5%);
	padding: .85rem 1.25rem;
}

.woocommerce-error li {
	margin: 0;
	padding: 0;
}

.woocommerce-error li+li {
	margin-top: .4rem;
}

body.site-layout :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):is(:focus, :focus-visible) {
	outline: none !important;
}

.woocommerce :is(button.button, a.button, input.button, button.woocommerce-button, a.woocommerce-button, input.woocommerce-button, button.woocommerce-Button, a.woocommerce-Button, input.woocommerce-Button),
body.site-layout .wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.1rem;
	padding: .78rem 1.5rem;
	border: 1px solid #002244;
	border-radius: var(--theme-radius-s);
	color: #fff;
	background: var(--theme-color-blue) linear-gradient(180deg, #004b8d 0%, #003366 100%);
	box-shadow: 0 2px 6px rgb(0 34 68 / 25%), inset 0 1px 0 rgb(255 255 255 / 15%);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: color var(--theme-transition), background var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), transform var(--theme-transition);
}

.woocommerce :is(button.button, a.button, input.button, button.woocommerce-button, a.woocommerce-button, input.woocommerce-button, button.woocommerce-Button, a.woocommerce-Button, input.woocommerce-Button):hover,
body.site-layout .wc-block-components-button:hover {
	border-color: #001933;
	color: #fff;
	background: var(--theme-color-blue-dark) linear-gradient(180deg, #005a9e 0%, #002850 100%);
	box-shadow: 0 4px 12px rgb(0 34 68 / 35%), inset 0 1px 0 rgb(255 255 255 / 20%);
	text-decoration: none !important;
	transform: translateY(-1px);
}

.woocommerce :is(button.button, a.button, input.button, button.woocommerce-button, a.woocommerce-button, input.woocommerce-button, button.woocommerce-Button, a.woocommerce-Button, input.woocommerce-Button):active,
body.site-layout .wc-block-components-button:active {
	transform: translateY(0);
	box-shadow: 0 1px 3px rgb(0 34 68 / 25%);
}

.wp-block-button__link,
.wp-block-search__button,
.theme-contact-form__submit .wp-element-button,
.theme-search-form button {
	display: inline-flex;
	min-height: 3.1rem;
	align-items: center;
	justify-content: center;
	padding: .78rem 1.5rem;
	border: 1px solid #002244;
	border-radius: var(--theme-radius-s);
	color: #fff;
	background: var(--theme-color-blue) linear-gradient(180deg, #004b8d 0%, #003366 100%);
	box-shadow: 0 2px 6px rgb(0 34 68 / 25%), inset 0 1px 0 rgb(255 255 255 / 15%);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
	cursor: pointer;
	transition: color var(--theme-transition), background var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), transform var(--theme-transition);
}

.wp-block-button__link:hover,
.wp-block-search__button:hover,
.theme-contact-form__submit .wp-element-button:hover,
.theme-search-form button:hover {
	border-color: #001933;
	color: #fff;
	background: var(--theme-color-blue-dark) linear-gradient(180deg, #005a9e 0%, #002850 100%);
	box-shadow: 0 4px 12px rgb(0 34 68 / 35%), inset 0 1px 0 rgb(255 255 255 / 20%);
	transform: translateY(-1px);
}

body.site-layout .wp-block-search__input {
	border-radius: var(--theme-radius-s);
}

.wc-block-cart,
.wc-block-checkout {
	max-width: var(--theme-content-width);
	margin-inline: auto;
}

body.site-layout .wc-block-components-text-input input,
body.site-layout .wc-block-components-combobox .components-combobox-control__input,
body.site-layout .wc-block-components-textarea {
	border-radius: var(--theme-radius-s);
	border-color: var(--theme-color-line);
}

body.site-layout .wc-block-components-totals-wrapper,
body.site-layout .wc-block-checkout__sidebar,
body.site-layout .wc-block-cart__totals-block {
	border-color: var(--theme-color-line);
	border-radius: var(--theme-radius-s);
}

.wc-gzd-block-checkout-checkboxes,
.wp-block-woocommerce-germanized-checkout-checkboxes {
	margin-block: 1rem;
	padding: 1rem;
	border-radius: .5rem;
	background: var(--theme-color-sky);
}

/* Formularfelder einheitlich im Stil des Kontaktformulars */
body.site-layout :where(.woocommerce, .theme-main, .theme-site-footer, .entry-content) :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select),
body.site-layout .select2-container--default .select2-selection--single {
	width: 100%;
	min-height: 3.35rem;
	padding: .875rem 1rem;
	border: 1px solid #b8c1ca;
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-ink);
	background: #fff;
	box-shadow: var(--theme-card-shadow);
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color var(--theme-transition), box-shadow var(--theme-transition);
	box-sizing: border-box;
}

body.site-layout :where(.woocommerce, .theme-main, .theme-site-footer, .entry-content) textarea {
	min-height: 7rem;
	resize: vertical;
}

body.site-layout :where(.woocommerce, .theme-main, .theme-site-footer, .entry-content) :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea)::placeholder {
	color: var(--theme-color-blue-dark);
	opacity: .65;
}

body.site-layout :where(.woocommerce, .theme-main, .theme-site-footer, .entry-content) :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea, select):focus,
body.site-layout :where(.woocommerce, .theme-main, .theme-site-footer, .entry-content) :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea, select):focus-visible,
body.site-layout .select2-container--default.select2-container--open .select2-selection--single {
	outline: none;
	border-color: #0075ad;
	box-shadow: var(--theme-card-shadow), 0 0 0 3px rgb(0 117 173 / 15%);
}

body.site-layout .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
}

body.site-layout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 0;
	padding-right: 0;
	color: var(--theme-color-ink);
	line-height: normal;
}

body.site-layout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	top: 0;
	right: .75rem;
}

/* Archiv-Basis: Ergebnisanzahl, Sortierung, Pagination, Mengenfeld */
.woocommerce .woocommerce-result-count {
	margin-bottom: 1.25rem;
	color: #64748b;
	font-size: .95rem;
	font-weight: 600;
}

.woocommerce .woocommerce-ordering {
	margin-bottom: 1.25rem;
}

.woocommerce .woocommerce-ordering select.orderby {
	min-height: 2.85rem;
	padding: .5rem 2.25rem .5rem 1rem;
	border: 1px solid #b8c1ca;
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-ink);
	background: #fff;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
}

.woocommerce-pagination,
nav.woocommerce-pagination {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.woocommerce-pagination ul.page-numbers,
nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
	padding: 0;
	margin: 0;
	list-style: none;
	border: none;
}

.woocommerce-pagination ul.page-numbers li,
nav.woocommerce-pagination ul.page-numbers li {
	margin: 0;
	padding: 0;
	float: none;
	border: none;
}

.woocommerce-pagination ul.page-numbers li .page-numbers,
nav.woocommerce-pagination ul.page-numbers li .page-numbers {
	display: inline-grid;
	min-width: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	padding: .45rem .75rem;
	border: 1px solid var(--theme-color-line);
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-blue-dark);
	background: #fff;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	transition: all var(--theme-transition);
}

.woocommerce-pagination ul.page-numbers li .page-numbers.current,
nav.woocommerce-pagination ul.page-numbers li .page-numbers.current,
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
	border-color: var(--theme-color-blue);
	color: #fff;
	background: var(--theme-color-blue);
}

.woocommerce .quantity .qty {
	width: 5rem;
}

/* Sternebewertungen & Produkt-Reviews */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.25em;
	line-height: 1.25;
	font-size: 1rem;
	width: 5.4em;
	color: #f5a623;
	display: inline-block;
}

.star-rating::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1em;
	background-color: #cbd5e1;
	-webkit-mask: var(--theme-icon-stars-row) left top / auto 100% no-repeat;
	mask: var(--theme-icon-stars-row) left top / auto 100% no-repeat;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1em;
	background-color: #f5a623;
	-webkit-mask: var(--theme-icon-stars-row) left top / auto 100% no-repeat;
	mask: var(--theme-icon-stars-row) left top / auto 100% no-repeat;
}


/* Preisfarben auf Archiv- und Karten-Ebene: dezentes Grau */
.theme-product-card .price,
.theme-product-card .price ins,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
body.site-layout .woocommerce ul.products.theme-product-grid li.product.theme-product-card .price,
body.site-layout .woocommerce ul.products.theme-product-grid li.product.theme-product-card .price ins {
	color: #666666 !important;
}

.theme-product-card .price del,
.woocommerce ul.products li.product .price del,
body.site-layout .woocommerce ul.products.theme-product-grid li.product.theme-product-card .price del {
	color: #8c9ba5 !important;
	text-decoration: line-through !important;
	opacity: 1 !important;
}

/* WooCommerce setzt ein Clearfix (::before/::after) – als Grid-Items verschieben diese sonst die Spalten. */
.woocommerce .col2-set::before,
.woocommerce .col2-set::after {
	content: none !important;
	display: none !important;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
	float: none;
	width: auto;
}

/* Bestellstatus-Markierung ohne WooCommerce-Hintergrund */
.woocommerce mark {
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
}

/* Mini-Cart / Shopping Cart Widget */
.widget_shopping_cart {
	background: #ffffff;
	border: 1px solid var(--theme-color-line);
	border-radius: var(--theme-radius-s);
	padding: 1.25rem;
	box-shadow: var(--theme-card-shadow);
}

ul.woocommerce-mini-cart {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem 0;
	display: grid;
	gap: 1rem;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: .85rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #edf2f7;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 6px;
	object-fit: cover;
	border: 1px solid var(--theme-color-line);
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove {
	order: 3;
	margin-left: auto;
	color: #dc2626;
	font-size: 1.25rem;
	text-decoration: none;
}

.woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--theme-color-ink);
	padding: .75rem 0;
	border-top: 1.5px solid var(--theme-color-line);
}

.woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	margin-top: .75rem;
}

.woocommerce-mini-cart__buttons a.button {
	min-height: 2.75rem;
	font-size: .95rem;
}

/* Sitewide / Demo Store Notice */
p.demo_store,
.woocommerce-store-notice {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	margin: 0;
	padding: .85rem 1.5rem;
	background: var(--theme-color-blue);
	color: #ffffff;
	text-align: center;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	box-shadow: 0 -4px 14px rgb(0 57 115 / 20%);
}

.woocommerce-store-notice__dismiss-link {
	display: inline-block;
	margin-left: 1rem;
	color: #ffffff;
	text-decoration: underline;
}

.theme-product-features {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	padding: 0;
	margin: 1.25rem 0;
	list-style: none;
}

.theme-product-features li {
	padding: .35rem .6rem;
	border-radius: 999px;
	background: var(--theme-color-sky);
	color: var(--theme-color-ink);
	font-size: .875rem;
	font-weight: 700;
}

.product_meta .posted_in {
	display: none;
}

.theme-product-note {
	display: block;
	margin: 1rem 0;
	padding: .85rem 1.25rem;
	border: 1px solid var(--theme-notice-border);
	border-left: .25rem solid var(--theme-color-blue);
	border-radius: var(--theme-radius-s);
	background: var(--theme-notice-background);
	color: var(--theme-notice-color);
	box-shadow: var(--theme-notice-shadow);
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	line-height: 1.5;
}

.theme-refurbished-offer {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .25em .45em;
	margin: 1rem 0;
	padding: .7em .9em;
	border: 1px solid rgb(0 117 173 / 20%);
	border-radius: var(--theme-radius-s);
	background: linear-gradient(135deg, rgb(0 117 173 / 12%) 0%, #fff 48%, rgb(18 97 148 / 12%) 100%);
	color: #126194;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	box-shadow: 0 8px 20px rgb(18 97 148 / 8%);
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.theme-refurbished-offer__label-mobile {
	display: none;
}

.theme-refurbished-offer strong {
	color: var(--theme-color-blue-secondary);
	white-space: nowrap;
}

.theme-refurbished-offer:where(:hover, :focus-visible) {
	border-color: rgb(0 117 173 / 42%);
	color: var(--theme-color-blue-secondary);
	box-shadow: 0 10px 24px rgb(18 97 148 / 14%);
	transform: translateY(-1px);
}

@media (max-width: 60.625rem) {
	.theme-email-warning {
		width: calc(100vw - 5.5rem);
	}

	.theme-refurbished-offer {
		display: flex;
		width: 100%;
		font-size: .9rem;
	}

	.theme-refurbished-offer__label {
		display: none;
	}

	.theme-refurbished-offer__label-mobile {
		display: inline;
	}
}

.theme-advisor {
	width: 100%;
	padding: 3.375rem max(1rem, calc((100% - 67.5rem) / 2));
	margin: 0;
	background: #fff;
}

.theme-advisor__content {
	width: min(100%, 67.5rem);
	margin-inline: auto;
}

.theme-advisor h2 {
	margin: 0;
	color: var(--theme-color-blue-dark);
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1.5;
}

.theme-advisor p {
	margin: 0 0 1.5rem;
	color: #666;
	font-size: 1.25rem;
	line-height: 1.5;
}

.theme-advisor form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3.375rem;
}

.theme-advisor__field {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	color: #666;
	font-size: 1.25rem;
	line-height: 1.5;
}

.theme-advisor__action {
	display: flex;
	align-items: end;
}

.theme-advisor .wp-element-button {
	min-height: 2.3rem;
	padding: .375rem 2.5rem .375rem .875rem;
	border: 1px solid #bababa;
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-blue-dark);
	background: #f0f0f0;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
}

.theme-advisor [data-advisor-result] {
	margin: .75rem 0 0;
}

.theme-reviews {
	position: relative;
	overflow: hidden;
	padding-block: clamp(7rem, 11vw, 9.5rem);
	background-color: #003366;
	background-image: linear-gradient(180deg, rgba(8, 118, 173, 0.3) 0%, rgba(0, 57, 115, 0.48) 50%, rgba(0, 24, 52, 0.65) 100%), url("assets/media/water-bg-2.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.theme-reviews::before,
.theme-reviews::after {
	position: absolute;
	right: 0;
	left: 0;
	height: clamp(3.5rem, 7vw, 6rem);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
}

.theme-reviews::before {
	top: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M0 51.76c36.21-2.25 77.57-3.58 126.42-3.58 320 0 320 57 640 57 271.15 0 312.58-40.91 513.58-53.4V0H0z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V0H0z' fill-opacity='.5'/%3E%3Cpath d='M0 0v3.4C28.2 1.6 59.4.59 94.42.59c320 0 320 84.3 640 84.3 285 0 316.17-66.85 545.58-81.49V0z'/%3E%3C/g%3E%3C/svg%3E");
}

.theme-reviews::after {
	bottom: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
}

.theme-reviews__inner {
	position: relative;
	z-index: 1;
}

.theme-reviews__header {
	margin-bottom: 2.25rem;
	text-align: center;
}

.theme-reviews__header h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	text-shadow: 0 2px 8px rgba(0, 20, 40, 0.4);
}

.theme-reviews__header p {
	margin: .75rem 0 0;
	color: rgba(255, 255, 255, 0.95);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.theme-review-stage {
	position: relative;
	width: min(100%, 53.75rem);
	padding-inline: 3.75rem;
	margin-inline: auto;
}

.theme-review-control {
	position: absolute;
	z-index: 2;
	top: 50%;
	display: inline-flex;
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid #d7e5f1;
	border-radius: 50%;
	color: var(--theme-color-blue-dark);
	background: #fff;
	box-shadow: 0 .5rem 1.25rem rgb(0 20 40 / 18%);
	font-size: .95rem;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform var(--theme-transition), border-color var(--theme-transition), color var(--theme-transition), background-color var(--theme-transition), box-shadow var(--theme-transition);
}

.theme-review-control svg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	line-height: 1;
	text-align: center;
}

.theme-review-control--previous {
	left: .25rem;
}

.theme-review-control--previous svg {
	transform: translateX(-0.5px);
}

.theme-review-control--next {
	right: .25rem;
}

.theme-review-control--next i {
	transform: translateX(0.5px);
}

.theme-review-control:hover {
	border-color: #288cbf;
	color: #003973;
	background: #f0f7fc;
	box-shadow: 0 .75rem 1.5rem rgb(0 20 40 / 24%);
	transform: translateY(calc(-50% - 1px));
}

.theme-review-stage>.theme-review-grid {
	display: block !important;
	width: 100%;
	height: 21.25rem;
	min-width: 0;
	min-height: 21.25rem;
	touch-action: pan-y;
}

.theme-review-grid>.theme-review {
	position: relative;
	display: none;
	width: 100% !important;
	height: 100%;
	flex: none !important;
	flex-direction: column;
	overflow: hidden;
	padding: clamp(1.8rem, 4vw, 2.8rem);
	border: 1px solid #d8e6f2;
	border-radius: 1.5rem;
	background: #ffffff;
	box-shadow: 0 1.125rem 2.8125rem rgb(0 20 40 / 20%);
	text-align: left;
}

.theme-review.is-active {
	display: flex;
	animation: theme-review-enter .24s ease both;
}

.theme-review-grid:has(.theme-review.is-expanded) {
	height: auto;
	min-height: 21.25rem;
}

.theme-review-grid>.theme-review.is-expanded {
	height: auto;
	min-height: 21.25rem;
	overflow: visible;
}

.theme-review::before {
	position: absolute;
	right: 1.25rem;
	bottom: -6rem;
	color: rgb(21 117 205 / 8%);
	content: "“";
	font-family: Georgia, serif;
	font-size: 11.5rem;
	line-height: 1;
	pointer-events: none;
}

.theme-review>* {
	position: relative;
	z-index: 1;
}

.theme-review__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.theme-review-stars {
	margin: 0 1rem 0 0;
	color: #f5a623;
	font-size: 1.45rem;
	letter-spacing: .08em;
}

.theme-review-platform {
	padding: .38rem .72rem;
	border: 1px solid #d7e5f1;
	border-radius: 999px;
	color: #315d87;
	background: #fff;
	font-size: .74rem;
	font-weight: 700;
}

.theme-review-author {
	margin: 0 0 .6rem;
	color: var(--theme-color-blue-dark);
	font-size: 1rem;
	font-weight: 800;
}

.theme-review blockquote {
	flex: 1;
	min-height: 0;
	margin: 0;
	color: #49647d;
	font-size: .96rem;
	font-style: normal;
	line-height: 1.7;
}

/* Angeteaserte Bewertungen bleiben auf Desktop auf fünf Zeilen begrenzt; der vollständige
   Text ist über "weiterlesen" erreichbar. So bleibt die Kartenhöhe beim Durchwechseln
   stabil, ohne kurze Bewertungen unzugänglich zu beschneiden. */
.theme-review__text--truncated [data-review-summary] {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
}

.theme-review__more {
	padding: 0;
	border: 0;
	color: var(--theme-color-blue-dark);
	background: transparent;
	font: inherit;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: .16em;
	cursor: pointer;
}

.theme-fast-delivery {
	color: var(--theme-color-success);
	font-weight: 750;
}

.theme-fast-delivery::before {
	display: inline-block;
	width: .6rem;
	height: .6rem;
	margin-right: .4rem;
	border-radius: 50%;
	content: '';
	background: #12b76a;
	animation: theme-pulse 1.6s infinite;
}

.theme-quiz-teaser {
	position: relative;
	overflow: hidden;
	padding: 1.5rem;
	margin: 1.25rem 0 2.5rem;
	border-radius: .375rem;
	background: center / cover no-repeat url("https://www.wellblue.com/media/Wasserhaerte-ermitteln-mit-wasserhaerte.io_-980x560.jpg");
	text-align: center;
	opacity: 0;
	transition: opacity 1.3s ease;
}

.theme-quiz-teaser::before {
	position: absolute;
	inset: 0;
	background: #fff;
	content: "";
	opacity: .3;
}

.theme-quiz-teaser.is-visible {
	opacity: 1;
}

.theme-quiz-teaser>* {
	position: relative;
}

.theme-quiz-teaser>div {
	padding: 1.5em;
	background: rgb(255 255 255 / 70%);
}

.theme-quiz-teaser p {
	margin: 0;
	font-weight: 700;
}

.theme-quiz-teaser a {
	display: inline-block;
	padding: .625rem 1.25rem;
	margin-top: 1.5em;
	border-radius: .3125rem;
	color: #fff;
	background: #007bff;
	font-weight: 700;
	text-decoration: none;
}

.theme-quiz-teaser a:hover {
	color: #fff;
	background: #0056b3;
}

.quicknote-box {
	margin: 1.75rem 0;
	padding: 1.25rem 1.5rem;
	border-left: .3125rem solid #5ea8d6;
	border-radius: .25rem;
	background: #eef7fc;
}

.quicknote-title {
	margin: 0 0 .625rem;
	color: #5ea8d6;
	font-size: 1.125rem;
	font-weight: 700;
}

.quicknote-content {
	color: #2f5f7a;
	font-size: 1rem;
	line-height: 1.6;
}

.quicknote-content :where(ul, ol) {
	padding-left: 1.2em;
	margin: 0;
}

.quicknote-content li {
	margin: 0;
}

.quicknote-content li+li {
	margin-top: .5rem;
}

.quicknote-content> :first-child {
	margin-top: 0;
}

.quicknote-content> :last-child {
	margin-bottom: 0;
}

.theme-text-more {
	padding: 0;
	border: 0;
	color: var(--theme-color-blue-dark);
	background: transparent;
	font-weight: 750;
	text-decoration: underline;
	cursor: pointer;
}

@keyframes theme-pulse {
	0% {
		box-shadow: 0 0 0 0 rgb(18 183 106 / 40%);
	}

	70% {
		box-shadow: 0 0 0 .5rem rgb(18 183 106 / 0%);
	}

	100% {
		box-shadow: 0 0 0 0 rgb(18 183 106 / 0%);
	}
}

@keyframes theme-review-enter {
	from {
		opacity: 0;
		transform: translateX(.45rem);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes theme-usp-enter {
	from {
		opacity: 0;
		transform: translateY(.35rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes theme-usp-sheen {
	0% {
		opacity: 0;
		transform: translateX(-120%);
	}

	35% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translateX(120%);
	}
}

.theme-contact-section {
	padding-block: clamp(5rem, 8vw, 7.5rem);
	background: #fff;
}

.theme-contact-section__title {
	margin: 0 0 clamp(2rem, 5vw, 4rem);
	color: var(--theme-color-blue-dark);
	font-size: clamp(1.45rem, 2.6vw, 2.05rem);
	line-height: 1.25;
	text-align: center;
}

.theme-contact-section__grid {
	display: grid;
	grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.65fr);
	align-items: start;
	gap: clamp(2rem, 5vw, 4rem);
}

.theme-contact-section__lead {
	max-width: 22rem;
	margin: .35rem 0 clamp(2rem, 5vw, 4.5rem);
	color: var(--theme-color-muted);
	font-size: clamp(1.12rem, 1.7vw, 1.25rem);
	line-height: 1.55;
}

.theme-contact-section__benefits {
	display: block;
	width: min(100%, 24rem);
	height: auto;
}

.theme-contact-section__form {
	min-width: 0;
}

.theme-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 1.35rem;
}

.theme-contact-form p {
	margin: 0;
}

.theme-contact-form .theme-form-grid>p {
	position: relative;
}

.theme-contact-form textarea {
	--theme-field-height: 9.35rem;
}

.theme-contact-form input::placeholder,
.theme-contact-form textarea::placeholder {
	color: var(--theme-color-blue-dark);
	opacity: 1;
}

.theme-contact-form .theme-form-grid+p {
	margin-top: 1.25rem;
}

.theme-contact-form__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.25rem;
	min-height: 3.1rem;
	margin-top: 1.8rem;
}

.theme-contact-form__actions .theme-form-message {
	align-self: center;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 32rem;
	margin: 0 !important;
	font-size: .95rem;
	line-height: 1.45;
}

.theme-contact-form__actions .theme-form-message:empty {
	display: none;
}

.theme-contact-form__submit {
	display: flex;
	justify-content: flex-end;
	flex-shrink: 0;
	margin: 0 0 0 auto;
}

.theme-contact-form__submit .wp-element-button {
	gap: .65rem;
	font-size: 1.08rem;
}

.theme-contact-form__submit svg {
	font-size: 1.15rem;
}

body.site-layout .theme-contact-form input[aria-invalid=true] {
	border-color: var(--theme-color-danger);
	box-shadow: 0 0 0 2px rgb(192 57 43 / 18%);
}

.theme-email-warning {
	position: absolute;
	z-index: 5;
	bottom: calc(100% + .625rem);
	left: 0;
	display: block;
	width: min(20.625rem, calc(100vw - 3rem));
	padding: .75rem .9rem;
	border: 1px solid rgb(0 57 115 / 55%);
	border-radius: .625rem;
	color: #fff;
	background: var(--theme-color-blue-dark);
	box-shadow: 0 .75rem 1.75rem rgb(16 35 62 / 24%);
	font-size: .8rem;
	font-weight: 600;
	line-height: 1.5;
}

.theme-email-warning::after {
	position: absolute;
	top: 100%;
	left: 1.375rem;
	border: .4375rem solid transparent;
	border-top-color: var(--theme-color-blue-dark);
	content: "";
}

.theme-email-warning[hidden] {
	display: none;
}

.theme-email-warning__suggestion {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	color: #8cc4ea;
	background: transparent;
	font: inherit;
	font-weight: 800;
	text-align: left;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	cursor: pointer;
}

.theme-email-warning__suggestion:hover {
	color: #fff;
}

.theme-email-warning__close {
	position: absolute;
	top: .3rem;
	right: .3rem;
	display: grid;
	place-items: center;
	min-width: 1.5rem;
	min-height: 1.5rem;
	padding: 0;
	border: 0;
	color: inherit;
	background: transparent;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
}

.theme-email-warning__close:hover {
	color: #dcefff;
}

.theme-form-message {
	display: block;
	margin-top: .5rem;
}

.theme-form-message.is-error {
	color: var(--theme-color-danger);
}

.theme-form-message:not(.is-error) {
	color: var(--theme-color-success);
}

.theme-honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.order-withdrawal-request label[for="order-withdrawal-request-order-number"]::after {
	content: " *";
	color: var(--theme-color-danger);
	font-weight: 700;
}

.theme-installation-service {
	margin-block: var(--theme-space-m);
	padding: var(--theme-space-m);
	border-radius: var(--theme-radius-s);
	background: var(--theme-color-sky);
	overflow: hidden;
}

.installation-service-notice {
	margin-top: 1rem;
	margin-bottom: 0;
	padding: .85rem 1.15rem;
	border: 1px solid var(--theme-notice-border);
	border-left: .25rem solid var(--theme-color-blue);
	border-radius: var(--theme-radius-s);
	background: var(--theme-notice-background);
	color: var(--theme-notice-color);
	font-size: .9rem;
	line-height: 1.5;
	box-shadow: var(--theme-notice-shadow);
	overflow: hidden;
}

@media (min-width: 60.626rem) {
	.theme-header-nav[hidden] {
		display: block !important;
	}

	.woocommerce div.product {
		grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr);
	}
}

@media (min-width: 64.001rem) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.05fr) minmax(26.5rem, .95fr);
		align-items: start;
		gap: clamp(1.25rem, 3vw, 2.5rem);
	}

	.woocommerce-checkout form.checkout> :is(.woocommerce-NoticeGroup, .woocommerce-NoticeGroup-checkout, .woocommerce-notices-wrapper, .woocommerce-error) {
		grid-column: 1 / -1;
	}

	.woocommerce-checkout form.checkout>#customer_details {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout form.checkout>#customer_details {
		grid-column: 1;
	}

	.woocommerce-checkout form.checkout> :is(#order_review_heading, #order_review) {
		grid-column: 2;
	}

	.woocommerce-checkout form.checkout>#order_review {
		position: sticky;
		top: calc(8rem + var(--theme-adminbar-offset));
		padding: clamp(1.25rem, 2.5vw, 1.85rem);
		border: 1px solid var(--theme-color-line);
		background: #fff;
		box-shadow: var(--theme-shadow);
	}

	.woocommerce-checkout #order_review_heading {
		margin-top: 1.5rem;
	}
}

/* Offsets exakt an den WordPress-Core-Admin-Bar-Breakpoints: Bis 782px ist die 46px hohe Leiste fixiert, darunter positioniert Core sie absolut, sodass der Header bündig oben haften muss. */
@media (max-width: 782px) {
	.admin-bar {
		--theme-adminbar-offset: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar {
		--theme-adminbar-offset: 0px;
	}
}

/* Mobile-Layout inkl. Burger-Menü bis 970px, darüber Desktop */
@media (max-width: 60.625rem) {
	.theme-site-footer {
		--theme-footer-wave-height: 5.75rem;
	}

	.theme-usp-ticker {
		font-size: .8125rem;
		font-weight: 500;
		line-height: 1.35;
	}

	.theme-usp-ticker .theme-container {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-inline: .75rem;
	}

	.theme-usp-ticker p {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: .625rem;
		min-width: 0;
		max-width: 100%;
		padding-block: .45rem;
		font-size: .8125rem;
		font-weight: 500;
		line-height: 1.35;
	}

	.theme-usp-ticker__text {
		text-align: left;
	}

	.theme-usp-ticker__line {
		display: block;
		white-space: nowrap;
	}

	.theme-usp-ticker__divider {
		display: block;
		width: 1px;
		height: 1.75rem;
		background: rgb(255 255 255 / 38%);
	}

	.theme-usp-ticker svg {
		width: 1rem;
		color: #fff;
		font-size: .95rem;
		line-height: 1;
		text-align: center;
		transform: translateY(-0.5px);
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.theme-header-inner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0;
		min-height: 0;
		padding-block: .75rem;
	}

	.custom-logo-link,
	.theme-brand-logo {
		display: flex;
		align-items: center;
		width: 9.5rem;
		max-width: 9.5rem;
		line-height: 0;
	}

	.custom-logo-link img,
	.theme-brand-logo img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 300 / 83;
	}

	.theme-brand {
		order: 1;
		display: flex;
		align-items: center;
	}

	/* Einheitlicher Abstand zwischen Mein-Konto, Warenkorb und Burger-Menü */
	.theme-account-link,
	.theme-cart-link {
		margin-right: .5rem;
	}

	.theme-account-link {
		order: 2;
		margin-left: auto;
	}

	.theme-cart-link {
		order: 3;
	}

	.theme-menu-toggle {
		order: 4;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		min-width: 2.75rem;
		height: 2.75rem;
		min-height: 2.75rem;
		padding: 0;
		border: 0;
		border-radius: var(--theme-radius-s);
		color: var(--theme-color-blue-secondary);
		background: transparent;
		font-size: 1.35rem;
		cursor: pointer;
	}

	.theme-menu-toggle span {
		display: none;
	}

	.theme-header-nav {
		order: 5;
		width: 100%;
		flex: 1 0 100%;
		margin-left: 0;
	}

	.theme-header-nav[hidden] {
		display: none !important;
	}

	.theme-header-nav:not([hidden]) {
		display: block;
		margin-top: .75rem;
		padding-top: .5rem;
		border-top: 1px solid var(--theme-color-line);
	}

	.theme-primary-menu {
		display: grid;
		width: 100%;
		gap: 0;
		padding-block: .25rem;
	}

	.theme-primary-menu a {
		width: 100%;
		border-bottom: 1px solid var(--theme-color-line);
	}

	.theme-primary-menu>li:last-child>a,
	.theme-primary-menu>li:last-child .sub-menu li:last-child a {
		border-bottom: 0;
	}

	.theme-primary-menu .sub-menu {
		position: static;
		display: grid;
		min-width: 0;
		padding: 0 0 0 1rem;
		border: 0;
		box-shadow: none;
	}

	.theme-primary-menu .sub-menu::before {
		display: none;
	}

	.theme-primary-menu .sub-menu a {
		min-height: 2.6rem;
		white-space: normal;
	}

	.theme-primary-menu>.menu-item-has-children>a::after,
	.theme-primary-menu .sub-menu .menu-item-has-children>a::after {
		display: none;
	}

	.theme-footer-top {
		min-height: 6.25rem;
		flex-direction: column;
		justify-content: center;
		gap: .65rem;
	}

	.theme-footer-top>img {
		width: 11.25rem;
		height: auto;
		aspect-ratio: 300 / 83;
	}

	.theme-footer-social {
		gap: 1.2rem;
	}

	.theme-footer-navigation {
		margin-top: 1rem;
	}

	.theme-footer-navigation .theme-footer-menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: .55rem 0;
		align-items: center;
		font-size: .92rem;
		text-align: center;
	}

	.theme-footer-navigation .theme-footer-menu::before,
	.theme-footer-navigation .theme-footer-menu::after {
		display: block;
		width: 100%;
		height: 0;
		flex-basis: 100%;
		content: "";
	}

	.theme-footer-navigation .theme-footer-menu::before {
		order: 1;
	}

	.theme-footer-navigation .theme-footer-menu::after {
		order: 3;
	}

	.theme-footer-navigation .theme-footer-menu li {
		position: relative;
		white-space: nowrap;
	}

	.theme-footer-navigation .theme-footer-menu li:nth-child(1),
	.theme-footer-navigation .theme-footer-menu li:nth-child(2),
	.theme-footer-navigation .theme-footer-menu li:nth-child(4) {
		order: 0;
	}

	.theme-footer-navigation .theme-footer-menu li:nth-child(5),
	.theme-footer-navigation .theme-footer-menu li:nth-child(6) {
		order: 2;
	}

	.theme-footer-navigation .theme-footer-menu li:nth-child(3) {
		order: 4;
	}

	.theme-footer-navigation .theme-footer-menu li::before {
		display: none;
	}

	.theme-footer-navigation .theme-footer-menu li:nth-child(2)::before,
	.theme-footer-navigation .theme-footer-menu li:nth-child(4)::before,
	.theme-footer-navigation .theme-footer-menu li:nth-child(6)::before {
		display: inline;
	}

	.theme-product-grid.products {
		grid-template-columns: 1fr;
	}

	.theme-form-grid {
		grid-template-columns: 1fr;
	}

	.theme-contact-section__grid {
		grid-template-columns: 1fr;
		gap: 2.25rem;
	}

	.theme-contact-section__introduction {
		text-align: center;
	}

	.theme-contact-section__title {
		max-width: 19rem;
		margin-inline: auto;
	}

	.theme-contact-section__lead {
		max-width: 21rem;
		margin-inline: auto;
		margin-bottom: 2rem;
		text-align: center;
	}

	.theme-contact-section__benefits {
		width: min(100%, 25rem);
		height: auto;
		aspect-ratio: 2925 / 1313;
		margin-inline: auto;
	}

	.theme-review-stage {
		padding-inline: 2.85rem;
		width: 100%;
	}

	.theme-review-stage>.theme-review-grid {
		height: 20rem;
		min-height: 20rem;
	}

	/* Auf kleinen Ansichten bleibt der Anriss kürzer (drei Zeilen), die Karte ist kompakter. */
	.theme-review__text--truncated [data-review-summary] {
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	.theme-review-control {
		width: 2.4rem;
		height: 2.4rem;
		font-size: .85rem;
	}

	.theme-review-control--previous {
		left: .15rem;
	}

	.theme-review-control--next {
		right: .15rem;
	}

	.theme-review-grid>.theme-review {
		padding: 1.55rem 1.35rem;
	}

	.theme-review__header {
		flex-wrap: wrap;
		gap: .5rem;
	}

	.theme-review-stars {
		margin-right: 0;
	}

	:is(.theme-section.headline-teaser, .theme-category-hero) .theme-category-hero__badge {
		right: 6%;
		bottom: -1.75rem;
		width: clamp(6.25rem, 22vw, 8.25rem);
		height: auto;
	}

	.theme-filter-links {
		gap: .5rem;
	}

	.theme-filter-link {
		min-height: 3rem;
	}

	.theme-column {
		grid-column: 1 / -1 !important;
	}

	.theme-grid--stack-mobile {
		--theme-grid-columns: 1;
	}

	.woocommerce .col2-set,
	.woocommerce-account .woocommerce,
	.woocommerce-account:not(.logged-in) .col2-set#customer_login,
	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-customer-details,
	.woocommerce-bacs-bank-details ul.wc-bacs-bank-details,
	.woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr;
	}

	.woocommerce table.shop_table_responsive thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	/* Bestellbestätigung & Konto mobil */
	.woocommerce-order-details table.order_details tbody td {
		padding: 1rem 0;
	}

	.woocommerce-order-details table.order_details tfoot td {
		white-space: normal;
	}

	.woocommerce-order-details table.order_details tfoot tr.order-total td {
		white-space: nowrap;
	}

	.woocommerce-order-pay form#order_review table.shop_table thead th {
		padding: .6rem .35rem;
	}

	.woocommerce-order-pay form#order_review table.shop_table tbody td {
		padding: .9rem .35rem;
	}

	.woocommerce-account table.woocommerce-orders-table tbody :is(td, th) {
		padding: .7rem .75rem;
	}

	.woocommerce-cart table.cart thead {
		display: none;
	}

	.woocommerce-cart table.cart tr {
		display: block;
		border-bottom: 1px solid var(--theme-color-line);
		padding: .75rem 0;
	}

	.woocommerce-cart table.cart td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: .65rem 1rem;
		border: none;
	}

	.woocommerce-cart table.cart td::before {
		content: attr(data-title) ": ";
		font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
		font-weight: 700;
		color: #465664;
		margin-right: .5rem;
	}

	.woocommerce-cart table.cart td.product-remove {
		justify-content: flex-end;
		width: 100%;
	}

	.woocommerce-cart table.cart td.product-remove::before {
		display: none;
	}

	.woocommerce-cart table.cart td.product-thumbnail {
		justify-content: center;
		width: 100%;
		padding-left: 1rem;
	}

	.woocommerce-cart table.cart td.product-thumbnail::before {
		display: none;
	}

	.woocommerce-cart table.cart td.actions {
		display: block;
		text-align: center;
	}

	.woocommerce-cart table.cart td.actions::before {
		display: none;
	}

	.woocommerce-cart table.cart td.actions button[name="update_cart"] {
		width: 100%;
		justify-content: center;
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 61.25rem) {
	:root {
		--theme-hero-offset: 3.5rem;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) {
		min-height: 28.125rem;
		padding-top: var(--theme-hero-offset);
		padding-bottom: 2.5rem;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser)::after {
		height: 2.5rem;
		background-size: 100% 2.5rem;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-section__inner {
		margin-top: 0;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-column {
		grid-column: 1 / -1;
		max-width: 100%;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) h1 {
		font-size: 2.0625rem;
		max-width: 100%;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) p,
	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-hero__text,
	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-text>p {
		max-width: 100%;
	}

	.theme-category-hero--osmoseanlagen {
		--theme-hero-overlay: radial-gradient(ellipse at left, rgb(255 255 255 / 87%) 42%, rgb(255 255 255 / 56%) 58%);
		background-position: center !important;
	}

	.theme-category-hero--enthaertungsanlagen,
	.theme-category-hero--3-wege-wasserhaehne,
	.theme-category-hero--filtersaetze,
	.theme-category-hero--wasserionisierer,
	.theme-category-hero--wasserspender {
		--theme-hero-overlay: radial-gradient(circle at top left, rgb(255 255 255 / 93%) 49%, rgb(255 255 255 / 36%) 98%);
		background-position: right top;
	}
}

@media (max-width: 47.9375rem) {
	:root {
		--theme-hero-offset: 3rem;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) {
		min-height: 26.25rem;
		padding-top: var(--theme-hero-offset);
		padding-bottom: 2rem;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-section__inner {
		margin-top: 0;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-column {
		grid-column: 1 / -1;
		max-width: 100%;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) h1 {
		font-size: 1.8125rem;
		max-width: 100%;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) p,
	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-hero__text,
	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-text>p {
		max-width: 100%;
	}

	.theme-advisor {
		padding: 3.125rem 1rem;
	}

	.theme-advisor form {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.theme-category-hero--osmoseanlagen {
		--theme-hero-overlay: radial-gradient(ellipse at left, rgb(255 255 255 / 75%) 43%, rgb(255 255 255 / 55%) 58%);
		background-image: url("/media/kind-trinkt-gesundes-wasser-400x240.jpg") !important;
	}

	.theme-category-hero--enthaertungsanlagen,
	.theme-category-hero--3-wege-wasserhaehne,
	.theme-category-hero--filtersaetze,
	.theme-category-hero--wasserionisierer,
	.theme-category-hero--wasserspender {
		--theme-hero-overlay: radial-gradient(circle at top left, rgb(255 255 255 / 85%) 51%, rgb(255 255 255 / 47%) 99%);
	}
}

@media (max-width: 36rem) {
	.theme-site-footer {
		--theme-footer-wave-height: 3.375rem;
	}

	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) p,
	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-hero__text,
	:is(.theme-section.theme-category-hero, .theme-section.headline-teaser, .theme-hero, .theme-section--hero, .headline-teaser) .theme-text>p {
		font-size: .95625rem;
		line-height: 1.765;
	}

	:is(.theme-section.headline-teaser, .theme-category-hero) .theme-category-hero__badge {
		right: 6%;
		bottom: -1.75rem;
		width: clamp(6.25rem, 22vw, 8.25rem);
		height: auto;
	}

	.theme-category-hero__trust img {
		width: 4rem;
		height: 4rem;
	}

	.theme-contact-form__actions {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: .75rem;
	}

	.theme-contact-form__submit {
		width: 100%;
		margin-left: 0;
		justify-content: stretch;
	}

	.theme-contact-form__submit .wp-element-button {
		width: 100%;
		justify-content: center;
	}

	.theme-contact-form__actions .theme-form-message {
		max-width: none;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* Generische Shop-Tabellen (Warenkorb, Kasse, Bestelldetails) */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border-color: var(--theme-color-line);
}

.woocommerce table.shop_table :where(th, td) {
	padding: .875rem;
	border-color: var(--theme-color-line);
}
