/* Mobile Ansicht (bis 899px). Desktop bleibt wie im Original. */
@media (max-width: 899px) {
	#container {
		width: auto;
	}

	/* ---------- header -------------- */
	#header {
		height: 70px;
		left: 0;
	}

	#header a img {
		display: block;
		width: 140px;
		margin: 22px auto 0;
	}

	#shopper {
		position: fixed;
		top: 26px;
		right: 16px;
		width: auto;
		margin: 0;
		padding: 0;
	}

	#shopper a {
		font-size: 14px;
	}

	/* ---------- navi: Leiste von links, geschlossen bleiben 12px sichtbar -------------- */
	#navi {
		/* oben bündig mit dem ersten Bild im Inhalt */
		top: 80px;
		left: 0;
		max-height: calc(100vh - 80px);
		width: 260px;
		max-width: 80vw;
		padding: 16px 20px;
		box-sizing: border-box;
		overflow: visible;
		background-color: rgba(255, 255, 255, 0.85);
		transform: translateX(calc(-100% + 12px));
		transition: transform 0.3s ease;
		cursor: pointer;
	}

	#navi ul {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	/* dezentes Burger-Symbol im sichtbaren 12px-Streifen */
	#navi::after {
		content: "";
		position: absolute;
		top: 10px;
		right: 2px;
		width: 8px;
		height: 1px;
		background-color: #9c9e9f;
		box-shadow: 0 3px 0 #9c9e9f, 0 6px 0 #9c9e9f;
		transition: opacity 0.3s ease;
	}

	/* eingeklappt: Schatten nur oben am Streifen, nach 240px ausgeblendet (höchstens Menühöhe) */
	#navi::before {
		content: "";
		position: absolute;
		top: 0;
		right: -10px;
		width: 10px;
		height: min(240px, 100%);
		background: linear-gradient(to right, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0));
		-webkit-mask-image: linear-gradient(to bottom, #000, transparent);
		mask-image: linear-gradient(to bottom, #000, transparent);
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	body.naviOpen #navi::after,
	body.naviOpen #navi::before {
		opacity: 0;
	}

	body.naviOpen #navi {
		transform: none;
		cursor: auto;
		overflow-y: auto;
		box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
	}

	body.naviOpen #navi ul {
		opacity: 1;
		pointer-events: auto;
	}

	#navi > ul > li ul > li {
		padding: 8px 0;
		margin: 0;
	}

	/* ---------- content -------------- */
	#content {
		--slide: min(430px, calc(100vw - 32px));
		width: auto;
		max-width: 430px;
		min-height: 0;
		margin: 80px auto 0;
		padding: 0 16px;
		overflow-wrap: break-word;
	}

	#content img {
		max-width: 100%;
	}

	#content table {
		max-width: 100%;
	}

	cite {
		width: auto;
	}

	/* Nivo-Slider auf Bildschirmbreite skalieren */
	.theme-default .nivoSlider {
		width: var(--slide);
		height: var(--slide);
	}

	.nivoSlider img {
		width: 100%;
		height: auto;
	}

	.nivoSlider, .nivo-slice {
		background-size: var(--slide) var(--slide) !important;
	}

	/* Startseite: Slider 10 % kleiner, mittig */
	.frontpage {
		--slide: calc(0.9 * min(430px, calc(100vw - 32px)));
	}

	.frontpage .nivoSlider {
		margin: 0 auto;
	}

	.frontpage + h1 {
		cursor: pointer;
	}

	/* ---------- Kacheln (Shop, Kollektionen, Lookbook, Press) -------------- */
	ul.tiles {
		width: auto;
	}

	ul.tiles li {
		width: calc(50% - 8px);
	}

	ul.tiles li.odd {
		margin-right: 16px;
		clear: left;
	}

	ul.tiles li img {
		width: 100%;
		height: auto;
	}

	ul.tiles li > div {
		height: auto !important;
		aspect-ratio: 1 / 1;
	}

	ul.tiles li > div img {
		height: 100%;
	}

	.lookbookTitle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	/* ---------- Warenkorb und Kasse -------------- */
	#checkoutHead ol {
		display: flex;
		margin-bottom: 20px;
	}

	#checkoutHead ol li {
		float: none;
		flex: 1;
		width: auto;
		font-size: 10px;
		height: auto;
		line-height: 1.3em;
		padding: 6px 2px;
	}

	fieldset {
		padding: 12px;
	}

	fieldset ul li label {
		display: block;
		width: auto;
	}

	fieldset ul li input[type="text"], fieldset ul li select, fieldset ul li textarea {
		width: 100%;
		box-sizing: border-box;
	}

	/* ---------- footer -------------- */
	#footer {
		margin-top: 20px;
	}
}
