/* ==========================================================================
   Doonails — home.css
   Hero, founder, press marquee, bestseller rail, brand breaker, categories,
   UGC rail, methoden cards, social proof, spotlight, guarantee, retail,
   shop collection, SEO text. Reference order 1440x900.
   ========================================================================== */

/* -------------------------------- hero ---------------------------------- */
.dn-hero {
	position: relative;
	height: clamp(560px, 80vh, 840px);
	background: #7a0019;
	color: #fff;
	overflow: hidden;
}

.dn-hero__slider {
	position: absolute;
	inset: 0;
}

.dn-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0.8s ease;
}

.dn-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.dn-hero__slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 0, 6, 0.32) 0%, rgba(20, 0, 6, 0.08) 45%, rgba(20, 0, 6, 0) 70%),
		linear-gradient(0deg, rgba(20, 0, 6, 0.22) 0%, rgba(20, 0, 6, 0) 45%);
	pointer-events: none;
}

.dn-hero__slide--ph-hero-a {
	background: radial-gradient(120% 120% at 60% 25%, #a30f36 0%, #7a0019 55%, #4a0010 100%);
}
.dn-hero__slide--ph-hero-b {
	background: radial-gradient(120% 120% at 60% 25%, #6b2a1e 0%, #3f1210 60%, #240808 100%);
}
.dn-hero__slide--ph-hero-c {
	background: radial-gradient(120% 120% at 60% 25%, #5a2418 0%, #2f1210 60%, #1c0a08 100%);
}

.dn-hero__media {
	position: absolute;
	inset: 0;
	display: block;
}

.dn-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
}

/* Video slides (reference: <video autoplay loop muted playsinline> per slide,
   desktop/mobile variants). Poster = the S3 WebP that is LCP-preloaded. */
.dn-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
	background: #7a0019;
	pointer-events: none;
}

.dn-hero__video--mobile {
	display: none;
}

@media (max-width: 768px) {
	.dn-hero__video--desktop {
		display: none;
	}
	.dn-hero__video--mobile {
		display: block;
		object-position: center 30%;
	}
}

/* Reduced motion: never autoplay; the poster stays visible. */
@media (prefers-reduced-motion: reduce) {
	.dn-hero__video {
		display: block;
		background: #7a0019;
	}
}

.dn-hero__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 0 40px 59px;
	max-width: 1600px;
	margin-inline: auto;
}

.dn-hero__eyebrow {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}

.dn-hero__title {
	margin: 0 0 10px;
	font-size: 72px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.01em;
	color: #fff;
}

.dn-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.dn-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 40px;
	padding: 10px 26px;
	font-size: 14px;
	font-weight: 500;
	border: 1px solid #fff;
	color: #fff;
	background: transparent;
	transition: background 0.25s ease, color 0.25s ease;
}

.dn-hero__btn--solid {
	background: #fff;
	color: #272727;
}

.dn-hero__btn:hover {
	background: #fff;
	color: #272727;
}

.dn-hero__btn--solid:hover {
	background: transparent;
	color: #fff;
}

.dn-hero__btn-arrow {
	width: 18px;
	height: 18px;
}

.dn-hero__controls {
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 14px;
	color: #fff;
}

.dn-hero__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: #fff;
}

.dn-hero__dots {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dn-hero__dot {
	position: relative;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
}
.dn-hero__dot::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
}
/* Larger invisible hit area (>=24px) for touch/accessibility. */
.dn-hero__dot::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

.dn-hero__dot.is-active {
	background: #fff;
}

.dn-hero__scroll {
	position: absolute;
	right: 26px;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%) rotate(90deg);
	font-size: 11px;
	letter-spacing: 0.16em;
	color: rgba(255, 255, 255, 0.85);
	white-space: nowrap;
}

.dn-hero__scroll::after {
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	margin: 8px auto 0;
	background: rgba(255, 255, 255, 0.6);
}

/* mobile category chips */
.dn-topcat {
	display: none;
}

@media (max-width: 767px) {
	.dn-hero__content {
		padding: 0 20px 64px;
	}
	.dn-hero__eyebrow {
		font-size: 12px;
		letter-spacing: 0.08em;
	}
	.dn-hero__title {
		font-size: 40px;
		line-height: 1.05;
		margin-bottom: 16px;
	}
	.dn-hero__buttons {
		flex-direction: column;
		gap: 10px;
	}
	.dn-hero__btn {
		width: 100%;
		min-height: 48px;
		justify-content: center;
	}
	.dn-hero__scroll {
		display: none;
	}
	.dn-hero__controls {
		bottom: 18px;
	}
}

@media (max-width: 1199px) {
	.dn-topcat {
		display: block;
		position: absolute;
		top: 64px;
		left: 0;
		right: 0;
		z-index: 4;
		padding: 12px 0 0;
	}
	.dn-topcat__list {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		scrollbar-width: none;
		padding-inline: 20px;
	}
	.dn-topcat__list::-webkit-scrollbar {
		display: none;
	}
	.dn-topcat__chip {
		display: inline-flex;
		align-items: center;
		white-space: nowrap;
		padding: 7px 14px;
		border: 1px solid rgba(255, 255, 255, 0.9);
		color: #fff;
		font-size: 14px;
		line-height: 1.2;
	}
}

/* ------------------------------- founder -------------------------------- */
.dn-founder {
	background: #fff;
	padding: 40px 0;
}

.dn-founder__text {
	max-width: 1360px;
	margin: 0;
	font-size: 36px;
	font-weight: 300;
	line-height: 1.2;
	color: #272727;
}

.dn-founder__attr {
	margin: 24px 0 0;
	font-size: 16px;
	line-height: 1.2;
	color: #272727;
}

.dn-founder__dash {
	color: rgba(39, 39, 39, 0.65);
	margin-right: 2px;
}

@media (max-width: 749px) {
	.dn-founder__text {
		font-size: 22px;
		line-height: 1.25;
	}
	.dn-founder__attr {
		margin-top: 16px;
		font-size: 14px;
	}
}

/* -------------------------------- press --------------------------------- */
.dn-press {
	background: #f7f6f5;
	border-top: 1px solid rgba(39, 39, 39, 0.1);
	border-bottom: 1px solid rgba(39, 39, 39, 0.1);
	padding: 21px 0;
	overflow: hidden;
}

.dn-press__mq {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.dn-press__track {
	display: flex;
	align-items: center;
	gap: 48px;
	width: max-content;
	animation: dn-marquee 38s linear infinite;
}

@keyframes dn-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.dn-press__name {
	color: #7b7b7b;
	opacity: 0.85;
	white-space: nowrap;
	font-size: 30px;
	height: 28px;
	display: inline-flex;
	align-items: center;
}

.dn-press__name--serif {
	font-family: var(--dn-font-serif);
	font-style: italic;
	font-weight: 300;
	letter-spacing: 0.02em;
}
.dn-press__name--italic {
	font-family: var(--dn-font-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 30px;
}
.dn-press__name--bold {
	font-family: var(--dn-font);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.06em;
}
.dn-press__name--light {
	font-family: var(--dn-font);
	font-weight: 300;
	font-size: 24px;
	letter-spacing: 0.24em;
}
.dn-press__name--script {
	font-family: var(--dn-font-serif);
	font-weight: 700;
	font-size: 32px;
}
.dn-press__logo {
	height: 20px;
	width: auto;
	opacity: 0.55;
	filter: grayscale(1);
	flex: 0 0 auto;
}

.dn-press__sep {
	color: #b9b9b9;
	font-size: 18px;
}

@media (max-width: 749px) {
	.dn-press {
		padding: 18px 0;
	}
	.dn-press__track {
		gap: 26px;
		animation-duration: 26s;
	}
	.dn-press__name {
		font-size: 22px;
		height: 26px;
	}
	.dn-press__name--italic,
	.dn-press__name--script {
		font-size: 21px;
	}
	.dn-press__name--bold {
		font-size: 15px;
	}
	.dn-press__name--light {
		font-size: 17px;
	}
}

/* --------------------------------- rail --------------------------------- */
.dn-rail {
	padding: 40px 0 64px;
	background: #fff;
}

.dn-rail__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.dn-rail__title {
	margin: 0;
	font-size: 40px;
	line-height: 1.05;
	font-weight: 300;
	color: #272727;
}

.dn-rail__sub {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 1.5;
	color: #272727;
}

.dn-rail__all {
	font-size: 14px;
	line-height: 1.2;
	color: #272727;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	padding-bottom: 4px;
}

.dn-rail__tabs {
	display: inline-flex;
	border: 1px solid #dfdfdf;
	margin-top: 24px;
}

.dn-rail__tab {
	padding: 12px 32px;
	min-height: 47px;
	font-size: 16px;
	line-height: 1.2;
	color: #6b6b6b;
	background: transparent;
	transition: background 0.18s ease, color 0.18s ease;
}

.dn-rail__tab.is-active {
	background: #272727;
	color: #fff;
}

.dn-rail__panel {
	position: relative;
	display: none;
	margin-top: 24px;
}

.dn-rail__panel.is-active {
	display: block;
}

.dn-rail__viewport {
	overflow: hidden;
}

.dn-rail__track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-behavior: smooth;
	padding-bottom: 4px;
}

.dn-rail__track::-webkit-scrollbar {
	display: none;
}

.dn-rail__track > .dn-card {
	flex: 0 0 calc((100% - 72px) / 4);
}

.dn-rail__nav {
	position: absolute;
	top: 50%;
	right: -6px;
	transform: translateY(-50%);
	display: flex;
	gap: 8px;
	pointer-events: none;
}

.dn-rail__arrow {
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fff;
	color: #272727;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.16);
	transition: background 0.2s ease, color 0.2s ease;
}

.dn-rail__arrow:hover {
	background: #272727;
	color: #fff;
}

@media (max-width: 991px) {
	.dn-rail__track > .dn-card {
		flex: 0 0 calc((100% - 16px) / 2);
	}
	.dn-rail__title {
		font-size: 32px;
	}
}

@media (max-width: 767px) {
	.dn-rail {
		padding: 32px 0 40px;
	}
	.dn-rail__head {
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 8px;
	}
	.dn-rail__title {
		font-size: 28px;
	}
	.dn-rail__sub {
		font-size: 14px;
		margin-top: 6px;
	}
	.dn-rail__tabs {
		margin-top: 18px;
	}
	.dn-rail__tab {
		min-height: 38px;
		padding: 9px 16px;
		font-size: 14px;
	}
	.dn-rail__track {
		gap: 12px;
		margin-right: -20px;
		padding-right: 20px;
	}
	.dn-rail__track > .dn-card {
		flex: 0 0 72%;
	}
	.dn-card--rail .dn-card__title {
		font-size: 15px;
	}
	.dn-rail__nav {
		display: none;
	}
}

/* ------------------------------- brecher -------------------------------- */
.dn-brecher {
	position: relative;
	aspect-ratio: 24 / 9;
	width: 100%;
	background: #272727;
	overflow: hidden;
	color: #fff;
}

.dn-brecher__media,
.dn-brecher__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 45%;
}

.dn-brecher::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(39, 39, 39, 0.6) 0%, rgba(39, 39, 39, 0.18) 45%, rgba(39, 39, 39, 0) 72%);
}

.dn-brecher__inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
}

.dn-brecher__eyebrow {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.dn-brecher__title {
	max-width: 620px;
	margin: 0;
	font-size: 52px;
	line-height: 1;
	letter-spacing: -0.015em;
	font-weight: 300;
}

.dn-brecher__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
	padding: 15px 30px;
	background: #fff;
	color: #272727;
	font-size: 14px;
	font-weight: 500;
	transition: background 0.25s ease, color 0.25s ease;
}

.dn-brecher__cta:hover {
	background: transparent;
	color: #fff;
	border: 1px solid #fff;
}

@media (max-width: 767px) {
	.dn-brecher {
		aspect-ratio: 4 / 5;
		min-height: 0;
	}
	.dn-brecher::after {
		background: linear-gradient(180deg, rgba(39, 39, 39, 0.12) 0%, rgba(39, 39, 39, 0.05) 40%, rgba(39, 39, 39, 0.72) 100%);
	}
	.dn-brecher__inner {
		align-items: flex-end;
	}
	.dn-brecher__inner .dn-container {
		padding-bottom: 28px;
	}
	.dn-brecher__title {
		font-size: 30px;
	}
	.dn-brecher__cta {
		margin-top: 18px;
		padding: 13px 24px;
		font-size: 13px;
	}
}

/* ------------------------------ categories ------------------------------- */
.dn-kat {
	padding: 56px 0 64px;
}

.dn-kat__title {
	margin: 0 0 32px;
	font-size: 40px;
	line-height: 1.1;
	font-weight: 300;
}

.dn-kat__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.dn-kat__card {
	position: relative;
	display: block;
	aspect-ratio: 1184 / 1374;
	overflow: hidden;
	background: #f7f6f5;
	color: #fff;
}

.dn-kat__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.dn-kat__card:hover .dn-kat__img {
	transform: scale(1.04);
}

.dn-kat__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(39, 39, 39, 0) 40%, rgba(39, 39, 39, 0.26) 72%, rgba(39, 39, 39, 0.6) 100%);
}

.dn-kat__content {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	display: block;
	padding-right: 34px;
}

.dn-kat__name {
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.dn-kat__desc {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.9);
}

.dn-kat__arrow {
	position: absolute;
	right: 0;
	bottom: 2px;
	width: 20px;
	height: 20px;
}

@media (max-width: 991px) {
	.dn-kat__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
	.dn-kat__title {
		font-size: 32px;
	}
}

@media (max-width: 767px) {
	.dn-kat {
		padding: 36px 0 40px;
	}
	.dn-kat__title {
		font-size: 26px;
		margin-bottom: 20px;
	}
	.dn-kat__grid {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scrollbar-width: none;
		margin-right: -20px;
		padding-right: 20px;
	}
	.dn-kat__grid::-webkit-scrollbar {
		display: none;
	}
	.dn-kat__card {
		flex: 0 0 74%;
	}
	.dn-kat__name {
		font-size: 14px;
	}
	.dn-kat__desc {
		font-size: 11px;
	}
}

/* --------------------------------- ugc ---------------------------------- */
.dn-ugc {
	position: relative;
	padding: 64px 0;
	background: #7a0019;
	background-image: radial-gradient(120% 100% at 50% 0%, rgba(255, 80, 110, 0.24) 0%, rgba(255, 80, 110, 0) 60%),
		linear-gradient(135deg, #5c0013 0%, #7a0019 45%, #5c0013 100%);
	color: #fff;
	overflow: hidden;
}

.dn-ugc__head {
	max-width: 1100px;
	margin: 0 auto 32px;
	padding-inline: 40px;
	text-align: center;
}

.dn-ugc__eyebrow {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}

.dn-ugc__title {
	margin: 0 0 12px;
	font-size: 44px;
	line-height: 1.05;
	font-weight: 300;
	letter-spacing: -0.015em;
	color: #fff;
}

.dn-ugc__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
}

.dn-ugc__frame {
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
	padding-inline: 40px;
}

.dn-ugc__track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-behavior: smooth;
	padding-bottom: 4px;
}

.dn-ugc__track::-webkit-scrollbar {
	display: none;
}

.dn-ugc__card {
	flex: 0 0 300px;
	margin: 0;
}

.dn-ugc__media {
	position: relative;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.12);
}

.dn-ugc__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dn-ugc__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #272727;
}

.dn-ugc__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.08);
}

.dn-ugc__toggle {
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.dn-ugc__toggle:hover {
	transform: translate(-50%, -50%) scale(1.06);
}

.dn-ugc__toggle-icon {
	display: none;
	align-items: center;
	justify-content: center;
}

.dn-ugc__toggle-icon--play {
	display: flex;
}

.dn-ugc__card.is-playing .dn-ugc__toggle-icon--play {
	display: none;
}

.dn-ugc__card.is-playing .dn-ugc__toggle-icon--pause {
	display: flex;
}

@media (prefers-reduced-motion: reduce) {
	.dn-ugc__video {
		visibility: visible;
	}
}

.dn-ugc__handle {
	position: absolute;
	left: 10px;
	bottom: 10px;
	padding: 4px 8px;
	background: rgba(39, 39, 39, 0.55);
	backdrop-filter: blur(4px);
	font-size: 11px;
	color: #fff;
}

.dn-ugc__caption {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.8);
}

.dn-ugc__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	color: #272727;
}

.dn-ugc__arrow--prev {
	left: 12px;
}

.dn-ugc__arrow--next {
	right: 12px;
}

@media (max-width: 991px) {
	.dn-ugc__card {
		flex: 0 0 240px;
	}
}

@media (max-width: 767px) {
	.dn-ugc {
		padding: 36px 0 40px;
	}
	.dn-ugc__head,
	.dn-ugc__frame {
		padding-inline: 20px;
	}
	.dn-ugc__title {
		font-size: 28px;
		line-height: 1.1;
	}
	.dn-ugc__text {
		font-size: 13px;
	}
	.dn-ugc__track {
		gap: 12px;
		margin-right: -20px;
		padding-right: 20px;
	}
	.dn-ugc__card {
		flex: 0 0 190px;
	}
	.dn-ugc__arrow {
		display: none;
	}
}

/* ------------------------------- methoden ------------------------------- */
.dn-methoden {
	padding: 40px 0 56px;
}

.dn-methoden__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 32px;
}

.dn-methoden__title {
	margin: 0;
	font-size: 32px;
	line-height: 1.15;
	font-weight: 300;
}

.dn-methoden__sub {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: rgba(39, 39, 39, 0.8);
}

.dn-methoden__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.dn-methoden__card {
	border: 1px solid #272727;
	background: #fff;
	display: flex;
	flex-direction: column;
}

.dn-methoden__media {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f5f1ea;
}

.dn-methoden__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dn-methoden__body {
	padding: 24px 32px 28px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.dn-methoden__row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.dn-methoden__name {
	margin: 0;
	font-size: 32px;
	line-height: 1.1;
	font-weight: 300;
}

.dn-methoden__badge {
	flex: 0 0 auto;
	margin-top: 8px;
	padding: 6px 10px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
}

.dn-methoden__badge.is-red {
	background: #a60039;
}
.dn-methoden__badge.is-dark {
	background: #272727;
}

.dn-methoden__text {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: #272727;
}

.dn-methoden__specs {
	margin: 24px 0 0;
	border-top: 1px solid #ececec;
}

.dn-methoden__specs li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid #ececec;
	font-size: 14px;
}

.dn-methoden__spec-label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #272727;
}

.dn-methoden__spec-label svg {
	width: 16px;
	height: 16px;
	opacity: 0.7;
}

.dn-methoden__spec-value {
	font-weight: 500;
}

.dn-methoden__cta {
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 20px;
	background: #272727;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	transition: opacity 0.2s ease;
}

.dn-methoden__cta:hover {
	opacity: 0.86;
}

@media (max-width: 991px) {
	.dn-methoden__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.dn-methoden {
		padding: 36px 0 44px;
	}
	.dn-methoden__title {
		font-size: 26px;
	}
	.dn-methoden__sub {
		font-size: 13px;
	}
	.dn-methoden__body {
		padding: 20px;
	}
	.dn-methoden__name {
		font-size: 26px;
	}
	.dn-methoden__text {
		font-size: 13px;
	}
	.dn-methoden__specs li {
		font-size: 13px;
	}
}

/* ------------------------------ social proof ----------------------------- */
.dn-tp {
	padding: 64px 0;
	background: #f7f6f5;
}

.dn-tp__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
}

.dn-tp__brand {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 500;
	color: #272727;
}

.dn-tp__brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	background: #00b67a;
	color: #fff;
	font-size: 13px;
}

.dn-tp__stars {
	display: flex;
	justify-content: center;
	gap: 4px;
	color: #00b67a;
}

.dn-tp__star svg {
	width: 22px;
	height: 22px;
}

.dn-tp__score {
	margin: 12px 0 0;
	font-size: 15px;
	color: #272727;
}

.dn-tp__text {
	margin: 14px auto 0;
	max-width: 620px;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(39, 39, 39, 0.75);
}

.dn-tp__ugc {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin-top: 48px;
}

.dn-tp__tile {
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ece7e0;
}

.dn-tp__tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dn-tp__note {
	margin: 22px auto 0;
	max-width: 620px;
	text-align: center;
	font-size: 12px;
	color: rgba(39, 39, 39, 0.55);
}

@media (max-width: 767px) {
	.dn-tp {
		padding: 36px 0;
	}
	.dn-tp__ugc {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-top: 26px;
	}
	.dn-tp__text {
		font-size: 13px;
	}
}

/* ------------------------------- spotlight ------------------------------ */
.dn-spotlight {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: #fff;
}

.dn-spotlight__media {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f7f6f5;
}

.dn-spotlight__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dn-spotlight__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 28px;
	padding: 32px 40px;
}

.dn-spotlight__head {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.dn-spotlight__eyebrow {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.24px;
	text-transform: uppercase;
	color: #272727;
}

.dn-spotlight__title {
	margin: 0;
	font-size: 36px;
	line-height: 1.2;
	font-weight: 300;
}

.dn-spotlight__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

.dn-spotlight__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.dn-spotlight__item-media {
	display: block;
	aspect-ratio: 1080 / 1350;
	background: #f5f1ea;
	overflow: hidden;
}

.dn-spotlight__item-title {
	display: block;
	padding-top: 8px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.24px;
	text-transform: uppercase;
}

.dn-spotlight__cta {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #272727;
	font-size: 16px;
	font-weight: 500;
}

@media (max-width: 991px) {
	.dn-spotlight {
		grid-template-columns: 1fr;
	}
	.dn-spotlight__content {
		padding: 28px 20px 36px;
		gap: 24px;
	}
	.dn-spotlight__title {
		font-size: 28px;
	}
	.dn-spotlight__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* ------------------------------- guarantee ------------------------------ */
.dn-guarantee {
	position: relative;
	padding: 64px 0;
	background: #40101c;
	color: #fff;
	overflow: hidden;
}

.dn-guarantee__bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(100% 140% at 50% 0%, rgba(255, 90, 120, 0.3) 0%, rgba(255, 90, 120, 0) 60%),
		linear-gradient(120deg, #3a0b16 0%, #5e0f22 55%, #3a0b16 100%);
}

.dn-guarantee__content {
	position: relative;
	z-index: 2;
	max-width: 420px;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}

.dn-guarantee__title {
	margin: 0;
	font-size: 24px;
	line-height: normal;
	font-weight: 400;
}

.dn-guarantee__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

.dn-guarantee__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.7);
	font-size: 16px;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.dn-guarantee {
		padding: 40px 0;
	}
	.dn-guarantee__text {
		font-size: 14px;
	}
}

/* ---------------------------- shop collection ---------------------------- */
.dn-shopcoll {
	background: #272727;
	color: #fff;
	padding: 48px 0;
	overflow: hidden;
}

.dn-shopcoll__title {
	margin: 0 0 24px;
	font-size: 36px;
	line-height: 1.1;
	font-weight: 300;
	color: #fff;
}

.dn-shopcoll__frame {
	padding-inline: 40px;
	max-width: 1600px;
	margin-inline: auto;
}

.dn-shopcoll__track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-behavior: smooth;
}

.dn-shopcoll__track::-webkit-scrollbar {
	display: none;
}

.dn-shopcoll__item {
	flex: 0 0 calc((100% - 80px) / 6);
	margin: 0;
}

.dn-shopcoll__item img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.1);
}

.dn-shopcoll__caption {
	margin-top: 10px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 991px) {
	.dn-shopcoll__item {
		flex: 0 0 40%;
	}
}

@media (max-width: 767px) {
	.dn-shopcoll {
		padding: 32px 0;
	}
	.dn-shopcoll__title {
		font-size: 26px;
	}
	.dn-shopcoll__frame {
		padding-inline: 20px;
	}
	.dn-shopcoll__item {
		flex: 0 0 62%;
	}
}

/* -------------------------------- seo text ------------------------------- */
.dn-seo {
	padding: 48px 0 56px;
	border-top: 1px solid #ececec;
}

.dn-seo__head {
	max-width: 820px;
	margin-bottom: 28px;
}

.dn-seo__eyebrow {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(39, 39, 39, 0.55);
}

.dn-seo__title {
	margin: 0;
	font-size: 30px;
	line-height: 1.15;
	font-weight: 300;
}

.dn-seo__tabs {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
	gap: 8px;
	margin-bottom: 24px;
	padding-bottom: 2px;
}

.dn-seo__tabs::-webkit-scrollbar {
	display: none;
}

.dn-seo__tab {
	flex: 0 0 auto;
	padding: 10px 16px;
	border: 1px solid #dfdfdf;
	font-size: 13px;
	line-height: 1.3;
	color: rgba(39, 39, 39, 0.7);
	text-align: left;
	max-width: 280px;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.dn-seo__tab.is-active {
	border-color: #272727;
	color: #272727;
}

.dn-seo__panel {
	display: none;
	max-width: 900px;
}

.dn-seo__panel.is-active {
	display: block;
}

.dn-seo__panel-title {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
}

.dn-seo__panel-text {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(39, 39, 39, 0.8);
}

.dn-seo__panel-link {
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.dn-seo {
		padding: 36px 0 44px;
	}
	.dn-seo__title {
		font-size: 26px;
	}
	.dn-seo__tabs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin-right: -20px;
		padding-right: 20px;
	}
	.dn-seo__tabs::-webkit-scrollbar {
		display: none;
	}
	.dn-seo__tab {
		flex: 0 0 auto;
		max-width: none;
	}
}

/* placeholder fills for cover images */
.dn-kat__img.dn-ph,
.dn-retail__media .dn-ph,
.dn-spotlight__media .dn-ph,
.dn-spotlight__item-media.dn-ph {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.dn-ugc__media .dn-ph,
.dn-methoden__media .dn-ph,
.dn-tp__tile .dn-ph,
.dn-shopcoll__item .dn-ph {
	display: block;
	width: 100%;
	height: 100%;
}

.dn-spotlight__media,
.dn-retail__media,
.dn-kat__card,
.dn-spotlight__item-media {
	position: relative;
}

.dn-spotlight__item-media .dn-ph {
	width: 100%;
	height: 100%;
}

/* Hero offer badge (discount must be visible on the homepage image) */
.dn-hero__offer {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 14px;
	padding: 0;
}
.dn-hero__offer-badge {
	display: inline-block;
	padding: 6px 12px;
	background: #a60039;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.dn-hero__offer-text {
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.02em;
}
@media (max-width: 767px) {
	.dn-hero__offer { margin-bottom: 10px; gap: 8px; }
	.dn-hero__offer-badge { font-size: 11px; padding: 5px 9px; }
	.dn-hero__offer-text { font-size: 12px; }
}
