/* Kapten & Son – Storefront-Styles */

:root {
	--ink: #1c1c1c;
	--ink-soft: #4a4a4a;
	--taupe: #746153;
	--taupe-dark: #5f4f43;
	--beige: #f1ece6;
	--line: #e6e1db;
	--gray: #f4f4f4;
	--btn: #3a3a3a;
	--btn-hover: #232323;
	--white: #fff;
	--radius: 2px;
	--header-h: 86px;
	--font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
	font-family: var(--font);
	color: var(--ink);
	background: var(--white);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul { list-style: none; margin: 0; padding: 0; }
button { font-family: inherit; cursor: pointer; }

.kpt-h1 { font-size: 34px; font-weight: 700; letter-spacing: -0.01em; }
.kpt-h2 { font-size: 26px; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 22px; }

/* ---------- Topbar ---------- */
.kpt-topbar {
	background: #f4f3f1;
	color: #1c1c1c;
	border-bottom: 1px solid #e6e3de;
	height: 40px;
	display: flex;
	align-items: center;
	position: sticky;
	top: 0;
	z-index: 41;
}
.kpt-topbar__inner {
	position: relative;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.kpt-topbar__link {
	background: none;
	border: 0;
	color: #1c1c1c;
	font-size: 13px;
	letter-spacing: 0.01em;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 6px;
	cursor: pointer;
}
.kpt-topbar__link:hover { color: #000; }
.kpt-caret { display: inline-block; transition: transform .2s ease; font-size: 9px; }
.kpt-topbar__link[aria-expanded="true"] .kpt-caret { transform: rotate(180deg); }
body.kpt-topbar-hidden .kpt-topbar { display: none; }

/* ---------- Header ---------- */
.kpt-header {
	background: var(--white);
	border-bottom: 1px solid var(--line);
	position: sticky;
	top: 40px;
	z-index: 40;
}
.kpt-header__inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 24px;
	height: var(--header-h);
	display: flex;
	align-items: center;
	gap: 24px;
}
.kpt-nav { flex: 1 1 0; }
.kpt-nav__list { display: flex; gap: 30px; font-size: 16px; }
.kpt-nav__list a {
	color: var(--ink);
	padding: 6px 0;
	display: inline-block;
	border-bottom: 1px solid transparent;
	line-height: 1.2;
}
.kpt-nav__list a:hover { border-bottom-color: var(--ink); }
.kpt-nav__list .current-menu-item > a,
.kpt-nav__list .current_page_item > a { border-bottom-color: var(--ink); }

.kpt-logo { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; }
.kpt-logo img { width: 210px; height: auto; }
.kpt-logo span { font-size: 22px; letter-spacing: 0.16em; font-weight: 700; }

.kpt-actions { flex: 1 1 0; display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.kpt-search-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ink);
	padding: 0 0 7px;
	width: 230px;
	color: var(--ink);
	font-size: 15px;
	text-align: left;
}
.kpt-icon { position: relative; color: var(--ink); display: inline-flex; }
.kpt-cart-count {
	position: absolute;
	top: -7px;
	right: -9px;
	background: var(--ink);
	color: #fff;
	font-size: 10px;
	line-height: 1;
	min-width: 15px;
	height: 15px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 3px;
}
.kpt-burger { display: none; background: none; border: 0; width: 26px; padding: 0; }
.kpt-burger span { display: block; height: 1.5px; background: var(--ink); margin: 5px 0; }

.kpt-mobile-nav { display: none; border-top: 1px solid var(--line); padding: 12px 20px 18px; }
.kpt-mobile-nav.is-open { display: block; }
.kpt-mobile-nav__list li { padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.kpt-mobile-nav__shop { display: block; margin-top: 14px; font-weight: 700; }

/* ---------- Suche ---------- */
.kpt-search {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(28, 28, 28, .18);
	z-index: 80;
	padding: 0;
}
.kpt-search.is-open { display: block; }
.kpt-search__panel {
	position: relative;
	width: min(720px, calc(100% - 32px));
	margin: var(--kpt-chrome, 126px) auto 0;
	background: #fff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .16);
}
.kpt-search__panel form {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 20px;
	border-bottom: 1px solid #ece9e4;
}
.kpt-search__results { max-height: min(62vh, 520px); overflow-y: auto; }
.kpt-search__empty { padding: 22px 20px; font-size: 14px; color: #6b6b6b; }
.kpt-search__row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 20px;
	border-bottom: 1px solid #f3f1ee;
	color: var(--ink);
}
.kpt-search__row:hover { background: #f7f5f2; }
.kpt-search__row img { width: 52px; height: 52px; object-fit: contain; background: #f6f5f3; flex: 0 0 52px; }
.kpt-search__row-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kpt-search__row-name { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kpt-search__row-price { font-size: 13px; color: #4a4a4a; }
.kpt-search__more {
	display: block;
	padding: 14px 20px;
	font-size: 13px;
	text-align: center;
	color: #4a4a4a;
	background: #faf9f7;
}
.kpt-search__more:hover { color: #1c1c1c; }
.kpt-search form {
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 8px;
}
.kpt-search input[type="search"] {
	flex: 1;
	border: 0;
	outline: none;
	font-size: 26px;
	font-family: inherit;
}
.kpt-search button { background: none; border: 0; }
.kpt-search__close {
	position: absolute;
	top: 18px;
	right: 24px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #d8d3cc;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
	color: #1c1c1c;
	cursor: pointer;
	z-index: 2;
}
.kpt-search__close:hover { background: #f2f0ed; }

/* ---------- Hero ---------- */
.kpt-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: clamp(520px, 44.4vw, 900px);
	background: #746153;
}
.kpt-hero__text {
	color: #ECEAE6;
	padding: 72px clamp(36px, 10.6vw, 205px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
}
.kpt-hero__kicker { margin: 0; font-size: 18px; font-weight: 400; letter-spacing: 0.005em; }
.kpt-hero__title {
	margin: 0;
	font-size: 42px;
	letter-spacing: 0.015em;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.15;
}
.kpt-hero__sub {
	margin: 6px 0 0;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	font-size: 20px;
	line-height: 1;
	color: #ECEAE6;
	align-self: flex-start;
}
.kpt-hero__sub:hover { opacity: .82; }
.kpt-hero__arrow { transition: transform .2s ease; }
.kpt-hero__sub:hover .kpt-hero__arrow { transform: translateX(4px); }
.kpt-hero__image { position: relative; }
.kpt-hero__image picture, .kpt-hero__image img { display: block; width: 100%; height: 100%; }
.kpt-hero__image img { object-fit: cover; height: clamp(520px, 44.4vw, 900px); }

/* ---------- Kategorie-Kacheln (scrollbar) ---------- */
.kpt-tiles-section { max-width: none; padding: 42px 0 26px; }
.kpt-tiles-section .kpt-h2 { padding: 0 32px; }
.kpt-cats {
	position: relative;
	padding-bottom: 22px;
}
.kpt-cats__track {
	display: flex;
	gap: 8px;
	padding-left: 32px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.kpt-cats__track::-webkit-scrollbar { display: none; }

.kpt-cat-tile { flex: 0 0 calc((100% - 56px) / 8); }
.kpt-cat-tile a { display: block; }
.kpt-cat-tile__img {
	display: block;
	aspect-ratio: 1 / 1;
	background: #f2f2f0;
	overflow: hidden;
}
.kpt-cat-tile__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	padding: 0;
	mix-blend-mode: multiply;
	transition: transform .3s ease;
}
.kpt-cat-tile:hover .kpt-cat-tile__img img { transform: scale(1.04); }
.kpt-cat-tile__label {
	display: block;
	margin-top: 9px;
	font-size: 13px;
	color: var(--ink);
}

/* Pfeile + Fortschrittsbalken */
.kpt-cats__nav {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 1720px;
	margin: 12px auto 0;
	padding: 0 24px;
}
.kpt-cats__edge {
	background: none;
	border: 0;
	padding: 0;
	font-size: 17px;
	line-height: 1;
	color: var(--ink);
	cursor: pointer;
	flex: 0 0 auto;
}
.kpt-cats__edge:disabled { color: #c4c4c4; cursor: default; }
.kpt-cats__bar {
	position: relative;
	flex: 1 1 auto;
	height: 1px;
	background: #e2ddd6;
	overflow: hidden;
}
.kpt-cats__thumb {
	position: absolute;
	top: 0;
	left: 0;
	height: 1px;
	background: #1c1c1c;
	width: 25%;
	transition: left .12s linear;
}

/* ---------- Drop / Carousel ---------- */
.kpt-drops { background: var(--beige); padding: 40px 0 46px; margin-top: 40px; }
.kpt-drops .kpt-h2 { max-width: 1720px; margin: 0 auto 22px; padding: 0 24px; }
.kpt-carousel { position: relative; max-width: 1720px; margin: 0 auto; padding: 0 24px; }
.kpt-carousel__track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 6px;
}
.kpt-carousel__track::-webkit-scrollbar { display: none; }
.kpt-carousel__btn {
	position: absolute;
	top: 108px;
	transform: translateY(-50%);
	z-index: 5;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(0, 0, 0, .06);
	background: #fff;
	color: #1c1c1c;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
	transition: box-shadow .18s ease, transform .18s ease;
}
.kpt-carousel__btn svg { display: block; }
.kpt-carousel__btn:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
	transform: translateY(-50%) scale(1.05);
}
.kpt-carousel__btn:active { transform: translateY(-50%) scale(.96); }
.kpt-carousel__btn:focus-visible { outline: 2px solid #1c1c1c; outline-offset: 3px; }
.kpt-carousel__btn--prev { left: 34px; }
.kpt-carousel__btn--next { right: 34px; }
.kpt-carousel__btn[disabled] {
	color: #bfbfbf;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
	background: rgba(255, 255, 255, .92);
	cursor: default;
	transform: translateY(-50%);
}
.kpt-carousel__btn[disabled]:hover { transform: translateY(-50%); box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }

.kpt-card {
	width: 232px;
	flex: 0 0 232px;
	background: transparent;
}
.kpt-carousel .kpt-card { width: 208px; flex: 0 0 208px; }
.kpt-card__media {
	position: relative;
	display: block;
	background: #fff;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.kpt-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform .3s ease; }
.kpt-card:hover .kpt-card__media img { transform: scale(1.03); }
.kpt-card__badges {
	position: absolute;
	top: 8px;
	left: 8px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	z-index: 2;
}
.kpt-badge {
	background: rgba(255, 255, 255, 0.92);
	color: var(--ink);
	font-size: 9.5px;
	letter-spacing: 0.06em;
	padding: 3px 6px;
	text-transform: uppercase;
}
.kpt-card__arrow {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	opacity: 0;
	transition: opacity .2s ease;
}
.kpt-card:hover .kpt-card__arrow { opacity: 1; }
.kpt-card__body { padding: 10px 2px 0; }
.kpt-card__name { display: block; font-size: 13.5px; line-height: 1.35; margin-bottom: 4px; }
.kpt-card__price { font-size: 13.5px; }
.kpt-card__price del { color: #8c8c8c; margin-right: 6px; }
.kpt-card__price ins { text-decoration: none; }

/* ---------- Cozy Season (Editorial) ---------- */
.kpt-cozy {
	background: #746153;
	margin-top: 40px;
	padding: 52px 0 56px;
}
.kpt-cozy__inner {
	position: relative;
	max-width: 1720px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: stretch;
}
.kpt-cozy__left {
	width: 68.2%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	min-width: 0;
}
.kpt-cozy__text {
	color: #ECEAE6;
	max-width: 800px;
}
.kpt-cozy__kicker {
	margin: 0 0 14px;
	font-size: 19px;
	font-weight: 400;
	letter-spacing: 0.005em;
	color: #ECEAE6;
}
.kpt-cozy__title {
	margin: 0 0 24px;
	font-size: 44px;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: 0.002em;
	color: #ECEAE6;
}
.kpt-cozy__copy {
	margin: 0 0 32px;
	font-size: 16px;
	line-height: 1.58;
	color: #ECEAE6;
	max-width: 600px;
}
.kpt-cozy .kpt-btn--light {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ECEAE6;
	color: #746153;
	padding: 10px 32px;
	min-height: 44px;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.005em;
	line-height: 1.2;
	border: 0;
	border-radius: 0;
	align-self: flex-start;
	box-shadow: none;
	transition: background .18s ease, color .18s ease;
}
.kpt-cozy .kpt-btn--light:hover { background: #ffffff; color: #746153; }
.kpt-cozy .kpt-btn--light:active { background: #E2DFD9; }
.kpt-cozy .kpt-btn--light:focus-visible { outline: 2px solid #ECEAE6; outline-offset: 3px; }

.kpt-cozy__photos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
.kpt-cozy__photos figure {
	margin: 0;
	aspect-ratio: 1024 / 1200;
	overflow: hidden;
}
.kpt-cozy__photos img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kpt-cozy__main {
	width: 39.2%;
	margin-left: -7.4%;
	overflow: hidden;
	z-index: 2;
	flex: 0 0 auto;
}
.kpt-cozy__main picture { display: block; height: 100%; }
.kpt-cozy__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
	display: block;
}

/* ---------- Kategorie ---------- */
.kpt-cat {
	max-width: 1720px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 48px;
	padding: 30px 32px 70px;
}
.kpt-side__title { font-size: 15px; margin: 0 0 10px; font-weight: 400; }
.kpt-side__list { font-size: 14px; margin-bottom: 26px; }
.kpt-side__list li { padding: 6px 0; }
.kpt-side__list a { color: var(--ink); }
.kpt-side__list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.kpt-side__sublist { padding-left: 12px; font-size: 13.5px; color: var(--ink-soft); margin-top: 4px; }
.kpt-side__sublist li { padding: 3px 0; }

.kpt-cat__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 26px;
}
.kpt-cat__title { font-size: 26px; margin: 0 0 10px; font-weight: 700; }
.kpt-cat__count { font-size: 14px; color: var(--ink-soft); font-weight: 400; }
.kpt-cat__sub { margin: 0 0 10px; font-size: 14px; }
.kpt-collections { display: flex; gap: 10px; flex-wrap: wrap; }
.kpt-collection {
	border: 1px solid var(--line);
	padding: 8px 12px;
	font-size: 12.5px;
	display: inline-flex;
	gap: 6px;
}
.kpt-sort select {
	border: 1px solid var(--line);
	background: #fff;
	padding: 9px 12px;
	font-size: 13px;
	font-family: inherit;
}

.kpt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 34px 24px;
}
@media (min-width: 1400px) {
	.kpt-grid { grid-template-columns: repeat(4, 1fr); }
}
.kpt-grid .kpt-card { width: auto; flex: none; }
.kpt-grid .kpt-card__media { aspect-ratio: 4 / 5; }

.kpt-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 44px; font-size: 14px; }
.kpt-pagination .page-numbers {
	border: 1px solid var(--line);
	padding: 7px 12px;
	min-width: 36px;
	text-align: center;
}
.kpt-pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }
.kpt-empty { padding: 40px 0; }

/* ---------- PDP ---------- */
.kpt-pdp { max-width: 1440px; margin: 0 auto; padding: 18px 24px 80px; }
.kpt-breadcrumb { font-size: 12.5px; color: var(--ink-soft); display: flex; gap: 8px; flex-wrap: wrap; padding: 6px 0 18px; }
.kpt-pdp__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 46px; }
.kpt-pdp__media { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kpt-pdp__img { margin: 0; background: var(--gray); }
.kpt-pdp__img img { width: 100%; height: 100%; object-fit: contain; aspect-ratio: 1 / 1; padding: 18px; }
.kpt-pdp__side { font-size: 14px; }
.kpt-pdp__rating { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.kpt-stars { color: #3a3a3a; letter-spacing: 2px; font-size: 13px; }
.kpt-pdp__reviews { color: var(--ink-soft); font-size: 12.5px; }
.kpt-pdp__title { font-size: 26px; font-weight: 500; margin: 0 0 8px; }
.kpt-pdp__price { font-size: 18px; margin-bottom: 20px; }
.kpt-pdp__tax { font-size: 12.5px; color: var(--ink-soft); margin-left: 4px; }
.kpt-pdp__label { margin: 0 0 8px; font-size: 13.5px; }
.kpt-pdp__sizes { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.kpt-size { border: 1px solid var(--line); padding: 9px 14px; font-size: 13px; cursor: pointer; }
.kpt-size input { display: none; }
.kpt-size.is-active { border-color: var(--ink); }
.kpt-pdp__add:hover { background: var(--btn-hover); }
.kpt-pdp__perks { display: grid; gap: 9px; font-size: 13px; color: var(--ink-soft); margin: 0 0 18px; }
.kpt-perk-icon { margin-right: 6px; }
.kpt-pdp__details { margin-top: 70px; border-top: 1px solid var(--line); padding-top: 34px; }
.kpt-pdp__desc { max-width: 760px; font-size: 14px; color: var(--ink-soft); margin-bottom: 24px; }
.kpt-pdp__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 40px; max-width: 900px; }
.kpt-pdp__specs dt { font-weight: 600; font-size: 13.5px; margin-bottom: 3px; }
.kpt-pdp__specs dd { margin: 0; font-size: 13.5px; color: var(--ink-soft); }

/* ---------- Seite ---------- */
.kpt-page { max-width: 1100px; margin: 0 auto; padding: 40px 24px 80px; }
.kpt-page__content { font-size: 15px; }

/* ---------- Footer ---------- */
.kpt-footer {
	background: #f4f2ef;
	margin-top: 70px;
	color: var(--ink);
}
.kpt-footer__inner {
	max-width: 1720px;
	margin: 0 auto;
	padding: 58px 32px 26px;
}
.kpt-footer__discover {
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 26px;
	letter-spacing: -0.01em;
}

/* Karten */
.kpt-footer__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-bottom: 52px;
}
.kpt-fcard { display: block; }
.kpt-fcard__img {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #e9e5df;
}
.kpt-fcard__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.kpt-fcard:hover .kpt-fcard__img img { transform: scale(1.04); }
.kpt-fcard__title {
	display: block;
	margin-top: 14px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.005em;
}
.kpt-fcard__text {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	color: #5f5f5f;
}

/* Newsletter */
.kpt-newsletter {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 30px;
	align-items: center;
	padding: 26px 0 30px;
	border-top: 1px solid #e2ddd6;
	border-bottom: 1px solid #e2ddd6;
}
.kpt-newsletter__intro h3 { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.kpt-newsletter__intro p { margin: 0; font-size: 13px; color: #6b6b6b; }
.kpt-newsletter__ok { margin-top: 6px !important; color: #2f6b46 !important; }
.kpt-newsletter__form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.kpt-field { flex: 1 1 160px; }
.kpt-field input,
.kpt-field select {
	width: 100%;
	border: 1px solid #d9d3cb;
	background: #fff;
	padding: 12px 14px;
	font-size: 13.5px;
	font-family: inherit;
	color: var(--ink);
}
.kpt-field--select { flex: 0 0 150px; }
.kpt-newsletter__btn {
	background: var(--btn);
	color: #fff;
	border: 0;
	padding: 12px 26px;
	font-size: 13.5px;
	font-weight: 600;
	white-space: nowrap;
}
.kpt-newsletter__btn:hover { background: var(--btn-hover); }

/* Social */
.kpt-footer__social {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 22px 0;
	font-size: 13px;
}
.kpt-footer__sociallabel { font-weight: 600; margin-right: 4px; }
.kpt-footer__social a { color: var(--ink); display: inline-flex; }
.kpt-footer__social a:hover { opacity: .6; }
.kpt-footer__share { color: #6b6b6b; margin-left: 6px; }

/* Link-Spalten */
.kpt-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding: 34px 0 30px;
	border-top: 1px solid #e2ddd6;
}
.kpt-footer__col h3 {
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: .07em;
	margin: 0 0 14px;
	font-weight: 600;
}
.kpt-footer__col-sub { margin-top: 22px !important; }
.kpt-footer__list li { padding: 4px 0; font-size: 13.5px; color: #4a4a4a; }
.kpt-footer__list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.kpt-pay {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	max-width: 260px;
}
.kpt-pay li {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #ddd7cf;
	background: #fff;
	border-radius: 3px;
	height: 36px;
	padding: 6px 8px;
}
.kpt-pay img {
	max-width: 100%;
	max-height: 20px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.kpt-footer__note { font-size: 12.5px; color: #6b6b6b; margin: 0; line-height: 1.6; }

/* Legal */
.kpt-footer__legal {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	border-top: 1px solid #e2ddd6;
	padding-top: 18px;
	font-size: 12px;
	color: #6b6b6b;
}
.kpt-footer__legallinks { display: flex; gap: 18px; flex-wrap: wrap; }
.kpt-footer__legallinks a:hover { text-decoration: underline; }
.kpt-footer__country { white-space: nowrap; }

/* ---------- WooCommerce basics (Cart/Checkout) ---------- */
.kpt-main { min-height: 40vh; }
.woocommerce:not(body) { max-width: 1100px; margin: 0 auto; padding: 30px 24px 70px; }
.woocommerce h1, .woocommerce h2 { font-weight: 700; }
.woocommerce-cart .cart_totals, .woocommerce-checkout .woocommerce-checkout-review-order { background: var(--gray); padding: 20px; }
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-bottom: 1px solid var(--line); padding: 12px 8px; text-align: left; }
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.wc-block-components-button {
	background: var(--btn) !important;
	color: #fff !important;
	border-radius: 0 !important;
	padding: 13px 22px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover { background: var(--btn-hover) !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--line);
	padding: 11px 12px;
	font-family: inherit;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.kpt-hero { grid-template-columns: 1fr; min-height: 0; }
	.kpt-hero__image img { min-height: 320px; max-height: 420px; }
	.kpt-cat { grid-template-columns: 1fr; gap: 20px; }
	.kpt-cat__side { order: 2; }
	.kpt-grid { grid-template-columns: repeat(2, 1fr); }
	.kpt-tiles { grid-template-columns: repeat(3, 1fr); }
	.kpt-pdp__grid { grid-template-columns: 1fr; gap: 28px; }
	.kpt-editorial { grid-template-columns: 1fr; }
	.kpt-editorial-strip { grid-template-columns: repeat(3, 1fr); }
	.kpt-editorial-strip img { height: 220px; }
}

@media (max-width: 767px) {
	:root { --header-h: 62px; }
	.kpt-header__inner { padding: 0 16px; gap: 10px; }
	.kpt-nav { display: none; }
	.kpt-burger { display: block; order: -1; }
	.kpt-logo { margin: 0 auto; }
	.kpt-logo img { width: 150px; }
	.kpt-actions { flex: 0 0 auto; gap: 12px; }
	.kpt-search-toggle span { display: none; }
	.kpt-wish { display: none; }
	.kpt-topbar { font-size: 11.5px; }
	.kpt-topbar__link { display: none; }
	.kpt-hero__text { padding: 46px 22px; }
	.kpt-hero__title { font-size: 26px; }
	.kpt-tiles { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.kpt-drops { padding: 28px 0 34px; }
	.kpt-carousel__btn { display: none; }
	.kpt-card, .kpt-carousel .kpt-card { width: 164px; flex: 0 0 164px; }
	.kpt-carousel__track { gap: 10px; }
	.kpt-carousel { padding: 0 16px; }
	.kpt-card__name { font-size: 12.5px; }
	.kpt-card__price ins { font-size: 14px; }
	.kpt-card__price del { font-size: 11.5px; }
	.kpt-card__off { font-size: 10px; padding: 2px 5px; }
	.kpt-grid { grid-template-columns: repeat(2, 1fr); gap: 22px 12px; }
	.kpt-grid .kpt-card__media { aspect-ratio: 1 / 1; }
	.kpt-editorial__text { padding: 40px 22px; }
	.kpt-editorial h2 { font-size: 24px; }
	.kpt-editorial-strip { grid-template-columns: 1fr; }
	.kpt-editorial-strip img { height: 260px; }
	.kpt-pdp { padding: 12px 16px 60px; }
	.kpt-pdp__media { grid-template-columns: 1fr 1fr; gap: 8px; }
	.kpt-pdp__specs { grid-template-columns: 1fr; }
	.kpt-cat { padding: 18px 16px 60px; }
	.kpt-cat__head { flex-direction: column; }
	.kpt-footer__cols { grid-template-columns: 1fr; gap: 24px; }
	.kpt-footer__legal { flex-direction: column; gap: 6px; }
}


/* Wunschliste-Herz auf Karten */
.kpt-card { position: relative; }
.kpt-card__wish {
	position: absolute;
	top: 6px;
	right: 6px;
	z-index: 3;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ink);
	background: transparent;
}
.kpt-card__wish:hover { color: #b3261e; }
.kpt-card__wish.is-active { color: #b3261e; }


/* ---------- Versand & Rückgabe Panel ---------- */
.kpt-topbar__link { display: flex; align-items: center; gap: 5px; }
.kpt-caret { display: inline-block; transition: transform .2s ease; font-size: 9px; }
.kpt-topbar__link[aria-expanded="true"] .kpt-caret { transform: rotate(180deg); }

.kpt-shipbar {
	display: none;
	background: #f4f2ef;
	border-bottom: 1px solid #e3ded8;
}
.kpt-shipbar.is-open { display: block; }
.kpt-shipbar__inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 26px 24px 28px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 56px;
}
.kpt-shipbar__item { font-size: 13px; color: #2a2a2a; }
.kpt-shipbar__head {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 13.5px;
	margin-bottom: 6px;
}
.kpt-shipbar__head svg { flex: 0 0 auto; }
.kpt-shipbar__item p {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.5;
	color: #5a5a5a;
	padding-left: 26px;
}


/* Footer – responsiv */
@media (max-width: 1024px) {
	.kpt-footer__cards { grid-template-columns: repeat(2, 1fr); }
	.kpt-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 26px; }
	.kpt-newsletter { grid-template-columns: 1fr; gap: 16px; }
	.kpt-newsletter__form { justify-content: flex-start; }
}

@media (max-width: 767px) {
	.kpt-footer__inner { padding: 38px 16px 22px; }
	.kpt-footer__discover { font-size: 24px; margin-bottom: 18px; }
	.kpt-footer__cards { gap: 10px; margin-bottom: 34px; }
	.kpt-fcard__title { font-size: 13px; }
	.kpt-fcard__text { font-size: 11.5px; }
	.kpt-newsletter { padding: 20px 0; }
	.kpt-field, .kpt-field--select { flex: 1 1 100%; }
	.kpt-newsletter__btn { width: 100%; }
	.kpt-footer__social { flex-wrap: wrap; gap: 10px; padding: 16px 0; }
	.kpt-footer__cols { grid-template-columns: 1fr 1fr; padding: 24px 0; }
	.kpt-footer__legal { flex-direction: column; align-items: flex-start; gap: 10px; }
	.kpt-footer__legallinks { gap: 12px; }
}


/* Kategorie-Streifen – responsiv */
@media (max-width: 1200px) {
	.kpt-cat-tile { flex: 0 0 calc((100% - 24px) / 4); }
}
@media (max-width: 900px) {
	.kpt-cat-tile { flex: 0 0 calc((100% - 16px) / 3); }
}
@media (max-width: 767px) {
	.kpt-tiles-section { padding: 30px 0 18px; }
	.kpt-cat-tile { flex: 0 0 120px; }
	.kpt-cats__track { padding-left: 16px; gap: 6px; }
	.kpt-cats__nav { padding: 0 16px; gap: 10px; }
	.kpt-cat-tile__label { font-size: 12.5px; margin-top: 7px; }
}


/* Cozy Season – responsiv */
@media (max-width: 1024px) {
	.kpt-cozy { padding: 40px 0 46px; }
	.kpt-cozy__inner { display: flex; flex-direction: column; gap: 20px; }
	.kpt-cozy__left { width: 100%; gap: 26px; }
	.kpt-cozy__main { position: static; width: 100%; height: 420px; }
	.kpt-cozy__title { font-size: 30px; }
}
@media (max-width: 767px) {
	.kpt-cozy { padding: 30px 0 36px; }
	.kpt-cozy__title { font-size: 25px; }
	.kpt-cozy__copy { font-size: 14.5px; }
	.kpt-cozy__main { height: 300px; }
	.kpt-cozy__photos { gap: 6px; }
	.kpt-cozy__photos figure { aspect-ratio: 3 / 4; }
}


/* ---------- Stores-Seite ---------- */
.kpt-stores {
	max-width: 1720px;
	margin: 0 auto;
	padding: 0 24px 80px;
}
.kpt-stores__crumb {
	font-size: 13px;
	color: #5a5a5a;
	padding: 16px 0 8px;
	display: flex;
	gap: 8px;
	align-items: center;
}
.kpt-stores__crumb a:hover { text-decoration: underline; }
.kpt-stores__sep { color: #b9b3ac; }

.kpt-stores__section + .kpt-stores__section { margin-top: 20px; }
.kpt-stores__head {
	border-top: 1px solid #d9d4cd;
	margin-top: 42px;
	padding: 46px 0 40px;
	text-align: center;
}
.kpt-stores__section + .kpt-stores__section .kpt-stores__head {
	margin-top: 70px;
	border-top: 1px solid #d9d4cd;
}
.kpt-stores__title {
	margin: 0;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.kpt-stores__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 22px;
}
.kpt-store { display: flex; flex-direction: column; }
.kpt-store__media {
	aspect-ratio: 5 / 3.2;
	overflow: hidden;
	background: #efeeec;
}
.kpt-store__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.kpt-store__body {
	background: #f2f2f0;
	flex: 1 1 auto;
	padding: 26px 24px 26px;
	display: flex;
	flex-direction: column;
}
.kpt-store__city {
	margin: 0 0 16px;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.kpt-store__label {
	margin: 0 0 6px;
	font-size: 14px;
	color: #2b2b2b;
}
.kpt-store__text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.5;
	color: #2b2b2b;
}
.kpt-store__text a { text-decoration: underline; text-underline-offset: 2px; }
.kpt-store__route {
	font-size: 14px;
	margin: 0 0 16px;
	text-decoration: underline;
	text-underline-offset: 3px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.kpt-store__route:hover { opacity: .7; }
.kpt-store__btn {
	margin-top: auto;
	align-self: flex-start;
	background: #4a4a45;
	color: #fff;
	font-size: 14px;
	padding: 13px 26px;
	min-width: 200px;
	text-align: center;
	transition: background .18s ease;
}
.kpt-store__btn:hover { background: #35352f; }

@media (max-width: 1100px) {
	.kpt-stores__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.kpt-stores__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kpt-stores__title { font-size: 30px; }
	.kpt-store__city { font-size: 22px; }
}
@media (max-width: 560px) {
	.kpt-stores { padding: 0 16px 60px; }
	.kpt-stores__grid { grid-template-columns: 1fr; }
	.kpt-store__btn { min-width: 0; width: 100%; }
}


/* ---------- Store-Detail (gespiegelte Originalseite) ---------- */
.kpt-storeview { width: 100%; }
.kpt-storeview__frame {
	display: block;
	width: 100%;
	border: 0;
	background: #fff;
	height: calc(100vh - 160px);
	min-height: 620px;
}


/* Header – Mobile-Anpassungen (nach allen Desktop-Regeln) */
@media (max-width: 767px) {
	.kpt-header__inner { gap: 10px; padding: 0 16px; }
	.kpt-search-toggle {
		width: auto;
		border-bottom: 0;
		padding: 0;
		gap: 0;
	}
	.kpt-actions { gap: 14px; }
	.kpt-logo { margin: 0 auto; }
	.kpt-logo img { width: 150px; }
}


/* ---------- Konto-Dropdown ---------- */
.kpt-account { position: relative; display: inline-flex; }
.kpt-account__toggle {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: var(--ink);
	display: inline-flex;
	align-items: center;
}
.kpt-account__panel {
	position: absolute;
	top: calc(100% + 14px);
	right: -10px;
	width: 232px;
	background: #fff;
	padding: 18px 16px 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .14);
	border: 1px solid #ececec;
	display: none;
	flex-direction: column;
	gap: 10px;
	z-index: 60;
}
.kpt-account.is-open .kpt-account__panel { display: flex; }
.kpt-account__panel::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 0;
	right: 0;
	height: 14px;
}
.kpt-account__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	font-size: 15px;
	text-decoration: none;
	border: 1px solid #1c1c1c;
	color: #1c1c1c;
	background: #fff;
	transition: background .15s ease, color .15s ease;
}
.kpt-account__btn:hover { background: #f4f2ef; }
.kpt-account__btn--dark {
	background: #3a3a3a;
	border-color: #3a3a3a;
	color: #fff;
}
.kpt-account__btn--dark:hover { background: #222; border-color: #222; color: #fff; }

@media (max-width: 767px) {
	.kpt-account__panel { right: -8px; width: 210px; }
}


/* ---------- Login-Seite (wie Original) ---------- */
.kpt-login { padding: 26px 24px 70px; }
.kpt-login__inner { max-width: 470px; margin: 0 auto; }
.kpt-login__title {
	font-size: 26px;
	line-height: 1.25;
	font-weight: 700;
	margin: 0 0 30px;
	letter-spacing: -0.01em;
}
.kpt-login__tabs {
	display: flex;
	align-items: flex-end;
	border-bottom: 1px solid #1c1c1c;
	margin-bottom: 26px;
}
.kpt-login__tab {
	background: none;
	border: 1px solid transparent;
	border-bottom: 0;
	padding: 11px 22px;
	font-size: 16px;
	color: #6b6b6b;
	cursor: pointer;
	transform: translateY(1px);
}
.kpt-login__tab.is-active {
	border-color: #1c1c1c;
	color: #1c1c1c;
	background: #fff;
}
.kpt-login__sub {
	font-size: 19px;
	font-weight: 600;
	margin: 0 0 18px;
}
.kpt-login__panel { display: none; }
.kpt-login__panel.is-active { display: block; }

.kpt-login .woocommerce { padding: 0; max-width: none; }
.kpt-login .woocommerce h2,
.kpt-login .woocommerce h3,
.kpt-login .woocommerce-MyAccount-content > p:first-child,
.kpt-login .woocommerce-MyAccount-navigation { display: none; }
.kpt-login .woocommerce-notices-wrapper:empty { display: none; }

.kpt-login form.woocommerce-form-login,
.kpt-login form.woocommerce-form-register {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none;
}
.kpt-login .form-row { margin: 0 0 14px; padding: 0; }
.kpt-login .form-row label {
	display: block;
	font-size: 12.5px;
	letter-spacing: .02em;
	color: #6f675d;
	margin: 0 0 6px;
}
.kpt-login .form-row label .required { color: #b3261e; }
.kpt-login .form-row input.input-text,
.kpt-login .form-row input[type="email"],
.kpt-login .form-row input[type="password"],
.kpt-login .form-row input[type="text"] {
	height: 54px;
	border: 1px solid #c9c6c2;
	border-radius: 0;
	background: #fff;
	padding: 0 16px;
	font-size: 15px;
	color: #1c1c1c;
	width: 100%;
}
.kpt-login .form-row input::placeholder { color: #6b6b6b; }

.kpt-login button.button,
.kpt-login .woocommerce-form-login__submit,
.kpt-login .woocommerce-form-register__submit {
	width: 100%;
	background: #3a3a3a !important;
	border: 1px solid #3a3a3a !important;
	color: #fff !important;
	height: 54px;
	font-size: 16px !important;
	font-weight: 400 !important;
	border-radius: 0 !important;
	margin-top: 4px;
	cursor: pointer;
}
.kpt-login button.button:hover { background: #222 !important; }

.kpt-login .woocommerce-LostPassword,
.kpt-login .lost_password { margin: 14px 0 0; }
.kpt-login .woocommerce-LostPassword a,
.kpt-login .lost_password a {
	font-size: 16px;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: #1c1c1c;
}
.kpt-login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	margin: 0 0 14px;
}
.kpt-login .show-password-input { top: 50%; transform: translateY(-50%); }
.kpt-login .woocommerce-privacy-policy-text { font-size: 13.5px; color: #4a4a4a; margin: 0 0 16px; }

@media (max-width: 767px) {
	.kpt-login { padding: 18px 16px 50px; }
	.kpt-login__title { font-size: 21px; }
	.kpt-login__tab { padding: 10px 16px; font-size: 15px; }
}


/* Login-Formular: Breite, Labels, Platzhalter */
.kpt-login form .form-row { width: 100% !important; float: none !important; }
.kpt-login form .form-row label {
	display: block !important;
	font-size: 12.5px;
	letter-spacing: .02em;
	color: #6f675d;
	margin: 0 0 6px;
}
.kpt-login form .form-row input.input-text,
.kpt-login form .form-row input[type="email"],
.kpt-login form .form-row input[type="password"],
.kpt-login form .form-row input[type="text"] { width: 100% !important; }
.kpt-login form button.button,
.kpt-login form .woocommerce-form-login__submit,
.kpt-login form .woocommerce-form-register__submit { width: 100% !important; }
.kpt-login .wc-block-components-notice-banner,
.kpt-login .woocommerce-error,
.kpt-login .woocommerce-message,
.kpt-login .woocommerce-info { border-radius: 0; }


/* Login: Spalten volle Breite, Checkbox ausblenden */
.kpt-login .u-column1,
.kpt-login .u-column2,
.kpt-login .col-1,
.kpt-login .col-2 {
	width: 100% !important;
	float: none !important;
	max-width: none;
	padding: 0 !important;
	margin: 0 !important;
}
.kpt-login .woocommerce-form-login__rememberme { display: none !important; }
.kpt-login .woocommerce-form-register .form-row:first-of-type { margin-top: 0; }


/* Login: Fokus-Rahmen dezent */
.kpt-login input.input-text:focus,
.kpt-login input[type="email"]:focus,
.kpt-login input[type="password"]:focus,
.kpt-login input[type="text"]:focus {
	outline: none !important;
	border-color: #1c1c1c !important;
	box-shadow: none !important;
}


/* ---------- Wunschliste ---------- */
.kpt-wishlist { max-width: 1720px; margin: 0 auto; padding: 40px 24px 70px; min-height: 460px; }
.kpt-wishlist__empty {
	text-align: center;
	padding: 26px 0 40px;
	max-width: 640px;
	margin: 0 auto;
}
.kpt-wishlist__art { display: flex; justify-content: center; margin-bottom: 26px; }
.kpt-wishlist__title {
	font-size: 27px;
	font-weight: 400;
	line-height: 1.3;
	margin: 0 0 16px;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}
.kpt-wishlist__desc {
	font-size: 15px;
	color: #4a4a4a;
	line-height: 1.55;
	margin: 0 auto 28px;
	max-width: 470px;
}
.kpt-wishlist__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 34px;
	flex-wrap: wrap;
}
.kpt-wishlist__btn {
	background: #3a3a3a;
	color: #fff;
	padding: 14px 46px;
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 150px;
	height: 50px;
}
.kpt-wishlist__btn:hover { background: #232323; }
.kpt-wishlist__link {
	font-size: 16px;
	color: #1c1c1c;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.kpt-wishlist__link:hover { opacity: .7; }

.kpt-wishlist__head { margin-bottom: 26px; }
.kpt-wishlist__h1 { font-size: 28px; margin: 0 0 6px; font-weight: 700; }
.kpt-wishlist__count { margin: 0; font-size: 14px; color: #5a5a5a; }
.kpt-wishlist__grid { margin-top: 10px; }

@media (max-width: 767px) {
	.kpt-wishlist { padding: 26px 16px 50px; }
	.kpt-wishlist__title { font-size: 21px; }
	.kpt-wishlist__actions { gap: 18px; }
	.kpt-wishlist__btn { width: 100%; }
}


/* ---------- Warenkorb-Seite ---------- */
.kpt-cart-page { max-width: 1720px; margin: 0 auto; padding: 40px 24px 70px; min-height: 460px; }
.kpt-cart-empty { text-align: center; padding: 20px 0 40px; max-width: 640px; margin: 0 auto; }
.kpt-cart-empty__art { display: flex; justify-content: center; margin-bottom: 26px; }
.kpt-cart-empty__title { font-size: 27px; font-weight: 400; margin: 0 0 14px; }
.kpt-cart-empty__desc { font-size: 15px; color: #4a4a4a; line-height: 1.55; max-width: 470px; margin: 0 auto 28px; }
.kpt-cart-empty__actions { display: flex; align-items: center; justify-content: center; gap: 34px; flex-wrap: wrap; }
.kpt-cart-empty__btn {
	background: #3a3a3a; color: #fff; height: 50px; min-width: 150px;
	padding: 0 40px; display: inline-flex; align-items: center; justify-content: center; font-size: 16px;
}
.kpt-cart-empty__btn:hover { background: #232323; }
.kpt-cart-empty__link { font-size: 16px; text-decoration: underline; text-underline-offset: 4px; }

.kpt-cart__title { font-size: 30px; margin: 0 0 26px; font-weight: 700; }
.kpt-cart__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 44px; align-items: start; }
.kpt-cart__items { border-top: 1px solid #e2ddd6; }
.kpt-ci { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; gap: 20px; padding: 22px 0; border-bottom: 1px solid #e2ddd6; align-items: start; }
.kpt-ci__media { display: block; background: #f6f5f3; aspect-ratio: 1 / 1; }
.kpt-ci__media img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.kpt-ci__name { font-size: 15px; display: block; margin-bottom: 4px; }
.kpt-ci__meta { font-size: 13px; color: #6b6b6b; margin: 0 0 4px; }
.kpt-ci__price { font-size: 14px; margin: 0 0 10px; }
.kpt-ci__qty { display: inline-flex; align-items: center; border: 1px solid #d8d3cc; height: 38px; }
.kpt-ci__qty button { width: 34px; height: 36px; border: 0; background: #fff; font-size: 16px; cursor: pointer; }
.kpt-ci__qty button:hover { background: #f3f1ee; }
.kpt-ci__input { width: 44px; height: 36px; border: 0; text-align: center; font-size: 14px; -moz-appearance: textfield; }
.kpt-ci__input::-webkit-outer-spin-button, .kpt-ci__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kpt-ci__end { text-align: right; }
.kpt-ci__total { font-size: 15px; margin: 0 0 8px; }
.kpt-ci__remove { font-size: 13px; color: #6b6b6b; text-decoration: underline; }
.kpt-cart__update { margin-top: 18px; background: none; border: 1px solid #1c1c1c; padding: 11px 22px; font-size: 14px; cursor: pointer; }
.kpt-cart__update:hover { background: #1c1c1c; color: #fff; }

.kpt-cart__summary { background: #f6f5f3; padding: 26px 24px; }
.kpt-cart__summary-title { font-size: 18px; margin: 0 0 18px; font-weight: 600; }
.kpt-cart__row { display: flex; justify-content: space-between; font-size: 15px; padding: 8px 0; }
.kpt-cart__row--total { border-top: 1px solid #ddd8d1; margin-top: 8px; padding-top: 14px; font-weight: 600; font-size: 17px; }
.kpt-cart__checkout {
	display: flex; align-items: center; justify-content: center; height: 52px; margin-top: 20px;
	background: #3a3a3a; color: #fff; font-size: 16px;
}
.kpt-cart__checkout:hover { background: #232323; }
.kpt-cart__continue { display: block; text-align: center; margin-top: 14px; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
.kpt-cart__note { margin: 18px 0 0; font-size: 12.5px; color: #6b6b6b; line-height: 1.5; }

@media (max-width: 900px) {
	.kpt-cart__grid { grid-template-columns: 1fr; gap: 28px; }
	.kpt-ci { grid-template-columns: 96px minmax(0, 1fr); }
	.kpt-ci__end { grid-column: 2; text-align: left; }
}
@media (max-width: 767px) {
	.kpt-cart-page { padding: 26px 16px 50px; }
	.kpt-cart__title { font-size: 24px; }
	.kpt-cart-empty__title { font-size: 21px; }
	.kpt-cart-empty__actions { gap: 18px; }
	.kpt-cart-empty__btn { width: 100%; }
}


/* ---------- Mega-Drawer (Damen/Herren/Kinder) ---------- */
.kpt-nav__toggle {
	background: none;
	border: 0;
	padding: 6px 0;
	font-size: 16px;
	font-family: inherit;
	color: var(--ink);
	cursor: pointer;
	border-bottom: 1px solid transparent;
	line-height: 1.2;
}
.kpt-nav__toggle:hover,
.kpt-nav__toggle.is-active { border-bottom-color: var(--ink); }

.kpt-drawer {
	position: fixed;
	top: var(--kpt-chrome, 126px);
	left: 0;
	width: 356px;
	max-width: 92vw;
	height: calc(100vh - var(--kpt-chrome, 126px));
	background: #fff;
	border-right: 1px solid #e6e3de;
	overflow-y: auto;
	z-index: 90;
	transform: translateX(-102%);
	transition: transform .22s ease;
	display: flex;
	flex-direction: column;
}
.kpt-drawer.is-open { transform: translateX(0); }
.kpt-drawer-overlay {
	position: fixed;
	inset: var(--kpt-chrome, 126px) 0 0 0;
	background: rgba(0, 0, 0, .04);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: 60;
}
.kpt-drawer-overlay.is-open { opacity: 1; pointer-events: auto; }

.kpt-drawer__list { margin: 0; padding: 0; list-style: none; }
.kpt-drawer__item { border-bottom: 1px solid #ece9e4; }
.kpt-drawer__item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 6px 22px;
	min-height: 58px;
	font-size: 15px;
	color: var(--ink);
}
.kpt-drawer__item a:hover { background: #f6f4f1; }
.kpt-drawer__item img { width: 54px; height: 54px; object-fit: contain; flex: 0 0 54px; }

.kpt-drawer__foot {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px 22px 8px;
	margin-top: auto;
	border-top: 1px solid #ece9e4;
}
.kpt-drawer__foot a { font-size: 15px; color: var(--ink); }
.kpt-drawer__foot a:hover { text-decoration: underline; text-underline-offset: 3px; }
.kpt-drawer__country {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 22px 22px;
	font-size: 13.5px;
	color: #4a4a4a;
}
.kpt-drawer__flag { font-size: 15px; }
.kpt-drawer__country a { text-decoration: underline; text-underline-offset: 3px; color: #1c1c1c; }

@media (max-width: 767px) {
	.kpt-drawer { width: 88vw; }
}


/* ---------- Sidebar (Kategorie-Baum wie Original) ---------- */
.kpt-side__item { border-bottom: 0; }
.kpt-side__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.kpt-side__link {
	font-size: 15px;
	color: var(--ink);
	display: block;
	padding: 9px 0;
}
.kpt-side__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.kpt-side__item.is-current > .kpt-side__row .kpt-side__link { font-weight: 600; }
.kpt-side__toggle {
	width: 28px;
	height: 28px;
	border: 0;
	background: none;
	cursor: pointer;
	position: relative;
	flex: 0 0 28px;
}
.kpt-side__toggle::before,
.kpt-side__toggle::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: #1c1c1c;
	transform: translate(-50%, -50%);
}
.kpt-side__toggle::before { width: 11px; height: 1px; }
.kpt-side__toggle::after { width: 1px; height: 11px; transition: opacity .15s ease; }
.kpt-side__item.is-open > .kpt-side__row .kpt-side__toggle::after { opacity: 0; }
.kpt-side__sublist {
	display: none;
	padding: 0 0 10px 14px;
	margin: 0;
	list-style: none;
}
.kpt-side__item.is-open > .kpt-side__sublist { display: block; }
.kpt-side__sublist li a {
	font-size: 13.5px;
	color: #4a4a4a;
	display: block;
	padding: 5px 0;
}
.kpt-side__sublist li a:hover { color: #1c1c1c; text-decoration: underline; text-underline-offset: 3px; }
.kpt-side__sublist li.is-active a { color: #1c1c1c; font-weight: 600; }


/* Kollektionen-Kacheln mit Bild */
.kpt-collections { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 26px; }
.kpt-collection {
	width: 190px;
	background: #f6f5f3;
	display: flex;
	flex-direction: column;
	color: var(--ink);
}
.kpt-collection__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #f6f5f3; }
.kpt-collection__img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.kpt-collection__name { font-size: 14px; padding: 10px 12px; display: block; }
.kpt-collection:hover .kpt-collection__name { text-decoration: underline; text-underline-offset: 3px; }


/* ---------- Produktseite (PDP) ---------- */
.kpt-pdp { max-width: 1720px; margin: 0 auto; padding: 18px 32px 60px; }
.kpt-breadcrumb { font-size: 13px; color: #6b6b6b; margin: 4px 0 18px; display: flex; flex-wrap: wrap; gap: 6px; }
.kpt-breadcrumb a { color: #6b6b6b; }
.kpt-breadcrumb a:hover { color: #1c1c1c; text-decoration: underline; }

.kpt-pdp__grid { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 56px; align-items: start; }
.kpt-pdp__media { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kpt-pdp__img { margin: 0; background: #f6f5f3; aspect-ratio: 1 / 1; overflow: hidden; }
.kpt-pdp__img img { width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.kpt-pdp__img.is-extra { display: none; }
.kpt-pdp__media.is-open .kpt-pdp__img.is-extra { display: block; }
.kpt-pdp__more {
	grid-column: 1 / -1;
	justify-self: center;
	background: #fff;
	border: 1px solid #d8d3cc;
	padding: 12px 26px;
	font-size: 14px;
	cursor: pointer;
}
.kpt-pdp__more:hover { background: #f6f5f3; }

.kpt-pdp__badges { display: flex; gap: 8px; margin-bottom: 10px; }
.kpt-badge { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 8px; background: #f1efec; color: #4a4a4a; }
.kpt-badge--limited { background: #3a3a3a; color: #fff; }

.kpt-pdp__rating { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14px; }
.kpt-stars { letter-spacing: 2px; font-size: 15px; color: #1c1c1c; }
.kpt-stars .is-empty { color: #cfcac2; }
.kpt-stars .is-half { color: #1c1c1c; opacity: .55; }
.kpt-pdp__reviews { color: #4a4a4a; }

.kpt-pdp__title { font-size: 30px; font-weight: 700; line-height: 1.2; margin: 0 0 10px; }
.kpt-pdp__price { font-size: 18px; margin-bottom: 14px; }
.kpt-pdp__tax { font-size: 13px; color: #6b6b6b; font-weight: 400; }
.kpt-pdp__short { font-size: 15px; color: #3a3a3a; line-height: 1.55; margin-bottom: 16px; }

.kpt-pdp__variants { margin: 6px 0 18px; }
.kpt-pdp__variant-label { font-size: 14px; margin: 0 0 8px; }
.kpt-pdp__swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.kpt-swatch {
	width: 54px; height: 54px; background: #f6f5f3; display: flex; align-items: center; justify-content: center;
	border: 1px solid transparent;
}
.kpt-swatch img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.kpt-swatch.is-active { border-color: #1c1c1c; }
.kpt-swatch:hover { border-color: #b9b3aa; }

.kpt-pdp__label { font-size: 14px; margin: 0 0 8px; }
.kpt-pdp__sizes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.kpt-size { border: 1px solid #d8d3cc; padding: 9px 16px; font-size: 14px; cursor: pointer; }
.kpt-size.is-active { border-color: #1c1c1c; }

.kpt-pdp__actions {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}
.kpt-pdp__add {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	height: 56px;
	margin: 0;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #1c1c1c;
	color: #fff;
	border: 1px solid #1c1c1c;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .01em;
	cursor: pointer;
	box-sizing: border-box;
	transition: background .15s ease;
}
.kpt-pdp__add:hover { background: #000; border-color: #000; }
.kpt-pdp__wish {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	margin: 0;
	box-sizing: border-box;
	align-self: center;
	border: 1px solid #1c1c1c;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1c1c1c;
	background: #fff;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.kpt-pdp__wish:hover { background: #f4f2ef; }
.kpt-pdp__wish.is-active { color: #b3261e; border-color: #b3261e; }

.kpt-pdp__perks { list-style: none; margin: 18px 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.kpt-pdp__perks li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #3a3a3a; }
.kpt-perk-icon { display: inline-flex; width: 20px; justify-content: center; color: #6b6b6b; }

.kpt-pdp__desc { font-size: 15px; line-height: 1.6; color: #3a3a3a; margin-bottom: 18px; }

.kpt-pdp__cross { border-top: 1px solid #e6e3de; padding-top: 16px; }
.kpt-pdp__cross-title { font-size: 16px; margin: 0 0 12px; }
.kpt-cross-item { display: flex; align-items: center; gap: 14px; background: #f6f5f3; padding: 12px; margin-bottom: 10px; color: var(--ink); }
.kpt-cross-item img { width: 76px; height: 76px; object-fit: contain; background: #fff; }
.kpt-cross-item__body { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.kpt-cross-item__name { font-size: 14px; }
.kpt-cross-item__price { font-size: 14px; color: #3a3a3a; }
.kpt-cross-item__cart { width: 34px; height: 34px; background: #1c1c1c; color: #fff; display: flex; align-items: center; justify-content: center; }

.kpt-pdp__details { margin-top: 48px; border-top: 1px solid #e6e3de; padding-top: 30px; }
.kpt-pdp__features { display: flex; flex-wrap: wrap; gap: 42px; margin: 20px 0 26px; }
.kpt-feature { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 150px; text-align: center; }
.kpt-feature__icon { width: 66px; height: 66px; border: 1px solid #cfcac2; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #3a3a3a; }
.kpt-feature__label { font-size: 13px; color: #3a3a3a; }

.kpt-pdp__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 40px; margin: 0; }
.kpt-pdp__specs div { border-top: 1px solid #ece9e4; padding-top: 10px; }
.kpt-pdp__specs dt { font-size: 13px; color: #6b6b6b; margin-bottom: 4px; }
.kpt-pdp__specs dd { margin: 0; font-size: 15px; }

/* Bewertungen */
.kpt-reviews { margin-top: 46px; border-top: 1px solid #e6e3de; padding-top: 28px; }
.kpt-reviews__head { display: flex; align-items: baseline; gap: 20px; flex-wrap: wrap; }
.kpt-reviews__avg { display: flex; align-items: center; gap: 10px; }
.kpt-reviews__avg strong { font-size: 20px; }
.kpt-reviews__count { font-size: 13px; color: #6b6b6b; }
.kpt-reviews__grid { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 46px; margin-top: 24px; align-items: start; }
.kpt-criterion { display: grid; grid-template-columns: 110px 1fr 34px; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13px; }
.kpt-criterion__bar { height: 2px; background: #e6e3de; position: relative; }
.kpt-criterion__bar span { position: absolute; left: 0; top: 0; bottom: 0; background: #1c1c1c; }
.kpt-reviews__breakdown { margin-top: 24px; }
.kpt-breakdown__row { display: flex; justify-content: space-between; font-size: 13px; padding: 6px 0; border-bottom: 1px solid #f0ede9; }
.kpt-reviews__toolbar { display: flex; gap: 22px; margin-bottom: 16px; }
.kpt-reviews__select { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #3a3a3a; }
.kpt-reviews__select select { border: 0; border-bottom: 1px solid #1c1c1c; padding: 4px 2px; font-size: 14px; background: none; }
.kpt-review { border-top: 1px solid #ece9e4; padding: 16px 0; }
.kpt-review__head { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #6b6b6b; }
.kpt-review__text { margin: 8px 0 0; font-size: 14px; line-height: 1.6; }
.kpt-reviews__empty { font-size: 14px; color: #4a4a4a; line-height: 1.6; }

@media (max-width: 1100px) {
	.kpt-pdp__grid { grid-template-columns: 1fr; gap: 26px; }
	.kpt-reviews__grid { grid-template-columns: 1fr; gap: 24px; }
	.kpt-pdp__specs { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.kpt-pdp { padding: 12px 16px 40px; }
	.kpt-pdp__title { font-size: 22px; }
}


/* ---------- Warenkorb (Original-Layout) ---------- */
.kpt-cart__head { margin-bottom: 20px; }
.kpt-cart__title { font-size: 26px; font-weight: 700; margin: 0 0 6px; display: flex; align-items: baseline; gap: 12px; }
.kpt-cart__count { font-size: 14px; font-weight: 400; color: #6b6b6b; }
.kpt-cart__eta { font-size: 14px; color: #3a3a3a; margin: 0 0 22px; }

.kpt-cart__grid { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 56px; align-items: start; }
.kpt-cart__promo {
	background: #f1f0ed;
	padding: 14px 18px;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.kpt-cart__promo strong { letter-spacing: .04em; }
.kpt-cart__copy { background: none; border: 0; cursor: pointer; display: inline-flex; color: #1c1c1c; }
.kpt-cart__copy.is-copied { color: #2e7d32; }

.kpt-cart__items { border-top: 1px solid #e6e3de; }
.kpt-cart__items .kpt-ci { display: block; padding: 18px 0; border-bottom: 1px solid #e6e3de; }
.kpt-ci__top { display: flex; align-items: center; gap: 14px; }
.kpt-ci__wish { color: #6b6b6b; display: inline-flex; }
.kpt-ci__wish.is-active { color: #b3261e; }
.kpt-ci__name { margin: 0; font-size: 15px; flex: 1; }
.kpt-ci__qty { display: inline-flex; align-items: center; border: 1px solid #d8d3cc; height: 34px; }
.kpt-ci__qty button { width: 30px; height: 32px; border: 0; background: #fff; font-size: 15px; cursor: pointer; }
.kpt-ci__qty button:hover { background: #f3f1ee; }
.kpt-ci__input { width: 40px; height: 32px; border: 0; text-align: center; font-size: 14px; -moz-appearance: textfield; }
.kpt-ci__input::-webkit-outer-spin-button, .kpt-ci__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kpt-ci__remove { color: #6b6b6b; display: inline-flex; }
.kpt-ci__remove:hover { color: #b3261e; }

.kpt-ci__body { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 18px; align-items: end; margin-top: 12px; }
.kpt-ci__media { display: block; background: #f6f5f3; aspect-ratio: 1 / 1; }
.kpt-ci__media img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.kpt-ci__meta { font-size: 13px; color: #6b6b6b; margin: 0; }
.kpt-ci__total { font-size: 16px; margin: 0; text-align: right; }

.kpt-cart__update { margin-top: 18px; background: none; border: 1px solid #1c1c1c; padding: 11px 22px; font-size: 14px; cursor: pointer; }
.kpt-cart__update:hover { background: #1c1c1c; color: #fff; }

.kpt-cart__summary { background: #f6f5f3; padding: 26px 24px 30px; }
.kpt-cart__summary-title { font-size: 19px; margin: 0 0 18px; font-weight: 600; }
.kpt-cart__row { display: flex; justify-content: space-between; font-size: 15px; padding: 7px 0; }
.kpt-cart__row--total { border-top: 1px solid #ddd8d1; margin-top: 10px; padding-top: 14px; font-weight: 600; font-size: 17px; }
.kpt-cart__vat { font-size: 12.5px; color: #6b6b6b; margin: 4px 0 18px; }
.kpt-cart__checkout { display: flex; align-items: center; justify-content: center; height: 54px; background: #3a3a3a; color: #fff; font-size: 16px; }
.kpt-cart__checkout:hover { background: #232323; }

.kpt-cart__sub-title { font-size: 15px; font-weight: 600; margin: 26px 0 12px; }
.kpt-pay-icons { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kpt-pay-icons li { width: 54px; height: 34px; background: #fff; border: 1px solid #e6e3de; display: flex; align-items: center; justify-content: center; padding: 4px; }
.kpt-pay-icons img { max-width: 100%; max-height: 100%; object-fit: contain; }

.kpt-cart__perks { list-style: none; margin: 0; padding: 0; }
.kpt-cart__perks li { font-size: 14px; padding: 6px 0 6px 22px; position: relative; color: #3a3a3a; }
.kpt-cart__perks li::before { content: "✓"; position: absolute; left: 0; top: 6px; font-size: 12px; }

.kpt-like { margin-top: 54px; border-top: 1px solid #e6e3de; padding-top: 30px; }
.kpt-like__grid { margin-top: 20px; }

@media (max-width: 1100px) {
	.kpt-cart__grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 767px) {
	.kpt-cart__title { font-size: 21px; flex-wrap: wrap; }
	.kpt-ci__body { grid-template-columns: 86px 1fr; }
	.kpt-ci__total { grid-column: 2; text-align: left; }
}


/* PDP: erweiterbare Produktdetails */
.kpt-pdp__specs div.is-extra { display: none; }
.kpt-pdp__specs.is-open div.is-extra { display: block; }
.kpt-pdp__more-specs {
	margin: 18px auto 0;
	display: block;
	background: #fff;
	border: 1px solid #d8d3cc;
	padding: 12px 26px;
	font-size: 14px;
	cursor: pointer;
}
.kpt-pdp__more-specs:hover { background: #f6f5f3; }


/* ---------- Help Center ---------- */
.kpt-hc { max-width: 1200px; margin: 0 auto; padding: 26px 32px 70px; }
.kpt-hc__crumbs { font-size: 13px; color: #8a8a8a; display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.kpt-hc__crumbs a { color: #8a8a8a; }
.kpt-hc__crumbs a:hover { color: #1c1c1c; }
.kpt-hc__title { font-size: 42px; font-weight: 600; margin: 0 0 26px; letter-spacing: -0.01em; }

.kpt-hc__cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kpt-hc__cat {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	min-height: 86px; border: 1px solid #d9d9d9; color: #2f2f2f; font-size: 16px; text-align: center;
	padding: 18px;
}
.kpt-hc__cat:hover { background: #f7f7f5; }
.kpt-hc__cat small { font-size: 12px; color: #8a8a8a; }

.kpt-hc__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 70px; align-items: start; }
.kpt-hc__section h2 { font-size: 20px; font-weight: 700; margin: 0 0 6px; }
.kpt-hc__section h2 a { color: #1c1c1c; }
.kpt-hc__section ul { list-style: none; margin: 0 0 28px; padding: 0; }
.kpt-hc__section li { border-bottom: 1px solid #e6e6e6; }
.kpt-hc__section li a { display: block; padding: 14px 4px; font-size: 16px; color: #2f2f2f; }
.kpt-hc__section li a:hover { color: #000; text-decoration: underline; text-underline-offset: 3px; }
.kpt-hc__section.is-current h2 a { text-decoration: underline; text-underline-offset: 4px; }

.kpt-hc__layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 60px; align-items: start; }
.kpt-hc__side-title { font-size: 13px; font-weight: 700; color: #2f2f2f; margin: 0 0 10px; }
.kpt-hc__side-list { list-style: none; margin: 0; padding: 0; }
.kpt-hc__side-list li a { display: block; padding: 11px 12px; font-size: 15px; color: #4a4a4a; }
.kpt-hc__side-list li.is-active a { background: #8ba888; color: #fff; }
.kpt-hc__side-list li a:hover { color: #1c1c1c; }

.kpt-hc__article h1 { font-size: 34px; font-weight: 600; margin: 0 0 24px; }
.kpt-hc__body { font-size: 16px; line-height: 1.65; color: #2f2f2f; }
.kpt-hc__body h2, .kpt-hc__body h3 { font-size: 17px; margin: 26px 0 8px; }
.kpt-hc__body p { margin: 0 0 14px; }
.kpt-hc__body a { text-decoration: underline; }

.kpt-hc__vote { border-top: 1px solid #e6e6e6; margin-top: 46px; padding-top: 26px; text-align: center; }
.kpt-hc__vote p { margin: 0 0 12px; font-size: 15px; }
.kpt-hc__vote-btns { display: flex; gap: 12px; justify-content: center; margin-bottom: 14px; }
.kpt-hc__vote-btns button {
	background: #fff; border: 1px solid #d0d0d0; padding: 9px 26px; font-size: 14px; cursor: pointer;
}
.kpt-hc__vote-btns button:hover { background: #f2f2f0; }
.kpt-hc__vote-note { font-size: 13px; color: #8a8a8a; }

@media (max-width: 900px) {
	.kpt-hc__cats { grid-template-columns: 1fr; }
	.kpt-hc__cols { grid-template-columns: 1fr; gap: 10px; }
	.kpt-hc__layout { grid-template-columns: 1fr; gap: 24px; }
	.kpt-hc__title { font-size: 30px; }
}


/* Kundenservice-Seite mit FAQ-Kacheln */
.kpt-ks { max-width: 1200px; margin: 0 auto; padding: 30px 32px 60px; }
.kpt-ks h1 { font-size: 38px; font-weight: 600; margin: 0 0 12px; }
.kpt-ks__intro p { font-size: 15px; color: #3a3a3a; max-width: 760px; margin: 0 0 30px; }
.kpt-ks__h2 { font-size: 26px; font-weight: 600; margin: 26px 0 8px; }
.kpt-ks__lead { font-size: 15px; color: #3a3a3a; margin: 0 0 20px; }
.kpt-ks__cats { max-width: none; margin: 0 0 44px; }
.kpt-ks__contact { margin-top: 0; }
.kpt-ks__contact h2 { font-size: 20px; font-weight: 600; margin: 0 0 8px; }
.kpt-ks__contact p { font-size: 15px; color: #3a3a3a; margin: 0; }
.kpt-ks__contact a { text-decoration: underline; }

@media (max-width: 767px) {
	.kpt-ks { padding: 22px 16px 44px; }
	.kpt-ks h1 { font-size: 28px; }
}


/* Help Center: Hero + Kacheln wie Original */
.kpt-hc { max-width: 1200px; margin: 0 auto; padding: 0 32px 70px; }
.kpt-hc > .kpt-hc__crumbs { padding-top: 22px; }
.kpt-hc__hero {
	height: 300px;
	width: 100vw;
	margin: 0 0 40px calc(50% - 50vw);
	background-image: url("../img/hc-hero.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.kpt-hc__cats { grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 960px; margin: 0 auto; }
.kpt-hc__cat {
	min-height: 66px;
	border: 1px solid #d8dcde;
	color: #68737d;
	font-size: 16px;
	padding: 18px 16px;
	background: #fff;
}
.kpt-hc__cat:hover { background: #f8f9f9; color: #2f3941; }
.kpt-hc__cat small { display: none; }

.kpt-hc__promoted { max-width: 960px; margin: 54px auto 0; }
.kpt-hc__promoted h2 { font-size: 26px; font-weight: 700; color: #2f3941; margin: 0 0 22px; }
.kpt-hc__promoted ul {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px;
}
.kpt-hc__promoted li { border-bottom: 1px solid #e6e6e6; }
.kpt-hc__promoted li a { display: block; padding: 13px 2px; font-size: 15px; color: #49545c; }
.kpt-hc__promoted li a:hover { color: #1c1c1c; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
	.kpt-hc__hero { height: 200px; margin: 0 -16px 26px; }
	.kpt-hc__promoted ul { grid-template-columns: 1fr; }
}


/* Kundenservice: Kacheln linksbündig, Kontaktblock mit Abstand */
.kpt-ks .kpt-hc__cats { max-width: none; margin: 0 0 46px; }
.kpt-ks__contact { margin-top: 0; padding-top: 4px; }
.kpt-ks .kpt-hc__cat { min-height: 62px; }


/* ---------- Aktions-Banner (24h-Countdown) ---------- */
.kpt-sale {
	background: #1c1c1c;
	color: #fff;
	text-align: center;
	padding: 16px 20px;
}
.kpt-sale__inner { display: flex; align-items: center; justify-content: center; gap: 22px; flex-wrap: wrap; }
.kpt-sale__kicker {
	margin: 0;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #d9d3ca;
}
.kpt-sale__title {
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: .02em;
	color: #fff;
}
.kpt-sale__sub { margin: 0; font-size: 14px; color: #e6e0d8; }
.kpt-sale__timer {
	display: inline-block;
	min-width: 92px;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: #fff;
	letter-spacing: .04em;
}
.kpt-sale__cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	border: 1px solid rgba(255, 255, 255, .9);
	background: transparent;
	color: #fff;
	padding: 11px 24px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.kpt-sale__cta svg { transition: transform .18s ease; }
.kpt-sale__cta:hover { background: #fff; color: #1c1c1c; border-color: #fff; }
.kpt-sale__cta:hover svg { transform: translateX(5px); }

@media (max-width: 767px) {
	.kpt-sale__inner { gap: 10px 16px; }
	.kpt-sale__title { font-size: 20px; }
	.kpt-sale__cta { padding: 9px 18px; }
}


/* ---------- Preis-Darstellung (Karten + PDP) ---------- */
.kpt-card__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 14px;
	line-height: 1.5;
}
.kpt-card__price del,
.kpt-card__price del .amount {
	color: #a8a29a;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	font-size: 13px;
	font-weight: 400;
	margin-right: 2px;
}
.kpt-card__price ins,
.kpt-card__price ins .amount {
	text-decoration: none;
	color: #1c1c1c;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .01em;
}
.kpt-card__price > .amount,
.kpt-card__price > .woocommerce-Price-amount {
	color: #1c1c1c;
	font-weight: 600;
	font-size: 15px;
}
.kpt-card__off {
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 7px;
	background: #1c1c1c;
	color: #fff;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .03em;
	white-space: nowrap;
}

/* PDP-Preis */
.kpt-pdp__price del,
.kpt-pdp__price del .amount { color: #a8a29a; font-size: 17px; font-weight: 400; margin-right: 8px; }
.kpt-pdp__price ins,
.kpt-pdp__price ins .amount { text-decoration: none; font-weight: 600; font-size: 20px; color: #1c1c1c; }

.kpt-search__row-price del { color: #a8a29a; font-size: 12px; margin-right: 4px; }
.kpt-search__row-price ins { text-decoration: none; font-weight: 600; color: #1c1c1c; }


/* Leere Kategorie / erfolglose Suche */
.kpt-cat__empty { padding: 40px 0 60px; max-width: 560px; }
.kpt-cat__empty-title { font-size: 22px; font-weight: 600; margin: 0 0 10px; }
.kpt-cat__empty-text { font-size: 15px; color: #4a4a4a; line-height: 1.6; margin: 0 0 20px; }
.kpt-cat__empty-btn {
	display: inline-flex; align-items: center; justify-content: center;
	height: 46px; padding: 0 28px; background: #1c1c1c; color: #fff; font-size: 14px;
}
.kpt-cat__empty-btn:hover { background: #333; }


/* ---------- Retoure / Reklamation ---------- */
.kpt-ret { max-width: 760px; margin: 0 auto; padding: 36px 24px 70px; }
.kpt-ret__head { text-align: center; margin-bottom: 30px; }
.kpt-ret__kicker { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8a8378; margin: 0 0 10px; }
.kpt-ret__head h1 { font-size: 32px; font-weight: 600; margin: 0 0 12px; }
.kpt-ret__lead { font-size: 15px; color: #4a4a4a; line-height: 1.6; margin: 0 auto; max-width: 560px; }

.kpt-ret__card {
	background: #faf9f7;
	border: 1px solid #ebe7e0;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.kpt-ret__card h2 { font-size: 20px; font-weight: 600; margin: 0; }
.kpt-ret__sub { font-size: 14px; color: #5a5a5a; margin: 0; }

.kpt-ret__field { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; color: #3a3a3a; }
.kpt-ret__field input,
.kpt-ret__field select,
.kpt-ret__field textarea {
	border: 1px solid #d6d0c8;
	background: #fff;
	padding: 12px 14px;
	font-size: 15px;
	font-family: inherit;
	width: 100%;
}
.kpt-ret__field input:focus,
.kpt-ret__field select:focus,
.kpt-ret__field textarea:focus { outline: none; border-color: #1c1c1c; }

.kpt-ret__btn {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	background: #1c1c1c;
	color: #fff;
	border: 0;
	padding: 14px 34px;
	font-size: 15px;
	line-height: 1.2;
	cursor: pointer;
	margin-top: 10px;
	text-decoration: none;
}
.kpt-ret__btn:hover { background: #333; }

.kpt-ret__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.kpt-ret__items li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: #fff;
	border: 1px solid #ebe7e0;
	padding: 12px 14px;
	font-size: 14px;
}
.kpt-ret__check { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.kpt-ret__qty { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #5a5a5a; }
.kpt-ret__qty input { width: 62px; padding: 6px 8px; border: 1px solid #d6d0c8; }
.kpt-ret__max { font-size: 12px; color: #8a8378; }

.kpt-ret__error { background: #fdf3f2; border: 1px solid #f0cfcb; color: #8c2f27; padding: 14px 16px; margin-bottom: 18px; font-size: 14px; }
.kpt-ret__error p { margin: 0 0 6px; }
.kpt-ret__error p:last-child { margin: 0; }

.kpt-ret__done {
	background: #faf9f7;
	border: 1px solid #ebe7e0;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.kpt-ret__done p { margin: 0; }
.kpt-ret__done h2 { font-size: 22px; margin: 0 0 10px; }
.kpt-ret__steps { margin: 16px 0; padding-left: 20px; font-size: 14.5px; line-height: 1.7; color: #3a3a3a; }
.kpt-ret__label { background: #fff; border: 1px dashed #cfc8bf; padding: 16px; margin: 16px 0; font-size: 14px; line-height: 1.6; }
.kpt-ret__label p { margin: 0 0 6px; }
.kpt-ret__hint { font-size: 13px; color: #6b6b6b; margin: 6px 0 0; line-height: 1.6; }
.kpt-ret__hint a { text-decoration: underline; }

.kpt-ret__help { margin-top: 30px; text-align: center; font-size: 14px; color: #4a4a4a; }
.kpt-ret__help p { margin: 0 0 6px; }
.kpt-ret__help a { text-decoration: underline; }

@media (max-width: 767px) {
	.kpt-ret { padding: 24px 16px 50px; }
	.kpt-ret__head h1 { font-size: 24px; }
	.kpt-ret__items li { flex-direction: column; align-items: flex-start; }
}


/* ---------- Zahlung & Versand ---------- */
.kpt-payinfo { max-width: 1040px; margin: 0 auto; padding: 36px 24px 70px; }
.kpt-payinfo__head { margin-bottom: 34px; }
.kpt-payinfo__kicker { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8a8378; margin: 0 0 10px; }
.kpt-payinfo__head h1 { font-size: 38px; font-weight: 700; margin: 0 0 12px; }
.kpt-payinfo__lead { font-size: 16px; color: #4a4a4a; margin: 0; }

.kpt-payinfo__block { border-top: 1px solid #e6e3de; padding: 28px 0 4px; }
.kpt-payinfo__block h2 { font-size: 22px; font-weight: 600; margin: 0 0 10px; }
.kpt-payinfo__block > p { font-size: 15px; color: #3a3a3a; line-height: 1.65; margin: 0 0 18px; max-width: 760px; }

.kpt-payinfo__pay { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.kpt-payinfo__pay li {
	width: 66px; height: 40px; border: 1px solid #e2ddd6; background: #fff;
	display: flex; align-items: center; justify-content: center; padding: 5px;
}
.kpt-payinfo__pay img { max-width: 100%; max-height: 100%; object-fit: contain; }

.kpt-payinfo__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kpt-payinfo__card { background: #f6f5f3; padding: 20px; }
.kpt-payinfo__card-title { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #8a8378; margin: 0 0 8px; }
.kpt-payinfo__card-value { font-size: 20px; font-weight: 600; margin: 0 0 10px; }
.kpt-payinfo__card-note { font-size: 13.5px; color: #4a4a4a; line-height: 1.6; margin: 0; }
.kpt-payinfo__card-note a { text-decoration: underline; }

.kpt-payinfo__list { margin: 0; padding: 0 0 0 18px; font-size: 15px; color: #3a3a3a; line-height: 1.9; }
.kpt-payinfo__help p { margin: 0 0 10px; font-size: 15px; }
.kpt-payinfo__link {
	display: inline-block; margin: 0 18px 0 0; font-size: 14px;
	border-bottom: 1px solid #1c1c1c; padding-bottom: 2px;
}
.kpt-payinfo__link:hover { opacity: .65; }

@media (max-width: 900px) {
	.kpt-payinfo__grid { grid-template-columns: 1fr; }
	.kpt-payinfo__head h1 { font-size: 28px; }
}


/* ---------- Footer-Feinschliff ---------- */
.kpt-footer { margin-top: 80px; background: #f4f2ef; }
.kpt-footer__inner { padding: 56px 32px 22px; }

/* Spalten */
.kpt-footer__cols {
	grid-template-columns: 1.05fr 0.85fr 1fr 1.25fr;
	gap: 40px;
	padding: 36px 0 26px;
	border-top: 1px solid #e4dfd8;
	align-items: start;
}
.kpt-footer__col h3 {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6f675d;
	margin: 0 0 16px;
}
.kpt-footer__list li { margin: 0; padding: 0; }
.kpt-footer__list a {
	display: inline-block;
	font-size: 14px;
	line-height: 2.05;
	color: #2f2c28;
}
.kpt-footer__list a:hover { color: #000; text-decoration: underline; text-underline-offset: 3px; }

/* Zahlungsarten */
.kpt-pay { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 268px; }
.kpt-pay li {
	height: 34px;
	padding: 5px 7px;
	border: 1px solid #e2ddd6;
	border-radius: 0;
	background: #fff;
	transition: border-color .15s ease;
}
.kpt-pay li:hover { border-color: #c9c2b8; }
.kpt-pay img { max-width: 100%; max-height: 100%; object-fit: contain; }
.kpt-footer__col-sub {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6f675d;
	margin: 26px 0 10px;
}
.kpt-footer__note { font-size: 13.5px; line-height: 1.75; color: #4a4640; margin: 0; }

/* Newsletter */
.kpt-newsletter {
	grid-template-columns: 300px 1fr;
	gap: 34px;
	padding: 30px 0;
	border-top: 1px solid #e4dfd8;
	border-bottom: 1px solid #e4dfd8;
}
.kpt-newsletter__title, .kpt-newsletter h2, .kpt-newsletter h3 { font-size: 16px; font-weight: 600; margin: 0 0 6px; }
.kpt-newsletter p { font-size: 13.5px; color: #5a544c; margin: 0; line-height: 1.6; }
.kpt-newsletter__form { gap: 8px; align-items: stretch; }
.kpt-newsletter__form .kpt-field { flex: 1 1 180px; min-width: 0; }
.kpt-newsletter__form input,
.kpt-newsletter__form select {
	height: 46px;
	border: 1px solid #d9d3cb;
	background: #fff;
	padding: 0 14px;
	font-size: 14px;
	font-family: inherit;
	color: #1c1c1c;
}
.kpt-newsletter__form select { padding-right: 34px; }
.kpt-newsletter__form input:focus,
.kpt-newsletter__form select:focus { outline: none; border-color: #1c1c1c; }
.kpt-newsletter__btn {
	height: 46px;
	padding: 0 26px;
	background: #1c1c1c;
	color: #fff;
	border: 1px solid #1c1c1c;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
}
.kpt-newsletter__btn:hover { background: #000; border-color: #000; }

/* Social */
.kpt-footer__social { padding: 20px 0; gap: 16px; border-bottom: 1px solid #e4dfd8; }
.kpt-footer__sociallabel {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6f675d;
}
.kpt-footer__social a { color: #2f2c28; display: inline-flex; }
.kpt-footer__social a:hover { color: #000; }
.kpt-footer__share { font-size: 13.5px; color: #5a544c; margin-left: 6px; }

/* Legal */
.kpt-footer__legal {
	padding: 22px 0 4px;
	border-top: 1px solid #e4dfd8;
	margin-top: 26px;
	font-size: 12.5px;
	color: #6f675d;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}
.kpt-footer__legallinks { display: flex; gap: 20px; flex-wrap: wrap; }
.kpt-footer__legallinks a { color: #6f675d; }
.kpt-footer__legallinks a:hover { color: #1c1c1c; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1100px) {
	.kpt-footer__cols { grid-template-columns: 1fr 1fr; gap: 28px; }
	.kpt-newsletter { grid-template-columns: 1fr; gap: 16px; }
	.kpt-newsletter__form { justify-content: flex-start; }
}
@media (max-width: 640px) {
	.kpt-footer { margin-top: 56px; }
	.kpt-footer__inner { padding: 40px 16px 18px; }
	.kpt-footer__cols { grid-template-columns: 1fr; }
}


/* Footer-Rechtsleiste ohne Länderangabe zentriert die Links */
.kpt-footer__legal { justify-content: space-between; }
.kpt-footer__legallinks { margin-left: auto; margin-right: 0; }


/* Keine Social-Zeile mehr im Footer */
.kpt-footer__social { display: none !important; }


/* Karten: Preise auf gleicher Höhe (einheitliche Titelhöhe) */
.kpt-card__body {
	display: flex;
	flex-direction: column;
	padding: 10px 2px 0;
}
.kpt-card__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.35em * 2);
	margin-bottom: 6px;
}
.kpt-card__price {
	margin-top: auto;
	flex-wrap: nowrap;
	gap: 6px;
	align-items: center;
}
.kpt-card__price del { white-space: nowrap; }
.kpt-card__price ins { white-space: nowrap; }
.kpt-card__off {
	white-space: nowrap;
	flex: 0 0 auto;
	font-size: 11px;
	padding: 2px 5px;
}


/* ---------- Glücksbestellung ---------- */
.kpt-lucky {
	margin: 0 0 22px;
	padding: 16px 20px;
	background: #1c1c1c;
	color: #fff;
	border-left: 4px solid #d8c9a3;
}
.kpt-lucky__title {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
}
.kpt-lucky__text { margin: 0; font-size: 14px; line-height: 1.55; color: #e8e3d9; }
.kpt-lucky__text strong { color: #fff; font-size: 16px; font-weight: 700; }


/* Glücksbestellung: Rabattzeile in der Summenbox */
.kpt-cart__row--fee span:first-child { color: #6f675d; }
.kpt-cart__row--fee span:last-child { color: #1c1c1c; font-weight: 600; }
.kpt-cart-page .kpt-lucky { margin: 0 0 26px; }


/* ---------- Produktseite: Dringlichkeits-Box ---------- */
.kpt-urg {
	margin: 18px 0 20px;
	padding: 14px 16px 12px;
	background: #faf8f4;
	border: 1px solid #e8e2d8;
	border-left: 3px solid #b3261e;
}
.kpt-urg__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.kpt-urg__badge {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #b3261e;
}
.kpt-urg__timer {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #1c1c1c;
	background: #fff;
	border: 1px solid #e2ddd6;
	padding: 3px 8px;
}
.kpt-urg__row--stock {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
	color: #3a3a3a;
}
.kpt-urg__row--stock strong { color: #b3261e; font-weight: 700; }
.kpt-urg__bar {
	display: block;
	height: 6px;
	background: #e9e3da;
	overflow: hidden;
}
.kpt-urg__bar > span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #b3261e, #e0574c);
}
.kpt-urg__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 10px;
	font-size: 12.5px;
	color: #5a544c;
}
.kpt-urg__stat { display: inline-flex; align-items: center; gap: 6px; }
.kpt-urg__stat svg { flex: 0 0 auto; opacity: .75; }
.kpt-urg__stat strong { color: #1c1c1c; font-weight: 600; font-variant-numeric: tabular-nums; }


.kpt-urg__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #2f9e44;
	box-shadow: 0 0 0 0 rgba(47, 158, 68, .5);
	animation: kpt-pulse 2s infinite;
	flex: 0 0 auto;
}
@keyframes kpt-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(47, 158, 68, .45); }
	70%  { box-shadow: 0 0 0 7px rgba(47, 158, 68, 0); }
	100% { box-shadow: 0 0 0 0 rgba(47, 158, 68, 0); }
}
@media (max-width: 420px) {
	.kpt-urg__head { flex-direction: column; align-items: flex-start; gap: 6px; }
	.kpt-urg__timer { font-size: 14px; }
}


/* ---------- Kasse: zweispaltiges Layout ---------- */
.woocommerce-checkout .woocommerce {
	max-width: 1280px;
	margin: 0 auto;
	padding: 34px 24px 70px;
}
.woocommerce-checkout form.checkout {
	display: flex;
	flex-wrap: wrap;
	gap: 0 48px;
	align-items: flex-start;
}
.woocommerce-checkout form.checkout > #customer_details {
	flex: 1 1 480px;
	min-width: 0;
	max-width: 100%;
}
.woocommerce-checkout .kpt-checkout-review {
	flex: 1 1 360px;
	max-width: 430px;
	min-width: 0;
}
.woocommerce-checkout .kpt-checkout-review #order_review_heading { margin-top: 0; }

/* Linke Spalte */
.woocommerce-checkout #customer_details.col2-set { display: block; float: none; width: 100%; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; padding: 0; }
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-size: 19px;
	font-weight: 600;
	margin: 0 0 16px;
	padding: 0;
}
.woocommerce-checkout #customer_details .woocommerce-billing-fields > h3 { margin-top: 0; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 26px; }
.woocommerce-checkout .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 13.5px;
	color: #4a4a4a;
	margin-bottom: 6px;
}
.woocommerce-checkout .form-row .required { color: #b3261e; text-decoration: none; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-selection {
	height: 48px;
	border: 1px solid #d6d0c8;
	background: #fff;
	padding: 0 14px;
	font-size: 14.5px;
	font-family: inherit;
	color: #1c1c1c;
	border-radius: 0;
	box-sizing: border-box;
	width: 100%;
}
.woocommerce-checkout .form-row textarea { height: auto; padding: 12px 14px; line-height: 1.5; }
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { outline: none; border-color: #1c1c1c; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 0; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox { font-size: 14px; }

/* Rechte Spalte: Bestellübersicht */
.woocommerce-checkout #order_review {
	background: #f7f5f2;
	padding: 22px 22px 24px;
	position: sticky;
	top: calc(var(--kpt-chrome, 120px) + 10px);
}
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 10px 0;
	border-bottom: 1px solid #e6e1d9;
	text-align: left;
	vertical-align: top;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { font-weight: 600; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #6f675d; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name { font-weight: 400; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item .product-name { padding-right: 12px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { font-weight: 400; color: #4a4a4a; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 600; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th { font-size: 17px; font-weight: 700; border-bottom: 0; }

/* Zahlungsarten */
.woocommerce-checkout #payment { background: transparent; margin-top: 16px; }
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #fff;
	border: 1px solid #e4dfd8;
	padding: 12px 14px;
	margin-bottom: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li label { font-size: 14px; font-weight: 500; }
.woocommerce-checkout #payment div.payment_box {
	background: transparent;
	padding: 8px 0 0;
	margin: 0;
	font-size: 13.5px;
	color: #4a4a4a;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 0; margin: 0; }
.woocommerce-checkout #payment #place_order {
	width: 100%;
	height: 54px;
	background: #1c1c1c;
	border: 1px solid #1c1c1c;
	color: #fff;
	font-size: 15px;
	letter-spacing: .02em;
	cursor: pointer;
}
.woocommerce-checkout #payment #place_order:hover { background: #000; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 10px; font-size: 13px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 12.5px; color: #6f675d; line-height: 1.6; margin: 0 0 12px; }

@media (max-width: 1024px) {
	.woocommerce-checkout .kpt-checkout-review { max-width: none; flex-basis: 100%; margin-top: 34px; }
	.woocommerce-checkout #order_review { position: static; }
}


/* Kasse: Bezahl-Logos */
.woocommerce-checkout #payment ul.payment_methods { display: none; }
.kpt-co-pay {
	margin: 0 0 14px;
	padding: 18px;
	background: #fff;
	border: 1px solid #e4dfd8;
	border-radius: 8px;
}
.kpt-co-pay__title {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 600;
	color: #1c1c1c;
	line-height: 1.45;
}
.kpt-co-pay__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}
.kpt-co-pay__grid li {
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #e6e1d9;
	border-radius: 6px;
	padding: 5px 6px;
	transition: border-color .15s ease;
}
.kpt-co-pay__grid li:hover { border-color: #c9c2b8; }
.kpt-co-pay__grid img { max-width: 100%; max-height: 100%; object-fit: contain; }

@media (max-width: 1200px) {
	.kpt-co-pay__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.kpt-co-pay__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.kpt-co-pay { padding: 14px; }
}


/* Newsletter-Block im Footer entfernt – Abstände neu setzen */
.kpt-newsletter { display: none !important; }
.kpt-footer__cols { border-top: 1px solid #e4dfd8; padding-top: 8px; }





/* Glücksbestellung: Glanz + Konfetti */
.kpt-lucky {
	position: relative;
	overflow: hidden;
	animation: kpt-lucky-in .5s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes kpt-lucky-in {
	0%   { transform: translateY(-8px) scale(.995); opacity: 0; }
	60%  { transform: translateY(0) scale(1); opacity: 1; }
	100% { transform: none; opacity: 1; }
}
.kpt-lucky__spark {
	position: absolute;
	top: 10px;
	right: 16px;
	font-size: 20px;
	color: #d8c9a3;
	animation: kpt-spark 2.4s ease-in-out infinite;
}
@keyframes kpt-spark {
	0%, 100% { transform: scale(1) rotate(0deg); opacity: .55; }
	50%      { transform: scale(1.25) rotate(18deg); opacity: 1; }
}
.kpt-lucky__shine {
	position: absolute;
	top: 0;
	left: -40%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255,255,255,.16), transparent);
	animation: kpt-shine 3.6s ease-in-out infinite;
	pointer-events: none;
}
@keyframes kpt-shine {
	0%   { left: -45%; }
	55%  { left: 105%; }
	100% { left: 105%; }
}
.kpt-confetti-canvas {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 9999;
}
@media (prefers-reduced-motion: reduce) {
	.kpt-lucky, .kpt-lucky__spark, .kpt-lucky__shine { animation: none !important; }
}



}





/* Kategorie: Zurück-Button (mobil) + Startseiten-Link (Shop/Suche) */
.kpt-cat__head-h1 { margin: 0 0 16px; }
.kpt-cat__back {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 14px 7px 7px;
	background: #fff;
	border: 1px solid #e2ddd6;
	border-radius: 999px;
	color: #1c1c1c;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.kpt-cat__back:hover {
	border-color: #1c1c1c;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .07);
}
.kpt-cat__back-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #f4f2ef;
	color: #1c1c1c;
	flex: 0 0 auto;
}
.kpt-cat__back:hover .kpt-cat__back-icon { background: #1c1c1c; color: #fff; }
.kpt-cat__back-name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .01em;
}
.kpt-cat__back-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	background: #f4f2ef;
	font-size: 12px;
	font-weight: 500;
	color: #6f675d;
}
.kpt-cat__home-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 10px;
	padding: 0;
	background: none;
	border: 0;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
	color: #6f675d;
	text-decoration: none;
	transition: color .15s ease;
}
.kpt-cat__home-link:hover { color: #1c1c1c; }
.kpt-cat__home-link:hover svg { transform: translateX(-2px); }
.kpt-cat__home-link svg { transition: transform .15s ease; }

@media (max-width: 767px) {
	.kpt-cat__back { padding: 6px 12px 6px 6px; gap: 9px; }
	.kpt-cat__back-name { font-size: 14px; }
	.kpt-cat__back-icon { width: 26px; height: 26px; }
}



/* Zurück-Pille an die Container der jeweiligen Seite ausrichten */
.woocommerce-checkout .kpt-backbar__inner { max-width: 1280px; }
.kpt-hc-page .kpt-backbar__inner { max-width: 1200px; }
.page-template-page-retoure .kpt-backbar__inner { max-width: 760px; }
.page-template-page-zahlung-versand .kpt-backbar__inner { max-width: 1040px; }
.page-template-page-kundenservice .kpt-backbar__inner { max-width: 1200px; }

/* Globale Zurück-Leiste = gleiche Pille wie auf Kategorieseiten */
.kpt-backbar { background: transparent; border: 0; }
.kpt-backbar__inner {
	max-width: 1720px;
	margin: 0 auto;
	padding: 18px 32px 0;
}
.kpt-backbar .kpt-cat__back { margin: 0; }

@media (max-width: 767px) {
	.kpt-backbar__inner { padding: 14px 16px 0; }
}


/* ---------- Kasse: Mobil-Feinschliff ---------- */
@media (max-width: 1023px) {
	.woocommerce-checkout .woocommerce { padding-left: 16px; padding-right: 16px; }
	.woocommerce-checkout form.checkout { flex-direction: column; gap: 0; }
	.woocommerce-checkout form.checkout > #customer_details {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}
	.woocommerce-checkout .kpt-checkout-review {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}
	.woocommerce-checkout .form-row { width: 100%; float: none; padding: 0; }
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { width: 100%; float: none; }
	.woocommerce-checkout .woocommerce-input-wrapper { display: block; width: 100%; }
	.woocommerce-checkout .form-row input.input-text,
	.woocommerce-checkout .form-row select,
	.woocommerce-checkout .form-row textarea {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	.woocommerce-checkout .form-row textarea { min-height: 96px; resize: vertical; }
	.woocommerce-checkout #order_review { position: static; padding: 18px 14px 20px; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table { table-layout: fixed; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td { word-break: break-word; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name { width: 62%; }
}

@media (max-width: 1023px) {
	.woocommerce-checkout .select2-container,
	.woocommerce-checkout .select2-container--default { width: 100% !important; max-width: 100%; }
	.woocommerce-checkout select.country_to_state:not(.select2-hidden-accessible) { width: 100% !important; max-width: 100%; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { max-width: 100%; }
	.woocommerce-checkout #payment ul.payment_methods li { padding: 12px; }
	.woocommerce-checkout .kpt-co-pay { padding: 14px 12px; }
	.woocommerce-checkout .kpt-co-pay__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


/* Select2-Felder (Land/Bundesland) sauber einbinden */
.select2-hidden-accessible {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}
.woocommerce-checkout .select2-container { display: block; width: 100% !important; max-width: 100%; }
.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: 48px;
	border: 1px solid #d6d0c8;
	border-radius: 0;
	background: #fff;
	display: flex;
	align-items: center;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.2;
	padding-left: 14px;
	color: #1c1c1c;
	font-size: 14.5px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }

.woocommerce-checkout select.select2-hidden-accessible,
select.select2-hidden-accessible {
	width: 1px !important;
	height: 1px !important;
	max-width: 1px !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

/* Unsichtbarer Submit (Fallback für Warenkorb-Aktualisierung) */
.kpt-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}


/* ---------- Kasse mobil: fixierte Bezahlleiste ---------- */
.kpt-paybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	background: rgba(255, 255, 255, .97);
	backdrop-filter: blur(6px);
	border-top: 1px solid #e6e1d9;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, .10);
	padding-bottom: env(safe-area-inset-bottom, 0px);
}
.kpt-paybar[hidden] { display: none; }
.kpt-paybar__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	max-width: 1280px;
	margin: 0 auto;
}
.kpt-paybar__sum { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.kpt-paybar__label {
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8a8378;
}
.kpt-paybar__value { font-size: 17px; font-weight: 700; color: #1c1c1c; white-space: nowrap; }
.kpt-paybar__btn {
	flex: 1 1 auto;
	height: 48px;
	background: #1c1c1c;
	color: #fff;
	border: 1px solid #1c1c1c;
	font-size: 14px;
	letter-spacing: .02em;
	cursor: pointer;
}
.kpt-paybar__btn:active { background: #000; }

@media (min-width: 1024px) {
	.kpt-paybar { display: none !important; }
}
@media (max-width: 1023px) {
	.woocommerce-checkout { padding-bottom: 78px; }
}

/* Warenkorb: Artikel mit Kaufbeschränkung (max. 1) */
.kpt-ci__qty--single {
	padding: 0;
	border: 0;
	height: auto;
	background: none;
}
.kpt-ci__qty-single {
	font-size: 13px;
	color: #1c1c1c;
	white-space: nowrap;
}
.kpt-ci__qty-note { color: #8a8378; font-size: 12px; }

/* PDP-Preis: Originalpreis + Rabatt-Chip */
.kpt-pdp__price { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kpt-pdp__price del { color: #8a8378; font-size: 15px; text-decoration: line-through; }
.kpt-pdp__price ins { text-decoration: none; font-weight: 600; font-size: 20px; color: #1c1c1c; }
.kpt-pdp__price .kpt-pdp__off {
	display: inline-flex;
	align-items: center;
	align-self: center;
	background: #1c1c1c;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 6px;
	line-height: 1;
}
.kpt-pdp__price [hidden] { display: none; }
.kpt-pdp__price .kpt-pdp__off { transform: translateY(1px); }
.kpt-pdp__tax { align-self: center; }

/* Registrierung: Vor-/Nachname nebeneinander, Select wie Inputs */
.kpt-login form .form-row-first,
.kpt-login form .form-row-last {
	width: calc(50% - 7px) !important;
	float: left !important;
}
.kpt-login form .form-row-last { float: right !important; }
.kpt-login form .form-row::after { content: ""; display: table; clear: both; }
.kpt-login select.woocommerce-Input {
	width: 100%;
	height: 54px;
	border: 1px solid #c9c6c2;
	border-radius: 0;
	background: #fff;
	padding: 0 14px;
	font-size: 15px;
	color: #1c1c1c;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231c1c1c' stroke-width='1.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}
@media (max-width: 600px) {
	.kpt-login .form-row-first,
	.kpt-login .form-row-last { width: 100% !important; float: none !important; }
}

/* ---------- Mein Konto (eingeloggt) ---------- */
.kpt-my { padding: 28px 32px 70px; }
.kpt-my__inner { max-width: 1200px; margin: 0 auto; }
.kpt-my__inner .woocommerce {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}
.kpt-my__inner .woocommerce::before,
.kpt-my__inner .woocommerce::after { display: none; }   /* WooCommerce-Clearfix würde Grid-Zellen belegen */
.kpt-my__inner .woocommerce > nav { grid-column: 1; }
.kpt-my__inner .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; }
.kpt-my .woocommerce-MyAccount-navigation { width: auto; float: none; }
.kpt-my .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.kpt-my .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #eee9e2; }
.kpt-my .woocommerce-MyAccount-navigation li:first-child { border-top: 1px solid #eee9e2; }
.kpt-my .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 2px;
	font-size: 14px;
	color: #3a3a3a;
	text-decoration: none;
	transition: color .15s ease;
}
.kpt-my .woocommerce-MyAccount-navigation a:hover { color: #000; }
.kpt-my .woocommerce-MyAccount-navigation li.is-active a { font-weight: 600; color: #000; }
.kpt-my .woocommerce-MyAccount-content { width: auto; float: none; min-width: 0; }
.kpt-my .woocommerce-MyAccount-content p { font-size: 15px; line-height: 1.65; color: #2b2b2b; }
.kpt-my .woocommerce-MyAccount-content h2 { font-size: 22px; font-weight: 700; margin: 0 0 18px; }
.kpt-my .woocommerce-MyAccount-content h3 { font-size: 18px; font-weight: 600; margin: 26px 0 12px; }
.kpt-my .woocommerce-MyAccount-content a { color: #1c1c1c; }
.kpt-my table.shop_table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.kpt-my table.shop_table th,
.kpt-my table.shop_table td { padding: 12px 10px; border-bottom: 1px solid #eee9e2; text-align: left; }
.kpt-my table.shop_table th { font-weight: 600; }
.kpt-my .woocommerce-Button,
.kpt-my button.button,
.kpt-my input.button,
.kpt-my a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 26px;
	background: #1c1c1c;
	color: #fff;
	border: 1px solid #1c1c1c;
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
}
.kpt-my .woocommerce-Button:hover,
.kpt-my button.button:hover { background: #000; color: #fff; }
.kpt-my .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.kpt-my .woocommerce-Address { border: 1px solid #eee9e2; padding: 18px; }
.kpt-my address { font-style: normal; line-height: 1.6; }
.kpt-my .woocommerce-form-row input.input-text,
.kpt-my .woocommerce-form-row select {
	width: 100%;
	height: 48px;
	border: 1px solid #c9c6c2;
	border-radius: 0;
	padding: 0 14px;
	font-size: 15px;
	box-sizing: border-box;
}
.kpt-my .woocommerce-form-row label { display: block; font-size: 12.5px; color: #6f675d; margin-bottom: 6px; }

@media (max-width: 900px) {
	.kpt-my { padding: 20px 16px 60px; }
	.kpt-my__inner .woocommerce { grid-template-columns: 1fr; gap: 26px; }
	.kpt-my__inner .woocommerce > nav,
	.kpt-my__inner .woocommerce > .woocommerce-MyAccount-content { grid-column: auto; }
	.kpt-my .woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		gap: 4px;
		border-top: 0;
	}
	.kpt-my .woocommerce-MyAccount-navigation li { border: 0; white-space: nowrap; }
	.kpt-my .woocommerce-MyAccount-navigation a { padding: 10px 12px; background: #f4f2ef; }
	.kpt-my .woocommerce-Addresses { grid-template-columns: 1fr; }
}

.kpt-my__greeting { font-size: 18px; margin: 0 0 14px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.kpt-my__greeting strong { font-weight: 700; }
.kpt-my__logout { font-size: 13px; color: #6f675d; }
.kpt-my__logout:hover { color: #1c1c1c; }
.kpt-my__intro { max-width: 640px; }

/* Mein Konto: Hinweis-/Leerzustands-Karten */
.kpt-my .woocommerce-info,
.kpt-my .woocommerce-message,
.kpt-my .woocommerce-error {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	border: 1px solid #eee9e2;
	border-left: 3px solid #1c1c1c;
	background: #faf9f7;
	color: #1c1c1c;
	padding: 18px 20px;
	margin: 0 0 18px;
	font-size: 14.5px;
	list-style: none;
}
.kpt-my .woocommerce-info::before,
.kpt-my .woocommerce-message::before,
.kpt-my .woocommerce-error::before { display: none; }
.kpt-my .woocommerce-info .button,
.kpt-my .woocommerce-message .button,
.kpt-my .woocommerce-error .button {
	flex: 0 0 auto;
	margin: 0;
	height: 44px;
	padding: 0 22px;
	background: #1c1c1c;
	color: #fff;
	border: 1px solid #1c1c1c;
	font-size: 13.5px;
	text-decoration: none;
}
.kpt-my .woocommerce-info .button:hover { background: #000; color: #fff; }

/* ---------- Mein Konto: Mobil-Feinschliff ---------- */
@media (max-width: 767px) {
	.kpt-my { padding: 16px 16px 60px; overflow-x: hidden; }
	.kpt-my__inner .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 18px; min-width: 0; }
	.kpt-my__inner .woocommerce > nav,
	.kpt-my__inner .woocommerce > .woocommerce-MyAccount-content { grid-column: auto; min-width: 0; }

	/* Navigation: horizontale Chip-Leiste, kein Umbruch, scrollbar */
	.kpt-my .woocommerce-MyAccount-navigation {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 -16px;
		padding: 0 16px;
		position: relative;
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 22px), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 22px), transparent);
	}
	.kpt-my .woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
	.kpt-my .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 4px;
		margin: 0;
		padding: 0 0 4px;
		border: 0;
	}
	.kpt-my .woocommerce-MyAccount-navigation li { border: 0; flex: 0 0 auto; }
	.kpt-my .woocommerce-MyAccount-navigation a {
		display: block;
		padding: 8px 8px;
		background: #f4f2ef;
		font-size: 12px;
		letter-spacing: 0;
		white-space: nowrap;
	}
	.kpt-my .woocommerce-MyAccount-navigation li.is-active a { background: #1c1c1c; color: #fff; }

	/* Inhalt */
	.kpt-my .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
	.kpt-my .woocommerce-MyAccount-content > p { font-size: 14.5px; }
	.kpt-my__greeting { font-size: 17px; margin-bottom: 10px; }

	/* Formulare (Kontodetails) */
	.kpt-my fieldset { padding: 0; border: 0; margin: 0 0 18px; }
	.kpt-my legend { font-size: 16px; font-weight: 600; padding: 0 0 8px; }
	.kpt-my .form-row,
	.kpt-my .form-row-first,
	.kpt-my .form-row-last {
		width: 100% !important;
		float: none !important;
		margin: 0 0 14px !important;
		padding: 0;
	}
	.kpt-my .form-row label { font-size: 12.5px; }
	.kpt-my .form-row input.input-text,
	.kpt-my .form-row select,
	.kpt-my .form-row textarea,
	.kpt-my .password-input {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	.kpt-my .form-row .password-input input { width: 100% !important; }
	.kpt-my .woocommerce-Button,
	.kpt-my button.button,
	.kpt-my input.button { width: 100%; }

	/* Bestellungen / Tabellen */
	.kpt-my table.shop_table { font-size: 13.5px; }
	.kpt-my table.shop_table th,
	.kpt-my table.shop_table td { padding: 10px 6px; }
	.kpt-my .woocommerce-info,
	.kpt-my .woocommerce-message { flex-direction: column; align-items: flex-start; gap: 12px; }
	.kpt-my .woocommerce-info .button,
	.kpt-my .woocommerce-message .button { width: 100%; justify-content: center; }
}

/* Login: "Passwort vergessen?"-Link ausblenden (auf Wunsch entfernt) */
.kpt-login .lost_password,
.kpt-login .woocommerce-LostPassword { display: none !important; }

/* ---------- Kategorie mobil: Filter-/Sortier-Leiste ---------- */
.kpt-mobtools { display: none; }

@media (max-width: 767px) {
	/* alte Sidebar + Select auf Mobil ausblenden */
	.kpt-cat__side { display: none !important; }
	.kpt-cat__tools .kpt-sort { display: none !important; }

	.kpt-mobtools {
		display: flex;
		gap: 8px;
		padding: 4px 16px 14px;
	}
	.kpt-mobtools__btn {
		flex: 1 1 auto;
		max-width: 240px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: 44px;
		padding: 0 12px;
		background: #fff;
		border: 1px solid #d8d3cc;
		border-radius: 999px;
		font-size: 13.5px;
		color: #1c1c1c;
		cursor: pointer;
	}
	.kpt-mobtools__btn:active { background: #f4f2ef; }

	/* Sheets */
	.kpt-sheet { position: fixed; inset: 0; z-index: 120; }
	.kpt-sheet[hidden] { display: none; }
	.kpt-sheet__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, .42);
	}
	.kpt-sheet__panel {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		max-height: 82vh;
		background: #fff;
		display: flex;
		flex-direction: column;
		border-radius: 14px 14px 0 0;
		box-shadow: 0 -10px 34px rgba(0, 0, 0, .18);
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}
	.kpt-sheet__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 18px;
		font-size: 16px;
		font-weight: 600;
		border-bottom: 1px solid #eee9e2;
	}
	.kpt-sheet__close {
		background: none;
		border: 0;
		font-size: 24px;
		line-height: 1;
		cursor: pointer;
		color: #1c1c1c;
		padding: 0 4px;
	}
	.kpt-sheet__body {
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 6px 18px 26px;
	}
	/* Sidebar-Inhalte im Sheet */
	.kpt-sheet__body ul { list-style: none; margin: 0; padding: 0; }
	.kpt-sheet__body li { border-bottom: 1px solid #f1ede6; }
	.kpt-sheet__body a,
	.kpt-sheet__body .kpt-sheet__list a {
		display: block;
		padding: 13px 2px;
		font-size: 15px;
		color: #1c1c1c;
		text-decoration: none;
	}
	.kpt-sheet__list li.is-active a,
	.kpt-sheet__body li.is-active a { font-weight: 600; }
	.kpt-sheet__body .kpt-cat__side-head,
	.kpt-sheet__body .kpt-cat__side-toggle { display: none; }

	body.kpt-sheet-open { overflow: hidden; }
}

	/* Sheet: Sidebar-Inhalte aufräumen */
	.kpt-sheet__body .kpt-side__toggle { display: none; }
	.kpt-sheet__body .kpt-side__row { display: block; }
	.kpt-sheet__body .kpt-side__link { display: block; padding: 13px 2px; font-size: 15px; }
	.kpt-sheet__body .kpt-side__item { border-bottom: 1px solid #f1ede6; }
	.kpt-sheet__body .kpt-side__item > .kpt-side__row { border-bottom: 1px solid #f1ede6; }
	.kpt-sheet__body .kpt-side__item.is-current > .kpt-side__row { border-bottom: 0; }
	.kpt-sheet__body .kpt-side__item.is-current > .kpt-side__row > a { font-weight: 700; }
	.kpt-sheet__body .kpt-side__sublist { display: none; }
	.kpt-sheet__body .kpt-side__item.is-open > .kpt-side__sublist { display: block; }
	.kpt-sheet__body .kpt-side__sublist li { border-bottom: 1px solid #f6f3ee; }
	.kpt-sheet__body .kpt-side__sublist a { display: block; padding: 11px 2px 11px 14px; font-size: 14.5px; color: #4a4a4a; }
	.kpt-sheet__hint {
		margin: 14px 0 6px;
		font-size: 11.5px;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: #8a8378;
	}

/* Kategorie mobil: Kollektionen als kompakte, scrollbare Reihe */
@media (max-width: 767px) {
	.kpt-cat__sub { margin: 0 0 8px; font-size: 12px; }
	.kpt-collections {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		gap: 8px;
		margin: 0 0 16px;
		padding: 0 0 4px;
		max-width: 100%;
		scrollbar-width: none;
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 18px), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 18px), transparent);
	}
	.kpt-collections::-webkit-scrollbar { display: none; }
	.kpt-collection {
		flex: 0 0 104px;
		width: 104px;
		scroll-snap-align: start;
		padding: 0;
	}
	.kpt-collection__img { aspect-ratio: 1 / 1; }
	.kpt-collection__img img { padding: 6px; }
	.kpt-collection__name {
		font-size: 11.5px;
		line-height: 1.25;
		padding: 6px 4px 8px;
		text-align: center;
	}
}

/* Kategorie mobil: kein Seiten-Overflow, nur die Kollektionsreihe scrollt */
@media (max-width: 767px) {
	.kpt-cat { overflow-x: hidden; }
	.kpt-cat__main { min-width: 0; }
	.kpt-collections { width: 100%; }
}

/* Ziehbare Reihen (Kollektionen, Filter-Chips) */
[data-kpt-dragscroll] {
	cursor: grab;
	touch-action: pan-x;
	user-select: none;
	-webkit-user-select: none;
}
[data-kpt-dragscroll].is-dragging { cursor: grabbing; }
[data-kpt-dragscroll].is-dragging a { pointer-events: none; }

@media (max-width: 767px) {
	/* Kopfbereich: Kinder auf volle Breite, damit die Reihe scrollen kann */
	.kpt-cat__head { align-items: stretch; }
	.kpt-collections,
	.kpt-cat__sub,
	.kpt-cat__head > * { min-width: 0; }
	.kpt-collections { align-self: stretch; width: 100%; flex: 0 0 auto; }
}
