/*
Theme Name: Velour – Leif Sundelius
Theme URI: https://example.com/velour
Author: Leif Sundelius
Description: Block-Theme für Leif Sundelius Boudoir Photography – Schwarz, Orange, Weiß. Zweisprachig (DE/EN), Signature Look, Logo-Varianten. Vollbild-Hero, Portfolio, Ablauf, Pakete, Kundenstimmen, FAQ und Kontakt – alles im Site-Editor anpassbar. Lädt keine externen Schriften oder Skripte (DSGVO-freundlich).
Version: 2.19.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: velour
Tags: full-site-editing, block-patterns, block-styles, one-column, wide-blocks, portfolio, photography, dark
*/

/* ---------- Grundlagen ---------- */

html {
	scroll-behavior: smooth;
}

::selection {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

:where(a, button, summary, input, textarea, select):focus-visible {
	outline: 1px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
}

/* Keine Lücken zwischen Header, Inhalt und Footer */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Anker-Sprünge nicht unter dem Sticky-Header verstecken */
[id] {
	scroll-margin-top: 6rem;
}

/* ---------- Header ---------- */

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

/*
 * Hintergrund + Unschärfe liegen auf einer eigenen Ebene.
 * Wichtig: backdrop-filter direkt am Header würde das mobile Vollbild-Menü
 * (position: fixed) auf die Header-Höhe einsperren – v. a. auf dem iPhone.
 */
header.wp-block-template-part::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

/* Offenes Menü (Handy/Tablet): bildschirmfüllend, nichts ragt über den Rand */
.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	z-index: 100000;
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.admin-bar header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	.admin-bar header.wp-block-template-part {
		top: 0;
	}
}

.wp-block-navigation a:hover,
.wp-block-navigation a:focus {
	color: var(--wp--preset--color--accent);
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 5rem 1.5rem 3rem !important;
	--navigation-layout-justification-setting: center;
	--navigation-layout-justify: center;
}

.wp-block-navigation__responsive-container.is-menu-open *,
.wp-block-navigation__responsive-container.is-menu-open *::before,
.wp-block-navigation__responsive-container.is-menu-open *::after {
	box-sizing: border-box;
}

/* Alles mittig */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: center;
	width: 100%;
	max-width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.65rem;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	gap: 0.85rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 0 !important;
	overflow-wrap: anywhere;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.2rem 0 !important;
}

/* Schließen-Kreuz gut erreichbar oben rechts */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1.4rem !important;
	right: 1.25rem !important;
	color: var(--wp--preset--color--contrast);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 30px;
	height: 30px;
}

/* Logo und DE/EN auch im offenen Menü zeigen */
html.has-modal-open header .site-logo {
	position: fixed;
	top: 1.35rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100001;
}

html.has-modal-open header .velour-lang {
	position: fixed;
	top: 1.75rem;
	left: 1.25rem;
	z-index: 100001;
	font-size: 0.875rem;
}

@media (max-width: 600px) {
	html.has-modal-open header .site-logo img {
		width: 160px !important;
	}
}

/* „That’s Leif“ – hervorgehoben in Orange, gleiche Schrift wie das übrige Menü */
.wp-block-navigation .velour-nav-highlight > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent);
}

.wp-block-navigation .velour-nav-highlight > .wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--accent);
}

.wp-block-navigation .velour-nav-highlight > .wp-block-navigation-item__content:hover,
.wp-block-navigation .velour-nav-highlight:focus-within > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--blush);
}


/* Untermenü */
.wp-block-navigation .wp-block-navigation__submenu-container {
	padding: 0.75rem 0 !important;
	min-width: 13rem !important;
	background: var(--wp--preset--color--base-2) !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 1.25rem !important;
}

.wp-block-navigation .current-menu-item > a,
.wp-block-navigation .current-menu-ancestor > a {
	color: var(--wp--preset--color--accent);
}

/* Hamburger-Menü unter 1100px */
@media (max-width: 1099px) {
	header.wp-block-template-part .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0 !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0.5rem 0 0.25rem !important;
	gap: 0.45rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ---------- Hinweis-Kasten in Vorlagen ---------- */

.velour-note {
	padding: 1.25rem 1.5rem;
	border-left: 2px solid var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, transparent);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- Logo & Sprachumschalter ---------- */

.site-logo {
	margin: 0;
	line-height: 0;
}

.site-logo img {
	height: auto;
	max-width: 100%;
}

.site-logo::before {
	display: none !important;
}

@media (max-width: 600px) {
	header .site-logo img {
		width: 180px !important;
	}
}

.velour-lang {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}

.velour-lang a {
	text-decoration: none;
	color: var(--wp--preset--color--muted);
}

.velour-lang a:hover,
.velour-lang a.is-active {
	color: var(--wp--preset--color--accent);
}

.velour-lang span {
	color: var(--wp--preset--color--muted);
	opacity: 0.5;
}

/* ---------- Lesbarkeit auf dunklem Grund ---------- */

body {
	text-rendering: optimizeLegibility;
}

.wp-block-post-excerpt,
.wp-block-post-excerpt__excerpt {
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 88%, transparent);
}

.wp-block-post-date {
	font-weight: 500;
}

/* ---------- Absatz-Stile ---------- */

.is-style-claim {
	font-family: var(--wp--preset--font-family--script);
	font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.6rem);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--wp--preset--color--accent);
}


.is-style-eyebrow {
	font-size: 0.75rem !important;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.is-style-eyebrow::before {
	content: "";
	display: inline-block;
	width: 2.5rem;
	height: 1px;
	margin-right: 1rem;
	vertical-align: middle;
	background: currentColor;
}

.has-text-align-center.is-style-eyebrow::after {
	content: "";
	display: inline-block;
	width: 2.5rem;
	height: 1px;
	margin-left: 1rem;
	vertical-align: middle;
	background: currentColor;
}

.is-style-numeral {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 3.5rem;
	font-style: italic;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}

/* ---------- Karten ---------- */

.is-style-card,
.is-style-card-highlight {
	position: relative;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	transition: border-color 0.4s ease, transform 0.4s ease;
}

.is-style-card:hover {
	border-color: var(--wp--preset--color--accent);
}

.is-style-card-highlight {
	border-color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 7%, transparent);
}

.is-style-card-highlight::before {
	content: "Beliebt";
	position: absolute;
	top: -0.8rem;
	left: 50%;
	transform: translateX(-50%);
	padding: 0.2rem 1rem;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.lang-en .is-style-card-highlight::before {
	content: "Popular";
}

.wp-block-columns .wp-block-column > .is-style-card,
.wp-block-columns .wp-block-column > .is-style-card-highlight {
	display: flex;
	flex-direction: column;
}

/* Gleich hohe Karten nur, wenn eine Karte allein in ihrer Spalte steht.
   Liegen mehrere Karten untereinander in einer Spalte, wachsen sie normal mit
   (sonst ragten sie über den Abschnitt hinaus – z. B. bis in den Footer). */
.wp-block-column > .is-style-card:only-child,
.wp-block-column > .is-style-card-highlight:only-child {
	height: 100%;
}

.wp-block-column > .is-style-card + .is-style-card,
.wp-block-column > .is-style-card + .is-style-card-highlight,
.wp-block-column > .is-style-card-highlight + .is-style-card {
	margin-top: var(--wp--preset--spacing--40);
}

.is-style-card > .wp-block-buttons:last-child,
.is-style-card-highlight > .wp-block-buttons:last-child {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--30);
}

/* ---------- Listen ---------- */

.is-style-checkmarks {
	list-style: none;
	padding-left: 0;
}

.is-style-checkmarks li {
	position: relative;
	padding: 0.55rem 0 0.55rem 1.75rem;
	border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}

.is-style-checkmarks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.35rem;
	width: 0.9rem;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

/* ---------- Bilder & Galerie ---------- */

.wp-block-image img,
.wp-block-gallery img {
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.8s ease;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
	overflow: hidden;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:hover img {
	transform: scale(1.04);
}

.is-style-framed {
	position: relative;
}

.is-style-framed::after {
	content: "";
	position: absolute;
	inset: 1rem -1rem -1rem 1rem;
	border: 1px solid var(--wp--preset--color--accent);
	z-index: -1;
	pointer-events: none;
}

/* Cover-Text nicht zu breit */
.wp-block-cover .wp-block-cover__inner-container > * {
	max-width: 46rem;
}

.wp-block-cover.has-text-align-center .wp-block-cover__inner-container > *,
.wp-block-cover .has-text-align-center {
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Zitate ---------- */

.wp-block-quote {
	padding-left: 0;
	margin: 0;
}

.wp-block-quote::before {
	content: "“";
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 5rem;
	line-height: 0.6;
	color: var(--wp--preset--color--accent);
	font-style: normal;
	margin-bottom: 0.5rem;
}

.wp-block-quote cite {
	display: block;
	margin-top: 1.25rem;
}

/* ---------- FAQ (Details-Block) ---------- */

.wp-block-details {
	border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	padding: 1.25rem 0;
}

.wp-block-details + .wp-block-details {
	margin-top: 0 !important;
}

.wp-block-details summary {
	position: relative;
	cursor: pointer;
	list-style: none;
	padding-right: 2.5rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 300;
	font-size: 1.5rem;
	color: var(--wp--preset--color--accent);
	transition: transform 0.3s ease;
}

.wp-block-details[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.wp-block-details > :not(summary) {
	margin-top: 0.75rem;
	opacity: 0.85;
}

/* ---------- Blog ---------- */

.wp-block-post-featured-image img {
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.wp-block-post-featured-image {
	overflow: hidden;
}

.wp-block-post-featured-image:hover img {
	transform: scale(1.03);
}

.wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent);
}

.wp-block-query-pagination a {
	text-decoration: none;
}

/* Blog-Übersicht */
.velour-read-more,
.wp-block-read-more {
	display: inline-block;
	margin-top: 0.75rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--accent);
}

.wp-block-read-more:hover {
	color: var(--wp--preset--color--blush);
}

.velour-blog .wp-block-post-title {
	line-height: 1.15;
}

.single-post .wp-block-post-content > p:first-child::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 4.2em;
	line-height: 0.85;
	padding: 0.08em 0.1em 0 0;
	color: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	.velour-blog .wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---------- Passwortgeschützte Kundengalerien ---------- */

.post-password-form {
	max-width: 32rem;
	margin: var(--wp--preset--spacing--60) auto;
	padding: var(--wp--preset--spacing--50);
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	text-align: center;
}

.post-password-form p:first-child::before {
	content: "Private Galerie";
	display: block;
	margin-bottom: 1rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
}

.post-password-form label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.post-password-form input[type="password"],
.wp-block-search__input,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.9rem 1rem;
	font: inherit;
	color: inherit;
	background: transparent;
	border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
	border-radius: 0;
}

.post-password-form input[type="submit"],
input[type="submit"],
button[type="submit"] {
	margin-top: 1rem;
	padding: 1rem 2.25rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	cursor: pointer;
}

.post-password-form input[type="submit"]:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	background: var(--wp--preset--color--blush);
	border-color: var(--wp--preset--color--blush);
}

/* ---------- Kundengalerie (Block velour/client-gallery) ---------- */

.velour-cg {
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80);
}

.velour-cg-head {
	text-align: center;
}

.velour-cg-head .is-style-eyebrow {
	justify-content: center;
}

.velour-cg-name {
	margin: 0.5rem 0 0;
	font-size: clamp(2.75rem, 7vw, 5.5rem);
	font-weight: 400;
	line-height: 1;
}

.velour-cg-facts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: var(--wp--preset--spacing--50) auto 0;
}

.velour-cg-facts > div {
	padding: 0.25rem clamp(1rem, 3vw, 2.25rem);
	border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
}

.velour-cg-facts > div:first-child {
	border-left: 0;
}

.velour-cg-facts dt,
.velour-cg-label {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-cg-facts dd {
	margin: 0.3rem 0 0;
}

.velour-cg-note {
	position: relative;
	max-width: 44rem;
	margin: var(--wp--preset--spacing--60) auto 0;
	padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.5rem, 5vw, 3.5rem);
	background: var(--wp--preset--color--base-2);
	border-top: 3px solid var(--wp--preset--color--accent);
}

.velour-cg-note-text {
	margin-top: 0.9rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.35rem;
	line-height: 1.55;
}

.velour-cg-note-text p {
	margin: 0 0 0.8em;
}

.velour-cg-sign {
	margin: 0.25rem 0 0;
	text-align: right;
	font-family: var(--wp--preset--font-family--script);
	font-size: 2.6rem;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}

.velour-cg-howto,
.velour-cg-hint {
	max-width: 36rem;
	margin: var(--wp--preset--spacing--60) auto var(--wp--preset--spacing--40);
	text-align: center;
	color: var(--wp--preset--color--muted);
}

.velour-cg-hint {
	margin-top: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
}

.velour-cg-admin {
	padding: 0.8rem 1rem;
	font-size: 0.9rem;
	border: 1px dashed var(--wp--preset--color--accent);
}

/* Raster */
.velour-cg-grid {
	margin-top: var(--wp--preset--spacing--50);
}

.velour-cg-grid.is-masonry {
	column-count: var(--cg-cols, 3);
	column-gap: 0.9rem;
}

.velour-cg-grid.is-masonry .velour-cg-item {
	break-inside: avoid;
	margin: 0 0 0.9rem;
}

.velour-cg-grid.is-masonry.is-js {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	column-count: auto;
}

.velour-cg-col {
	flex: 1 1 0;
	min-width: 0;
}

.velour-cg-grid.is-grid {
	display: grid;
	grid-template-columns: repeat(var(--cg-cols, 3), minmax(0, 1fr));
	gap: 0.9rem;
}

.velour-cg-grid.is-grid .velour-cg-item {
	margin: 0;
}

.velour-cg-grid.is-grid img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.velour-cg-open {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--base-2);
	cursor: zoom-in;
	overflow: hidden;
}

.velour-cg-open img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.3s ease;
}

.velour-cg-open:hover img {
	transform: scale(1.02);
}

.velour-cg-open::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 0 0 var(--wp--preset--color--accent);
	transition: box-shadow 0.2s ease;
}

.velour-cg-item.is-fav .velour-cg-open::after {
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--accent);
}

.velour-cg-item figcaption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	min-height: 2.5rem;
	padding: 0.25rem 0;
}

.velour-cg-num {
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-cg-item.is-fav .velour-cg-num {
	color: var(--wp--preset--color--accent);
}

.velour-cg-tools {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.velour-cg button.velour-cg-fav,
.velour-cg-dl {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	color: var(--wp--preset--color--contrast);
	background: none;
	border: 0;
	cursor: pointer;
}

.velour-cg-fav svg,
.velour-cg-dl svg {
	width: 1.35rem;
	height: 1.35rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 0.2s ease, fill 0.2s ease;
}

.velour-cg-fav:hover svg,
.velour-cg-dl:hover svg {
	transform: scale(1.12);
	color: var(--wp--preset--color--accent);
}

.velour-cg button.velour-cg-fav[aria-pressed="true"] {
	color: var(--wp--preset--color--accent);
}

.velour-cg button.velour-cg-fav[aria-pressed="true"] svg {
	fill: currentColor;
}

.velour-cg.only-favs .velour-cg-item:not(.is-fav) {
	display: none;
}

/* Auswahl-Leiste */
.velour-cg-bar {
	position: fixed;
	left: 50%;
	bottom: 1rem;
	z-index: 60;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1.25rem;
	width: max-content;
	max-width: calc(100vw - 2rem);
	padding: 0.6rem 0.6rem 0.6rem 1.4rem;
	background: var(--wp--preset--color--base-2);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 55%, transparent);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
	transform: translateX(-50%);
}

.velour-cg-bar p {
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.velour-cg-count {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--accent);
	vertical-align: -0.1em;
}

.velour-cg-bar .velour-cg-filter {
	padding: 0.4rem 0;
	font: inherit;
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: inherit;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--accent);
	cursor: pointer;
}

.velour-cg-bar .velour-cg-filter[aria-pressed="true"] {
	color: var(--wp--preset--color--accent);
}

.velour-cg-bar .velour-cg-send {
	margin: 0;
	padding: 0.85rem 1.6rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent);
	border: 0;
	cursor: pointer;
}

.velour-cg.has-bar {
	padding-bottom: calc(var(--wp--preset--spacing--80) + 4rem);
}

/* Formular-Fenster */
.velour-cg-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.75);
}

.velour-cg-modal-box {
	position: relative;
	width: 100%;
	max-width: 32rem;
	max-height: calc(100vh - 2rem);
	overflow: auto;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: var(--wp--preset--color--base-2);
	border-top: 3px solid var(--wp--preset--color--accent);
}

.velour-cg-modal-box h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.velour-cg-picked {
	margin: 0.6rem 0 1rem;
	color: var(--wp--preset--color--accent);
	font-size: 0.9rem;
}

.velour-cg button.velour-cg-close,
.velour-cg button.velour-cg-lb-close {
	position: absolute;
	top: 0.5rem;
	right: 0.75rem;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	font-size: 2rem;
	line-height: 1;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
}

/* Großansicht */
.velour-cg-lightbox {
	position: fixed;
	inset: 0;
	z-index: 130;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(11, 10, 10, 0.97);
	color: var(--wp--preset--color--contrast);
}

.velour-cg-lightbox img {
	max-width: min(92vw, 1600px);
	max-height: calc(100vh - 7rem);
	width: auto;
	height: auto;
	object-fit: contain;
	user-select: none;
}

.velour-cg-lb-label {
	position: absolute;
	left: 1.25rem;
	bottom: 1.1rem;
	margin: 0;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-cg button.velour-cg-lb-prev,
.velour-cg button.velour-cg-lb-next {
	position: absolute;
	top: 50%;
	width: 3.25rem;
	height: 5rem;
	padding: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 3rem;
	line-height: 1;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	transform: translateY(-50%);
	opacity: 0.75;
}

.velour-cg-lb-prev {
	left: 0.5rem;
}

.velour-cg-lb-next {
	right: 0.5rem;
}

.velour-cg button.velour-cg-lb-prev:hover,
.velour-cg button.velour-cg-lb-next:hover {
	opacity: 1;
	color: var(--wp--preset--color--accent);
}

.velour-cg button.velour-cg-lb-fav {
	position: absolute;
	bottom: 0.5rem;
	left: 50%;
	width: 3.25rem;
	height: 3.25rem;
	transform: translateX(-50%);
}

.velour-cg-lb-fav svg {
	width: 1.75rem;
	height: 1.75rem;
}

.velour-cg-bar[hidden],
.velour-cg-modal[hidden],
.velour-cg-lightbox[hidden] {
	display: none;
}

html.velour-cg-locked {
	overflow: hidden;
}

.velour-cg-expired {
	max-width: 36rem;
	margin: 0 auto;
	text-align: center;
}

.velour-cg-expired .is-style-eyebrow {
	justify-content: center;
}

@media (max-width: 781px) {
	.velour-cg-grid.is-masonry,
	.velour-cg-grid.is-grid {
		--cg-cols: 2 !important;
		column-gap: 0.6rem;
		gap: 0.6rem;
	}

	.velour-cg-grid.is-masonry .velour-cg-item {
		margin-bottom: 0.6rem;
	}

	.velour-cg-grid.is-masonry.is-js {
		gap: 0.6rem;
	}

	.velour-cg-facts > div {
		flex: 1 1 45%;
		padding: 0.6rem 0.5rem;
		border-left: 0;
	}

	.velour-cg-num {
		font-size: 0.68rem;
		letter-spacing: 0.1em;
	}

	.velour-cg button.velour-cg-lb-prev,
	.velour-cg button.velour-cg-lb-next {
		top: auto;
		bottom: 0;
		transform: none;
	}

	.velour-cg-lb-label {
		left: 50%;
		bottom: auto;
		top: 1.25rem;
		transform: translateX(-50%);
	}
}

/* Galerie-Übersicht (Block velour/gallery-list) */
.velour-gl {
	margin-top: var(--wp--preset--spacing--60);
}

.velour-gl .velour-cg-admin {
	max-width: 48rem;
	margin: 0 auto var(--wp--preset--spacing--50);
	text-align: center;
}

.velour-gl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 18rem));
	justify-content: center;
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
}

.velour-gl-card {
	margin: 0;
}

.velour-gl-card a {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
	background: var(--wp--preset--color--base);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	transition: border-color 0.3s ease, transform 0.3s ease;
}

.velour-gl-card a:hover,
.velour-gl-card a:focus-visible {
	border-color: var(--wp--preset--color--accent);
	transform: translateY(-3px);
}

.velour-gl-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 30% 20%, rgba(240, 123, 34, 0.28), transparent 60%),
		radial-gradient(90% 80% at 80% 90%, rgba(154, 66, 16, 0.35), transparent 65%),
		var(--wp--preset--color--base);
}

.velour-gl-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--vl-filter, brightness(1));
	transition: transform 1s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.velour-gl-card a:hover .velour-gl-visual img {
	transform: scale(1.04);
}

.velour-gl-initial {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(6rem, 12vw, 9rem);
	font-style: italic;
	line-height: 1;
	color: var(--wp--preset--color--accent);
	text-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.velour-gl-lock {
	position: absolute;
	top: 0.9rem;
	right: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent);
	border-radius: 50%;
	background: rgba(11, 10, 10, 0.55);
}

.velour-gl-lock svg {
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: var(--wp--preset--color--contrast);
	stroke-width: 1.5;
}

.velour-gl-body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.25rem 1.35rem 1.4rem;
}

.velour-gl-month {
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-gl-name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
}

.velour-gl-more {
	margin-top: 0.5rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-gl-card a:hover .velour-gl-more {
	color: var(--wp--preset--color--contrast);
}

.velour-gl-empty {
	max-width: 34rem;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50);
	text-align: center;
	color: var(--wp--preset--color--muted);
	border: 1px dashed color-mix(in srgb, currentColor 30%, transparent);
}

@media (max-width: 781px) {
	.velour-gl-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}

	.velour-gl-body {
		padding: 0.9rem;
	}

	.velour-gl-more {
		font-size: 0.68rem;
		letter-spacing: 0.1em;
		white-space: nowrap;
	}

	.velour-gl-name {
		font-size: var(--wp--preset--font-size--large);
	}

	.velour-gl-initial {
		font-size: 5rem;
	}
}

/* Kundengalerie im Editor */
.velour-cg-editor {
	padding: 1.5rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 45%, transparent);
	border-top: 3px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--base-2);
}

.velour-cg-ed-title {
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-cg-ed-details {
	display: grid;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.velour-cg-ed-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem;
}

.velour-cg-ed-row > * {
	flex: 1 1 12rem;
	margin: 0 !important;
}

.velour-cg-ed-row > .components-button {
	flex: 0 0 auto;
}

.velour-cg-editor .components-base-control__field {
	margin-bottom: 0;
}

.velour-cg-editor input,
.velour-cg-editor textarea {
	color: var(--wp--preset--color--contrast);
}

.velour-cg-ed-gallery {
	position: relative;
}

.velour-cg-ed-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 1rem;
}

.velour-cg-ed-busy {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--muted);
}

.velour-cg-ed-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.velour-cg-ed-grid li {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--wp--preset--color--base);
}

.velour-cg-ed-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.velour-cg-ed-grid li.is-uploading img {
	opacity: 0.4;
}

.velour-cg-ed-spin {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.velour-cg-ed-num {
	position: absolute;
	top: 0.35rem;
	left: 0.35rem;
	padding: 0.1rem 0.4rem;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent);
}

.velour-cg-ed-tools {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	background: rgba(11, 10, 10, 0.8);
	opacity: 0;
	transition: opacity 0.15s ease;
}

.velour-cg-ed-grid li:hover .velour-cg-ed-tools,
.velour-cg-ed-grid li:focus-within .velour-cg-ed-tools {
	opacity: 1;
}

.velour-cg-ed-tools .components-button {
	color: #fff;
}

.velour-cg-ed-help {
	margin: 1rem 0 0;
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}

/* ---------- Lightbox (Bilder & Galerien) ---------- */

img.velour-lb-trigger {
	cursor: zoom-in;
}

img.velour-lb-trigger:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.velour-lb {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(11, 10, 10, 0.99);
	color: var(--wp--preset--color--contrast);
}

.velour-lb[hidden] {
	display: none;
}

html.velour-lb-open {
	overflow: hidden;
}

.velour-lb-img {
	max-width: min(94vw, 1800px);
	max-height: calc(100vh - 5rem);
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: 0;
	transition: opacity 0.35s ease;
	user-select: none;
}

.velour-lb-img.is-in {
	opacity: 1;
}

.velour-lb button {
	position: absolute;
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--serif);
	line-height: 1;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	opacity: 0.75;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.velour-lb button:hover,
.velour-lb button:focus-visible {
	opacity: 1;
	color: var(--wp--preset--color--accent);
}

.velour-lb-close {
	top: 0.75rem;
	right: 1rem;
	width: 3rem;
	height: 3rem;
	font-size: 2.4rem;
}

.velour-lb-prev,
.velour-lb-next {
	top: 50%;
	width: 3.5rem;
	height: 5rem;
	font-size: 3.2rem;
	transform: translateY(-50%);
}

.velour-lb-prev {
	left: 0.5rem;
}

.velour-lb-next {
	right: 0.5rem;
}

@media (max-width: 781px) {
	.velour-lb-prev,
	.velour-lb-next {
		top: auto;
		bottom: 0.5rem;
		transform: none;
	}

	.velour-lb-img {
		max-width: 100vw;
		max-height: calc(100vh - 8rem);
	}
}

/* ---------- Models & Kooperationen ---------- */

.velour-collab {
	margin-top: var(--wp--preset--spacing--60);
}

.velour-collab-group + .velour-collab-group {
	margin-top: var(--wp--preset--spacing--70);
}

.velour-collab-group-title {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--x-large);
}

.velour-collab-group-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: color-mix(in srgb, var(--wp--preset--color--accent) 45%, transparent);
}

.velour-collab-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
}

.velour-collab-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	background: var(--wp--preset--color--base-2);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	transition: border-color 0.3s ease;
}

.velour-collab-card:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 60%, transparent);
}

.velour-collab-media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 30% 20%, rgba(240, 123, 34, 0.28), transparent 60%),
		radial-gradient(90% 80% at 80% 90%, rgba(154, 66, 16, 0.35), transparent 65%),
		var(--wp--preset--color--base);
}

.velour-collab-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--vl-filter, brightness(1));
}

.velour-collab-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem 1.35rem 1.4rem;
}

.velour-collab-role {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-collab-name {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	line-height: 1.1;
}

.velour-collab-text {
	font-size: 0.95rem;
	color: var(--wp--preset--color--muted);
}

.velour-collab-text p {
	margin: 0 0 0.6em;
}

.velour-collab-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.9rem;
	margin: auto 0 0;
	padding-top: 0.6rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.velour-collab-links a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.velour-collab-links a:hover {
	color: var(--wp--preset--color--accent);
}

.velour-collab-links svg {
	width: 1.05rem;
	height: 1.05rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.velour-collab-gallery {
	margin: 0.4rem 0 0;
}

@media (max-width: 781px) {
	.velour-collab-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}

	.velour-collab-body {
		padding: 0.9rem;
	}

	.velour-collab-name {
		font-size: var(--wp--preset--font-size--large);
	}

	.velour-collab-links span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.velour-collab-links svg {
		width: 1.3rem;
		height: 1.3rem;
	}

	.velour-collab-gallery .velour-link {
		font-size: 0.68rem;
		letter-spacing: 0.08em;
		white-space: nowrap;
	}
}

/* ---------- Kontaktformular ---------- */

.velour-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1.25rem;
}

.velour-field {
	margin: 0 0 1.1rem;
}

.velour-field-full {
	grid-column: 1 / -1;
}

.velour-field label {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-field label span {
	color: var(--wp--preset--color--accent);
}

.velour-form input:focus,
.velour-form select:focus,
.velour-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
}

.velour-form select option {
	color: #0B0A0A;
}

.velour-form textarea {
	resize: vertical;
	min-height: 9rem;
}

.velour-consent {
	margin: 0.5rem 0 1.25rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.velour-consent label {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	cursor: pointer;
}

.velour-consent input {
	flex: none;
	width: 1.1rem;
	height: 1.1rem;
	margin-top: 0.2rem;
	accent-color: var(--wp--preset--color--accent);
}

.velour-form button[type="submit"] {
	margin-top: 0;
}

.velour-form-note {
	margin-top: 0.75rem;
	font-size: 0.75rem;
	color: var(--wp--preset--color--muted);
}

.velour-form-event {
	margin: 0 0 1.5rem;
	padding: 0.9rem 1.1rem;
	border-left: 3px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--base-2);
}

.velour-form-message {
	padding: 1.1rem 1.25rem;
	border-left: 2px solid var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent);
}

.velour-form-message.is-error {
	border-left-color: #E5484D;
	background: color-mix(in srgb, #E5484D 12%, transparent);
}

/* Unsichtbares Spam-Feld */
.velour-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 600px) {
	.velour-form-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Buchungskalender ---------- */

.velour-booking {
	margin-top: var(--wp--preset--spacing--50);
}

.velour-cal {
	padding: var(--wp--preset--spacing--40);
	border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	background: var(--wp--preset--color--base);
}

.velour-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.velour-cal-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
	text-transform: capitalize;
}

.velour-cal-nav {
	width: 2.75rem;
	height: 2.75rem;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
	background: transparent;
	border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
	cursor: pointer;
}

.velour-cal-nav:hover:not(:disabled) {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.velour-cal-nav:disabled {
	opacity: 0.25;
	cursor: default;
}

.velour-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.35rem;
	text-align: center;
}

.velour-cal-wd {
	padding-bottom: 0.4rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-cal-day {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	font: inherit;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent);
	background: transparent;
	border: 1px solid transparent;
}

button.velour-cal-day.has-slots {
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 55%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, transparent);
	cursor: pointer;
	position: relative;
}

button.velour-cal-day.has-slots::after {
	content: "";
	position: absolute;
	bottom: 18%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}

button.velour-cal-day.has-slots:hover,
button.velour-cal-day.is-selected {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

button.velour-cal-day.is-selected::after,
button.velour-cal-day.has-slots:hover::after {
	background: var(--wp--preset--color--base);
}

.velour-cal-hint {
	margin: 1.25rem 0 0;
	text-align: center;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.velour-cal-times {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.velour-cal-times-title {
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
}

.velour-cal-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.velour-cal-slot {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 9rem;
	padding: 0.75rem 1rem;
	font: inherit;
	text-align: left;
	color: var(--wp--preset--color--contrast);
	background: transparent;
	border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
	cursor: pointer;
}

.velour-cal-slot strong {
	font-size: 1.15rem;
	font-weight: 500;
}

.velour-cal-slot span {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
}

.velour-cal-slot:hover,
.velour-cal-slot.is-selected {
	border-color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, transparent);
}

.velour-booking-form {
	margin-top: var(--wp--preset--spacing--50);
	scroll-margin-top: 7rem;
}

.velour-booking-summary {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border-left: 2px solid var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, transparent);
}

.velour-cal-change {
	margin-left: 0.5rem;
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent);
	background: none;
	border: 0;
	text-decoration: underline;
	cursor: pointer;
}

.velour-booking-empty {
	text-align: center;
}

@media (max-width: 600px) {
	.velour-cal {
		padding: 1rem 0.6rem;
	}

	.velour-cal-grid {
		gap: 0.2rem;
	}

	.velour-cal-slot {
		flex: 1 1 45%;
		min-width: 0;
	}
}

/* ---------- Events ---------- */

.velour-events {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	margin-top: var(--wp--preset--spacing--50);
}

.velour-events-hint {
	margin-top: var(--wp--preset--spacing--40);
	padding: 1rem 1.25rem;
	font-size: 0.9rem;
	border: 1px dashed var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent);
}

.velour-events-hint ul {
	margin: 0.5rem 0 0;
	padding-left: 1.2rem;
}

/* Karte in der Liste: kleines Foto links, Infos rechts */
.velour-event-card {
	display: grid;
	grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
	align-items: stretch;
	background: var(--wp--preset--color--base-2);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	border-left: 3px solid var(--wp--preset--color--accent);
}

.velour-event-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--wp--preset--gradient--rose-glow, var(--wp--preset--color--base));
}

.velour-event-card > .velour-event-media {
	align-self: start;
	width: 100%;
	text-decoration: none;
}

.velour-event-card.no-image {
	grid-template-columns: auto minmax(0, 1fr);
}

.velour-event-card.no-image .velour-event-media {
	aspect-ratio: auto;
	background: none;
	padding: clamp(1.25rem, 3vw, 2.25rem) 0 0 clamp(1.25rem, 3vw, 2.25rem);
}

.velour-event-card.no-image .velour-event-badge {
	position: static;
}

.velour-event-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.velour-event-card:hover .velour-event-media img {
	transform: scale(1.03);
}

.velour-event-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 3.6rem;
	padding: 0.45rem 0.6rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent);
}

.velour-event-badge strong {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
}

.velour-event-body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	min-width: 0;
}

.velour-event-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
}

.velour-event-title a {
	text-decoration: none;
}

.velour-event-excerpt {
	margin: 0;
	color: var(--wp--preset--color--muted);
}

/* Faktenliste (Liste + Infobox) */
.velour-event-facts {
	display: grid;
	margin: 0;
}

.velour-event-facts > div {
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	gap: 1rem;
	align-items: baseline;
	padding: 0.6rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.velour-event-facts > div:first-child {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.velour-event-facts dt,
.velour-event-label {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-event-facts dd {
	margin: 0;
}

.velour-event-facts .is-price dd {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.5rem;
	line-height: 1.1;
}

.velour-event-highlights ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.velour-event-highlights li {
	position: relative;
	padding: 0.2rem 0 0.2rem 1.4rem;
}

.velour-event-highlights li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.95em;
	width: 0.8rem;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

.velour-event-highlights .velour-event-label {
	margin-bottom: 0.4rem;
}

.velour-event-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.75rem;
	margin-top: 0.5rem;
}

.velour-event-actions .velour-btn {
	text-decoration: none;
}

.velour-link {
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 0.4em;
	text-decoration-color: var(--wp--preset--color--accent);
}

.velour-event-over {
	margin: 0;
	color: var(--wp--preset--color--muted);
}

.velour-events.is-empty {
	display: block;
	padding: var(--wp--preset--spacing--50);
	text-align: center;
	border: 1px dashed color-mix(in srgb, currentColor 25%, transparent);
}

.velour-events.is-past .velour-event-card {
	opacity: 0.7;
}

/* Einzelansicht: Foto links (kleiner), Infobox rechts */
.velour-event-hero {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}

.velour-event-hero > * {
	margin-block: 0 !important;
}

.velour-event-hero > .velour-event-photo {
	position: sticky;
	top: 7rem;
}

.velour-event-hero > :only-child {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
}

.velour-event-box {
	padding: clamp(1.5rem, 4vw, 3rem);
	background: var(--wp--preset--color--base-2);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent);
	border-top: 3px solid var(--wp--preset--color--accent);
}

.velour-event-box > * + * {
	margin-block-start: 0;
}

.velour-event-box .is-style-eyebrow a {
	text-decoration: none;
}

.velour-event-name {
	margin: 0.75rem 0 1.75rem;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.05;
}

.velour-event-info {
	display: grid;
	gap: 1.5rem;
}

.velour-event-info .velour-event-actions {
	margin-top: 0.75rem;
}

@media (max-width: 781px) {
	.velour-event-card {
		grid-template-columns: 1fr;
		border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
		border-top: 3px solid var(--wp--preset--color--accent);
	}

	.velour-event-media {
		aspect-ratio: 3 / 2;
	}

	.velour-event-card.no-image {
		grid-template-columns: 1fr;
	}

	.velour-event-card.no-image .velour-event-body {
		padding-top: 1rem;
	}

	.velour-event-hero {
		grid-template-columns: 1fr;
	}

	.velour-event-hero > .velour-event-photo {
		position: static;
	}

	.velour-event-hero > .velour-event-photo,
	.velour-event-hero > .velour-event-photo img {
		aspect-ratio: 3 / 2 !important;
	}

	.velour-event-facts > div {
		grid-template-columns: 5.5rem minmax(0, 1fr);
	}
}

/* ---------- Event-Newsletter ---------- */

.velour-subscribe {
	margin-top: var(--wp--preset--spacing--40);
}

.velour-subscribe-row {
	display: flex;
	gap: 0.5rem;
}

.velour-subscribe-row input[type="email"] {
	flex: 1;
	margin-top: 0;
}

.velour-subscribe-row button {
	flex: none;
	margin-top: 0 !important;
	border: 1px solid var(--wp--preset--color--accent);
	cursor: pointer;
}

@media (max-width: 600px) {
	.velour-subscribe-row {
		flex-direction: column;
	}
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

/* ---------- Footer ---------- */

footer.wp-block-template-part a {
	text-decoration: none;
}

footer.wp-block-template-part a:hover {
	color: var(--wp--preset--color--accent);
}

/* ---------- Mobil ---------- */

@media (max-width: 781px) {
	.is-style-framed::after {
		inset: 0.6rem -0.6rem -0.6rem 0.6rem;
	}

	.wp-block-columns .wp-block-column > .is-style-card-highlight {
		margin-top: 1rem;
	}

	.is-style-eyebrow::before,
	.has-text-align-center.is-style-eyebrow::after {
		width: 1.5rem;
	}
}

/* ---------- Photostory (Buch zum Blättern) ---------- */

.velour-story {
	--paper: #f3eee7;
	--paper-edge: #e4dcd1;
	--ink: #2b2522;
	--ink-soft: #6e625a;
	--pw: 460px;
	--ph: 635px;
	--pad: calc(var(--pw) * 0.075);
	--texth: 5.6rem;
	--numh: 1.6rem;
	position: relative;
	margin-block: var(--wp--preset--spacing--60);
}

.velour-story.is-paper-dark {
	--paper: #1a1716;
	--paper-edge: #0f0d0d;
	--ink: #f5f1ec;
	--ink-soft: #c4bcb4;
}

/* Ohne JavaScript: Seiten untereinander */
.velour-story:not(.is-book) > .velour-story-cover,
.velour-story:not(.is-book) > .velour-story-page {
	max-width: 34rem;
	margin: 0 auto var(--wp--preset--spacing--50);
	padding: 1.5rem;
	background: var(--paper);
	color: var(--ink);
}

.velour-story:not(.is-book) > .velour-story-cover {
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--contrast);
	text-align: center;
}

.velour-story:not(.is-book) .wp-block-image {
	margin: 0 0 1rem;
}

/* Bühne */
.velour-story.is-book {
	outline: none;
}

.velour-story .vb-stage {
	display: flex;
	justify-content: center;
	perspective: 2600px;
	padding-block: 0.5rem 1rem;
	-webkit-user-select: none;
	user-select: none;
}

.velour-story .vb-book {
	position: relative;
	height: var(--ph);
	transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
	cursor: pointer;
}

.velour-story.is-spread .vb-book {
	width: calc(var(--pw) * 2);
}

.velour-story.is-single .vb-book {
	width: var(--pw);
}

/* Geschlossenes Buch mittig */
.velour-story.is-spread.is-closed-front .vb-book {
	transform: translateX(calc(var(--pw) / -2));
}

.velour-story.is-spread.is-closed-back .vb-book {
	transform: translateX(calc(var(--pw) / 2));
}

/* Blätter */
.velour-story .vb-leaf {
	position: absolute;
	top: 0;
	width: var(--pw);
	height: var(--ph);
	transform-origin: left center;
	transform-style: preserve-3d;
	transition: transform 0.85s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.velour-story.is-spread .vb-leaf {
	left: 50%;
}

.velour-story.is-single .vb-leaf {
	left: 0;
}

.velour-story .vb-leaf.is-turned {
	transform: rotateY(-180deg);
}

/* Einzelseite: umgeblätterte Seite hebt ab und verschwindet */
.velour-story.is-single .vb-leaf {
	transition: transform 0.75s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s ease 0.3s;
}

.velour-story.is-single .vb-leaf.is-turned {
	transform: rotateY(-120deg);
	opacity: 0;
	pointer-events: none;
}

.velour-story.is-single .vb-leaf:not(.is-turned) {
	transition: transform 0.75s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s ease;
}

.velour-story.no-anim .vb-leaf,
.velour-story.no-anim .vb-book {
	transition: none !important;
}

.velour-story .vb-face {
	position: absolute;
	inset: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
}

.velour-story .vb-back {
	transform: rotateY(180deg);
}

/* Papier */
.velour-story .vb-sheet {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	background:
		radial-gradient(120% 90% at 50% 40%, transparent 60%, rgba(0, 0, 0, 0.05)),
		var(--paper);
	color: var(--ink);
	box-shadow: 0 1.2rem 2.5rem rgba(0, 0, 0, 0.45);
}

.velour-story .vb-sheet.is-blank {
	background: var(--paper);
}

/* Buchrücken-Schatten */
.velour-story .vb-front .vb-sheet::after,
.velour-story .vb-back .vb-sheet::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.velour-story.is-spread .vb-front .vb-sheet::after {
	background: linear-gradient(to right, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.06) 3%, transparent 9%);
}

.velour-story.is-spread .vb-back .vb-sheet::after {
	background: linear-gradient(to left, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.06) 3%, transparent 9%);
}

.velour-story.is-single .vb-front .vb-sheet::after {
	background: linear-gradient(to right, rgba(0, 0, 0, 0.12), transparent 4%);
}

/* Schatten, während eine Seite sich dreht */
.velour-story .vb-leaf.is-moving .vb-sheet {
	box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.55);
}

.velour-story .vb-content {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Bildseite */
.velour-story .vb-photo {
	padding: var(--pad) var(--pad) calc(var(--pad) * 0.6);
}

.velour-story .vb-media {
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.velour-story .vb-media .wp-block-image {
	margin: 0 !important;
	width: auto !important;
	max-width: 100%;
	display: block;
	line-height: 0;
}

.velour-story .vb-media img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: calc(var(--ph) - var(--pad) * 1.6 - var(--texth) - var(--numh));
	object-fit: contain;
	box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.18);
	pointer-events: none;
}

.velour-story .vb-photo.no-text .vb-media img {
	max-height: calc(var(--ph) - var(--pad) * 1.6 - var(--numh) - 1rem);
}

.velour-story .vb-media figcaption {
	display: none;
}

.velour-story .vb-text {
	height: var(--texth);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.velour-story .vb-text p {
	margin: 0;
	max-width: 30em;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(0.92rem, calc(var(--pw) * 0.034), 1.12rem);
	font-style: italic;
	line-height: 1.5;
	text-align: center;
	color: var(--ink);
}

.velour-story .vb-num {
	height: var(--numh);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	color: var(--ink-soft);
}

/* Titelseite */
.velour-story .vb-sheet.is-cover {
	background:
		radial-gradient(90% 70% at 50% 35%, rgba(240, 123, 34, 0.12), transparent 70%),
		var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--contrast);
}

.velour-story .vb-cover {
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: calc(var(--pad) * 1.4);
}

.velour-story .vb-cover::before {
	content: "";
	position: absolute;
	inset: calc(var(--pad) * 0.6);
	border: 1px solid rgba(240, 123, 34, 0.55);
	pointer-events: none;
}

.velour-story .vb-cover-inner > * {
	margin: 0;
}

.velour-story .vb-cover .velour-story-model {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-story .vb-cover .velour-story-title {
	margin-top: 1.1rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.9rem, calc(var(--pw) * 0.085), 3rem);
	font-weight: 400;
	line-height: 1.1;
	color: var(--wp--preset--color--contrast);
}

.velour-story .vb-cover .velour-story-intro {
	margin: 1.3rem auto 0;
	max-width: 24em;
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.velour-story .vb-open,
.velour-story .vb-restart {
	margin-top: 2rem;
	padding: 0.7rem 1.4rem;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: 600 0.78rem/1 var(--wp--preset--font-family--sans);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}

.velour-story .vb-open:hover,
.velour-story .vb-open:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

/* Schlussseite */
.velour-story .vb-end {
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: var(--pad);
}

.velour-story .vb-end-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.velour-story .vb-end-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.8rem, calc(var(--pw) * 0.08), 2.6rem);
	font-style: italic;
	color: var(--ink);
}

.velour-story .vb-end-title::before,
.velour-story .vb-end-title::after {
	content: "—";
	margin: 0 0.5em;
	color: var(--wp--preset--color--accent);
}

.velour-story .vb-restart {
	border-color: var(--ink-soft);
	color: var(--ink);
}

.velour-story .vb-restart:hover,
.velour-story .vb-restart:focus-visible {
	background: var(--ink);
	color: var(--paper);
}

.velour-story .vb-cta {
	margin-top: 1.4rem;
	padding: 0.85rem 1.5rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	font: 600 0.78rem/1.3 var(--wp--preset--font-family--sans);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	max-width: 22rem;
}

.velour-story .vb-cta:hover,
.velour-story .vb-cta:focus-visible {
	background: var(--wp--preset--color--blush);
}

/* Bedienleiste */
.velour-story .vb-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.4rem;
	margin-top: 0.8rem;
}

.velour-story .vb-prev,
.velour-story .vb-next {
	width: 2.9rem;
	height: 2.9rem;
	border: 1px solid rgba(245, 241, 236, 0.35);
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.velour-story .vb-prev:hover:not(:disabled),
.velour-story .vb-next:hover:not(:disabled),
.velour-story .vb-prev:focus-visible,
.velour-story .vb-next:focus-visible {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.velour-story .vb-prev:disabled,
.velour-story .vb-next:disabled {
	opacity: 0.25;
	cursor: default;
}

.velour-story .vb-counter {
	min-width: 9rem;
	text-align: center;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-story .vb-hint {
	margin: 0.6rem 0 0;
	text-align: center;
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	opacity: 0.8;
	transition: opacity 0.6s ease;
}

.velour-story.was-used .vb-hint {
	opacity: 0;
}

.velour-story.is-book:focus-visible .vb-book {
	outline: 1px solid var(--wp--preset--color--accent);
	outline-offset: 6px;
}

@media (prefers-reduced-motion: reduce) {
	.velour-story.is-single .vb-leaf.is-turned {
		transform: none;
	}
}

/* ---------- Journal (Blog-Übersicht) ---------- */

.velour-bi {
	scroll-margin-top: 6rem;
}

/* Leiste */
.velour-bi-bar {
	display: flex;
	align-items: center;
	gap: 1.5rem 2rem;
	padding: 0.9rem 0;
	border-top: 1px solid rgba(245, 241, 236, 0.12);
	border-bottom: 1px solid rgba(245, 241, 236, 0.12);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.velour-bi-topics {
	display: flex;
	gap: 1.4rem;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.velour-bi-topics::-webkit-scrollbar {
	display: none;
}

.velour-bi-topics a,
.velour-bi-arch summary {
	flex: 0 0 auto;
	padding-bottom: 0.2rem;
	border-bottom: 1px solid transparent;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.velour-bi-topics a:hover,
.velour-bi-arch summary:hover {
	color: var(--wp--preset--color--contrast);
}

.velour-bi-topics a.is-on {
	color: var(--wp--preset--color--contrast);
	border-bottom-color: var(--wp--preset--color--accent);
}

.velour-bi-tools {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	margin-left: auto;
}

/* Archiv-Aufklappliste */
.velour-bi-arch {
	position: relative;
}

.velour-bi-arch summary {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	list-style: none;
}

.velour-bi-arch summary::-webkit-details-marker {
	display: none;
}

.velour-bi-arch summary::after {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg) translateY(-0.15rem);
	transition: transform 0.2s ease;
}

.velour-bi-arch[open] summary::after {
	transform: rotate(-135deg) translateY(-0.1rem);
}

.velour-bi-arch ul {
	position: absolute;
	top: calc(100% + 0.8rem);
	right: 0;
	z-index: 20;
	min-width: 14rem;
	max-height: 22rem;
	overflow-y: auto;
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
	background: var(--wp--preset--color--base-2);
	border: 1px solid rgba(245, 241, 236, 0.12);
	box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.5);
}

.velour-bi-arch li a {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 1.1rem;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1rem;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
}

.velour-bi-arch li a span {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
}

.velour-bi-arch li a:hover,
.velour-bi-arch li a.is-on {
	background: rgba(240, 123, 34, 0.1);
	color: var(--wp--preset--color--accent);
}

/* Suche */
.velour-bi-search {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-width: 12rem;
	padding-bottom: 0.3rem;
	border-bottom: 1px solid rgba(245, 241, 236, 0.3);
	color: var(--wp--preset--color--muted);
	transition: border-color 0.2s ease;
}

.velour-bi-search:focus-within {
	border-bottom-color: var(--wp--preset--color--accent);
}

.velour-bi-search svg {
	flex: 0 0 auto;
}

.velour-bi-search input {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: 0.92rem/1.4 var(--wp--preset--font-family--sans);
	letter-spacing: 0.02em;
	text-transform: none;
	outline: none;
}

.velour-bi-search input::placeholder {
	color: rgba(196, 188, 180, 0.7);
}

.velour-bi-search input::-webkit-search-cancel-button {
	filter: invert(0.7);
}

/* Filter-Hinweis */
.velour-bi-status {
	margin: 1.6rem 0 0;
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}

.velour-bi-status span {
	color: var(--wp--preset--color--contrast);
}

.velour-bi-status a {
	color: var(--wp--preset--color--accent);
}

/* Bilder */
.velour-bi-media {
	display: block;
	overflow: hidden;
	background: var(--wp--preset--color--base-2);
}

.velour-bi-media img,
.velour-bi-noimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--vl-filter, brightness(1));
	transition: transform 0.8s ease;
}

.velour-bi-media.is-wide {
	aspect-ratio: 4 / 3;
}

.velour-bi-media.is-tall {
	aspect-ratio: 4 / 5;
}

.velour-bi-noimg {
	background: linear-gradient(160deg, #2a1d17, #120e0d);
}

.velour-bi-feat:hover .velour-bi-media img,
.velour-bi-card:hover .velour-bi-media img {
	transform: scale(1.03);
}

/* Texte */
.velour-bi-meta {
	margin: 1rem 0 0.4rem;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-bi-meta a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.velour-bi-title,
.velour-bi-feat-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 400;
	line-height: 1.12;
}

.velour-bi-title {
	font-size: clamp(1.4rem, 2vw, 1.75rem);
}

.velour-bi-title a,
.velour-bi-feat-title a {
	color: inherit;
	text-decoration: none;
}

.velour-bi-title a:hover,
.velour-bi-feat-title a:hover {
	color: var(--wp--preset--color--blush);
}

.velour-bi-excerpt {
	margin: 0.7rem 0 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--wp--preset--color--muted);
}

/* Neuester Beitrag */
.velour-bi-feat {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: clamp(2rem, 4.5vw, 3.6rem);
	align-items: center;
	margin-top: var(--wp--preset--spacing--60, 3rem);
}

.velour-bi-new {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-bi-new::before {
	content: "";
	width: 1.8rem;
	height: 1px;
	background: currentColor;
}

.velour-bi-feat .velour-bi-meta {
	margin-top: 1.1rem;
}

.velour-bi-feat-title {
	margin-top: 0.6rem;
	font-size: clamp(2rem, 3.6vw, 3rem);
}

.velour-bi-feat .velour-bi-excerpt {
	margin: 1.1rem 0 1.7rem;
	font-size: 1rem;
	line-height: 1.7;
}

.velour-bi-more {
	display: inline-block;
	padding: 0.85rem 1.5rem;
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease;
}

.velour-bi-more:hover,
.velour-bi-more:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

/* Trennlinie mit Beschriftung */
.velour-bi-divider {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: var(--wp--preset--spacing--70, 4.5rem) 0 var(--wp--preset--spacing--50, 2rem);
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-bi-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(245, 241, 236, 0.12);
}

/* Raster */
.velour-bi-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--60, 3rem) var(--wp--preset--spacing--50, 2rem);
}

/* Archivliste */
.velour-bi-year {
	display: grid;
	grid-template-columns: 7rem 1fr;
	gap: 1.5rem;
	margin-bottom: 1.8rem;
}

.velour-bi-year h3 {
	margin: 0.55rem 0 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--wp--preset--color--accent);
}

.velour-bi-year ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.velour-bi-year li a {
	display: grid;
	grid-template-columns: 5.5rem 1fr auto 1.2rem;
	gap: 1.2rem;
	align-items: baseline;
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(245, 241, 236, 0.08);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.velour-bi-year time {
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-bi-arch-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.2rem;
	line-height: 1.3;
}

.velour-bi-arch-topic {
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}

.velour-bi-arrow {
	color: var(--wp--preset--color--muted);
	transition: transform 0.2s ease, color 0.2s ease;
}

.velour-bi-year li a:hover .velour-bi-arch-title {
	color: var(--wp--preset--color--blush);
}

.velour-bi-year li a:hover .velour-bi-arrow {
	color: var(--wp--preset--color--accent);
	transform: translateX(3px);
}

@media (max-width: 960px) {
	.velour-bi-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.velour-bi-feat {
		grid-template-columns: 1fr;
		gap: 1.4rem;
	}
}

@media (max-width: 781px) {
	.velour-bi-bar {
		flex-wrap: wrap;
		gap: 0.8rem;
	}

	.velour-bi-topics {
		width: 100%;
	}

	.velour-bi-tools {
		width: 100%;
		margin-left: 0;
		justify-content: space-between;
		padding-top: 0.7rem;
		border-top: 1px solid rgba(245, 241, 236, 0.08);
	}

	.velour-bi-arch ul {
		right: auto;
		left: 0;
	}

	.velour-bi-search {
		min-width: 0;
		width: 58%;
	}

	.velour-bi-year {
		grid-template-columns: 1fr;
		gap: 0.2rem;
	}

	.velour-bi-year li a {
		grid-template-columns: 4.6rem 1fr 1rem;
	}

	.velour-bi-arch-topic {
		display: none;
	}
}

@media (max-width: 560px) {
	.velour-bi-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Vor/Zurück unter einem Beitrag ---------- */

.velour-pn {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1.5rem;
}

.velour-pn-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.velour-pn-next {
	justify-content: flex-end;
	text-align: right;
}

.velour-pn-arrow,
.velour-pn-all {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	border: 1px solid rgba(245, 241, 236, 0.3);
	border-radius: 50%;
	color: var(--wp--preset--color--contrast);
	transition: border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.velour-pn-all {
	border-radius: 0;
	border-color: transparent;
	color: var(--wp--preset--color--muted);
}

.velour-pn-text {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-width: 0;
}

.velour-pn-label {
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-pn-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.15rem;
	line-height: 1.3;
	transition: color 0.25s ease;
}

.velour-pn-item:hover .velour-pn-arrow,
.velour-pn-item:focus-visible .velour-pn-arrow {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.velour-pn-prev:hover .velour-pn-arrow {
	transform: translateX(-3px);
}

.velour-pn-next:hover .velour-pn-arrow {
	transform: translateX(3px);
}

.velour-pn-item:hover .velour-pn-title {
	color: var(--wp--preset--color--blush);
}

.velour-pn-all:hover,
.velour-pn-all:focus-visible {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 600px) {
	.velour-pn {
		gap: 0.8rem;
	}

	.velour-pn-title {
		display: none;
	}

	.velour-pn-label {
		font-size: 0.68rem;
		letter-spacing: 0.12em;
	}
}

/* ---------- Selbsttest „Passt Boudoir zu mir?“ ---------- */

.velour-quiz {
	margin: 0;
}

.velour-quiz-head {
	max-width: 44rem;
	margin: 0 auto;
	text-align: center;
}

.velour-quiz-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-quiz-eyebrow::before,
.velour-quiz-eyebrow::after {
	content: "";
	width: 2.1rem;
	height: 1px;
	background: currentColor;
}

.velour-quiz-title {
	margin: 1.1rem 0 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.5rem, 5vw, 3.9rem);
	font-weight: 400;
	line-height: 1.05;
}

.velour-quiz-title em {
	color: var(--wp--preset--color--blush);
}

.velour-quiz-lead {
	margin: 1.3rem auto 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--wp--preset--color--muted);
}

.velour-quiz-layout {
	display: grid;
	grid-template-columns: 1fr 23.5rem;
	gap: 3rem;
	align-items: start;
	margin-top: 3.5rem;
}

.velour-quiz-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.velour-quiz-item {
	position: relative;
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 1.25rem;
	background: var(--wp--preset--color--base-2);
	border: 1px solid rgba(245, 241, 236, 0.07);
	cursor: pointer;
	transition: border-color 0.25s ease, background 0.35s ease, transform 0.2s ease;
}

.velour-quiz-item:hover {
	border-color: rgba(240, 123, 34, 0.35);
}

.velour-quiz-item input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.velour-quiz-box {
	flex: 0 0 1.5rem;
	height: 1.5rem;
	margin-top: 0.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(245, 241, 236, 0.4);
	transition: background 0.2s ease, border-color 0.2s ease;
}

.velour-quiz-item input:focus-visible + .velour-quiz-box {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.velour-quiz-item input:checked + .velour-quiz-box {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.velour-quiz-item input:checked + .velour-quiz-box::after {
	content: "";
	width: 0.62rem;
	height: 0.32rem;
	border-left: 2px solid var(--wp--preset--color--base);
	border-bottom: 2px solid var(--wp--preset--color--base);
	transform: rotate(-45deg) translate(1px, -1px);
}

.velour-quiz-item:has(input:checked),
.velour-quiz-item.is-on {
	border-color: rgba(240, 123, 34, 0.55);
	background: linear-gradient(140deg, rgba(240, 123, 34, 0.12), var(--wp--preset--color--base-2) 60%);
}

.velour-quiz-statement {
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.2rem;
	line-height: 1.35;
}

.velour-quiz-note {
	display: block;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
	transition: max-height 0.4s ease, opacity 0.4s ease, margin 0.4s ease;
}

.velour-quiz-item input:checked ~ .velour-quiz-text .velour-quiz-note {
	max-height: 6rem;
	margin-top: 0.4rem;
	opacity: 1;
}

/* Ergebnis */
.velour-quiz-result {
	position: sticky;
	top: 2rem;
	padding: 2.1rem 2rem 2rem;
	border: 1px solid rgba(240, 123, 34, 0.45);
	background:
		radial-gradient(80% 60% at 50% 0%, rgba(240, 123, 34, 0.14), transparent 70%),
		var(--wp--preset--color--base-2);
	text-align: center;
}

.admin-bar .velour-quiz-result {
	top: calc(2rem + 32px);
}

.velour-quiz-label {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-quiz-ring {
	position: relative;
	width: 11.5rem;
	height: 11.5rem;
	margin: 1.4rem auto 0.4rem;
}

.velour-quiz-ring svg {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.velour-quiz-track,
.velour-quiz-bar {
	fill: none;
	stroke-width: 6;
}

.velour-quiz-track {
	stroke: rgba(245, 241, 236, 0.1);
}

.velour-quiz-bar {
	stroke: var(--wp--preset--color--accent);
	stroke-linecap: round;
	transition: stroke-dashoffset 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.velour-quiz:not(.has-score) .velour-quiz-bar {
	stroke-linecap: butt;
}

.velour-quiz-num {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.velour-quiz-num b {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 3.7rem;
	font-weight: 400;
	line-height: 1;
}

.velour-quiz-num span {
	margin-top: 0.4rem;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-quiz-steps {
	display: flex;
	justify-content: space-between;
	gap: 0.4rem;
	margin: 0.3rem 0 0;
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-quiz-steps span {
	transition: color 0.3s ease;
}

.velour-quiz-steps span.is-on {
	color: var(--wp--preset--color--accent);
}

.velour-quiz-tier {
	margin: 1rem 0 0.6rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.85rem;
	font-weight: 400;
	line-height: 1.15;
}

.velour-quiz-tiertext {
	margin: 0 0 1.4rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--wp--preset--color--muted);
}

.velour-quiz-tier,
.velour-quiz-tiertext,
.velour-quiz-send span:first-child {
	transition: opacity 0.18s ease;
}

.velour-quiz.is-changing .velour-quiz-tier,
.velour-quiz.is-changing .velour-quiz-tiertext,
.velour-quiz.is-changing .velour-quiz-send span:first-child {
	opacity: 0;
}

.velour-quiz-send {
	display: block;
	width: 100%;
	padding: 1rem 1.2rem;
	border: 0;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	font: 700 0.8rem/1.3 var(--wp--preset--font-family--sans);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.25s ease;
}

.velour-quiz-send:hover,
.velour-quiz-send:focus-visible {
	background: var(--wp--preset--color--blush);
}

.velour-quiz-alt {
	display: block;
	margin-top: 0.75rem;
	padding: 0.9rem;
	border: 1px solid rgba(245, 241, 236, 0.3);
	color: var(--wp--preset--color--contrast);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color 0.25s ease, color 0.25s ease;
}

.velour-quiz-alt:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.velour-quiz-privacy {
	margin: 1.1rem 0 0;
	font-size: 0.78rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
	opacity: 0.85;
}

/* Handy-Leiste */
.velour-quiz-mbar {
	display: none;
}

@media (max-width: 900px) {
	.velour-quiz-layout {
		grid-template-columns: 1fr;
		gap: 1.6rem;
		margin-top: 2.2rem;
	}

	.velour-quiz-result {
		position: static;
	}

	.velour-quiz-mbar:not([hidden]) {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		display: flex;
		align-items: center;
		gap: 0.9rem;
		padding: 0.75rem 1rem;
		background: rgba(21, 19, 19, 0.96);
		border-top: 1px solid rgba(240, 123, 34, 0.5);
		transform: translateY(110%);
		transition: transform 0.35s ease;
	}

	.velour-quiz-mbar.is-shown {
		transform: none;
	}

	.velour-quiz-mbar b {
		font-family: var(--wp--preset--font-family--serif);
		font-size: 1.9rem;
		font-weight: 400;
		color: var(--wp--preset--color--accent);
	}

	.velour-quiz-mbar span {
		font-size: 0.7rem;
		letter-spacing: 0.14em;
		line-height: 1.4;
		text-transform: uppercase;
		color: var(--wp--preset--color--muted);
	}

	.velour-quiz-mbar em {
		font-style: normal;
		color: var(--wp--preset--color--contrast);
	}

	.velour-quiz-jump {
		margin-left: auto;
		padding: 0.75rem 0.9rem;
		border: 0;
		background: var(--wp--preset--color--accent);
		color: var(--wp--preset--color--base);
		font: 700 0.7rem/1 var(--wp--preset--font-family--sans);
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}
}

@media (max-width: 640px) {
	.velour-quiz-items {
		grid-template-columns: 1fr;
	}

	.velour-quiz-statement {
		font-size: 1.08rem;
	}

	.velour-quiz-ring {
		width: 9.5rem;
		height: 9.5rem;
	}

	.velour-quiz-num b {
		font-size: 3rem;
	}
}

/* ---------- Kontakt: Spalte „Direkt“ ---------- */

.velour-cd-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-cd-eyebrow::before {
	content: "";
	width: 2rem;
	height: 1px;
	background: currentColor;
}

.velour-cd-title {
	margin: 1rem 0 0.9rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.1rem, 3.4vw, 2.7rem);
	font-weight: 400;
	line-height: 1.08;
}

.velour-cd-title em {
	color: var(--wp--preset--color--blush);
}

.velour-cd-lead {
	max-width: 27rem;
	margin: 0 0 2.2rem;
	line-height: 1.7;
	color: var(--wp--preset--color--muted);
}

.velour-cd-list {
	border-top: 1px solid rgba(245, 241, 236, 0.1);
}

.velour-cd-row {
	display: grid;
	grid-template-columns: 2.6rem 1fr auto;
	gap: 1.1rem;
	align-items: center;
	padding: 1.1rem 0;
	border-bottom: 1px solid rgba(245, 241, 236, 0.1);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.velour-cd-ico {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border: 1px solid rgba(240, 123, 34, 0.55);
	border-radius: 50%;
	color: var(--wp--preset--color--accent);
	transition: background 0.25s ease, color 0.25s ease;
}

.velour-cd-text {
	min-width: 0;
}

.velour-cd-label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-cd-value {
	display: block;
	overflow-wrap: anywhere;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.3rem;
	line-height: 1.2;
	transition: color 0.25s ease;
}

.velour-cd-arrow {
	color: var(--wp--preset--color--muted);
	transition: transform 0.25s ease, color 0.25s ease;
}

.velour-cd-row:hover .velour-cd-ico,
.velour-cd-row:focus-visible .velour-cd-ico {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.velour-cd-row:hover .velour-cd-value,
.velour-cd-row:focus-visible .velour-cd-value {
	color: var(--wp--preset--color--blush);
}

.velour-cd-row:hover .velour-cd-arrow,
.velour-cd-row:focus-visible .velour-cd-arrow {
	color: var(--wp--preset--color--accent);
	transform: translateX(3px);
}

.velour-cd-studio {
	display: grid;
	grid-template-columns: 2.6rem 1fr;
	gap: 1.1rem;
	margin-top: 1.8rem;
	padding: 1.4rem 1.5rem;
	background: var(--wp--preset--color--base-2);
	border: 1px solid rgba(245, 241, 236, 0.08);
}

.velour-cd-studio p {
	margin: 0;
}

.velour-cd-address {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.15rem;
	line-height: 1.4;
}

.velour-cd-area {
	margin-top: 0.3rem !important;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.velour-cd-route {
	display: inline-block;
	margin-top: 0.7rem;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.velour-cd-route:hover {
	color: var(--wp--preset--color--blush);
}

.velour-cd-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1.4rem;
}

.velour-cd-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.9rem;
	border: 1px solid rgba(245, 241, 236, 0.14);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--muted);
}

.velour-cd-badge svg {
	color: var(--wp--preset--color--accent);
}

.velour-cd-sign {
	margin: 2.2rem 0 0;
	font-size: 0.95rem;
	color: var(--wp--preset--color--muted);
}

.velour-cd-sign span {
	display: block;
	margin-top: 0.3rem;
	font-family: var(--wp--preset--font-family--script);
	font-size: 2.2rem;
	line-height: 1;
	color: var(--wp--preset--color--blush);
}

/* ---------- Photostories-Archiv ---------- */

.velour-sl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
	gap: var(--wp--preset--spacing--50);
	margin-top: var(--wp--preset--spacing--60);
}

.velour-sl-card {
	position: relative;
	background: var(--wp--preset--color--base-2);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.velour-sl-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, 0.45);
}

.velour-sl-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.velour-sl-cover {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #1d1918;
}

.velour-sl-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--vl-filter, brightness(1));
	transition: transform 0.8s ease;
}

.velour-sl-card:hover .velour-sl-cover img {
	transform: scale(1.04);
}

/* Buchrücken-Andeutung */
.velour-sl-cover::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 10%;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.35), transparent);
	pointer-events: none;
}

.velour-sl-veil {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	background:
		radial-gradient(60% 45% at 35% 35%, rgba(246, 164, 94, 0.35), transparent 70%),
		radial-gradient(55% 50% at 70% 70%, rgba(154, 66, 16, 0.45), transparent 70%),
		linear-gradient(160deg, #2a1d17, #120e0d);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.74rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.velour-sl-veil svg {
	color: var(--wp--preset--color--accent);
}

.velour-sl-badge {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	z-index: 2;
	padding: 0.3rem 0.55rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	font: 700 0.7rem/1 var(--wp--preset--font-family--sans);
	letter-spacing: 0.08em;
}

.velour-sl-badge.is-inline {
	position: static;
	display: inline-block;
	margin-right: 0.4rem;
}

.velour-sl-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 1.3rem 1.4rem 1.4rem;
}

.velour-sl-model {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-sl-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.15;
}

.velour-sl-intro {
	margin: 0.7rem 0 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.velour-sl-meta {
	margin: auto 0 0;
	padding-top: 1rem;
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-sl-card:hover .velour-sl-meta {
	color: var(--wp--preset--color--accent);
}

.velour-sl-note {
	margin-top: var(--wp--preset--spacing--50);
	text-align: center;
	font-size: 0.88rem;
	color: var(--wp--preset--color--muted);
}

.velour-sl-note a {
	color: var(--wp--preset--color--accent);
}

/* Zurück-Link über einer Story */
.velour-story-back {
	margin: 0 auto var(--wp--preset--spacing--40);
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.velour-story-back a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.velour-story-back a:hover {
	color: var(--wp--preset--color--accent);
}

/* Passwort-Schranke (NSFW) */
.velour-nsfw-gate {
	max-width: 36rem;
	margin: var(--wp--preset--spacing--50) auto;
	padding: clamp(1.8rem, 5vw, 3rem);
	border: 1px solid rgba(240, 123, 34, 0.45);
	background:
		radial-gradient(70% 60% at 50% 0%, rgba(240, 123, 34, 0.1), transparent 70%),
		var(--wp--preset--color--base-2);
	text-align: center;
}

.velour-nsfw-badge {
	margin: 0;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.velour-nsfw-badge span {
	display: inline-block;
	margin-right: 0.4rem;
	padding: 0.25rem 0.5rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	letter-spacing: 0.08em;
}

.velour-nsfw-title {
	margin: 1rem 0 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2rem, 5vw, 2.8rem);
	font-weight: 400;
	line-height: 1.1;
}

.velour-nsfw-text {
	margin: 1rem 0 1.6rem;
	color: var(--wp--preset--color--muted);
	line-height: 1.6;
}

.velour-nsfw-form {
	text-align: left;
}

.velour-nsfw-form > label:first-child {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.velour-nsfw-row {
	display: flex;
	gap: 0.6rem;
}

.velour-nsfw-row input {
	flex: 1;
	min-width: 0;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(245, 241, 236, 0.3);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
}

.velour-nsfw-row input:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
}

.velour-nsfw-age {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.9rem;
	font-size: 0.9rem;
}

.velour-nsfw-age input {
	accent-color: var(--wp--preset--color--accent);
	width: 1.05rem;
	height: 1.05rem;
}

.velour-nsfw-ask {
	margin: 1.6rem 0 0;
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}

.velour-nsfw-ask a {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 480px) {
	.velour-nsfw-row {
		flex-direction: column;
	}
}

/* ---------- Photostory im Editor ---------- */

.velour-story-ed {
	padding: 1.2rem;
	border: 1px solid rgba(240, 123, 34, 0.4);
	background: #151313;
	color: #f5f1ec;
}

.velour-story-ed-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem 1.2rem;
}

.velour-story-ed-title {
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.85rem;
	color: #f07b22;
}

.velour-story-ed-count {
	font-size: 0.85rem;
	opacity: 0.7;
}

.velour-story-ed-actions {
	display: flex;
	gap: 0.5rem;
	margin-left: auto;
}

.velour-story-ed-help {
	margin: 0.6rem 0 1rem;
	font-size: 0.8rem;
	opacity: 0.7;
}

.velour-story-ed-pages > .block-editor-inner-blocks > .block-editor-block-list__layout,
.velour-story-ed-pages.block-editor-block-list__layout {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
	gap: 1rem;
}

.velour-story-ed .velour-story-ed-page,
.velour-story-ed .velour-story-ed-cover {
	margin: 0 !important;
	padding: 0.9rem;
	background: #f3eee7;
	color: #2b2522;
}

.velour-story-ed.is-paper-dark .velour-story-ed-page {
	background: #1f1b1a;
	color: #f5f1ec;
}

.velour-story-ed .velour-story-ed-cover {
	background: #0b0a0a;
	color: #f5f1ec;
	outline: 1px solid rgba(240, 123, 34, 0.55);
	outline-offset: -6px;
	text-align: center;
}

.velour-story-ed .velour-story-ed-page .wp-block-image {
	margin: 0 0 0.6rem;
}

.velour-story-ed .velour-story-ed-page .wp-block-image img {
	width: 100%;
	height: 12rem;
	object-fit: contain;
}

.velour-story-ed .velour-story-text {
	font-style: italic;
	font-size: 0.9rem;
	text-align: center;
	margin: 0;
}

.velour-story-ed .velour-story-model {
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #f07b22;
}

/* ---------- Bewegung reduzieren ---------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}
