/* Lory Dresses Rental – Frontend-Styles (Dark Mode, inspired by „Über uns") */

/* Ganze Seite dunkel machen, wenn die Verleih-Seite angezeigt wird */
body.page-id-4008 {
	background: #0a0a0a;
	color: #f5f2ea;
}
body.page-id-4008 .site-main,
body.page-id-4008 .entry-content,
body.page-id-4008 main,
body.page-id-4008 article {
	background: transparent;
	color: #f5f2ea;
}
body.page-id-4008 a { color: inherit; }

.lory-rental {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0 80px;
	color: #f5f2ea;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
.lory-rental * { box-sizing: border-box; }
.lory-rental a { color: inherit; }

.lory-rental-hero {
	text-align: center;
	padding: 40px 16px 60px;
}
.lory-rental-hero h2 {
	font-family: inherit;
	font-weight: inherit;
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin: 0 0 20px;
	letter-spacing: 1px;
	color: #f5f2ea;
	line-height: 1;
}
.lory-rental-intro {
	max-width: 680px;
	margin: 0 auto 28px;
	color: #b8b3a8;
	font-size: 0.95em;
	line-height: 1.6;
}
.lory-rental-facts {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 20px;
	font-size: 0.82em;
	font-family: inherit;
	letter-spacing: 0.5px;
}
.lory-rental-facts li {
	background: transparent;
	border: 1px solid #f5f2ea;
	padding: 10px 20px;
	border-radius: 999px;
	color: #f5f2ea;
}

.lory-rental-notices {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
	margin: 0 0 48px;
	padding: 0 16px;
}
.lory-rental-notice {
	padding: 20px 22px;
	border-radius: 0;
	background: transparent;
	border: 1px solid #f5f2ea;
	font-size: 0.88em;
	line-height: 1.6;
	color: #f5f2ea;
}
.lory-rental-notice strong {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-size: 0.88em;
}

.lory-rental-grid {
	display: grid;
	gap: 40px;
	padding: 0 16px;
}
.lory-rental-grid--cols-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.lory-rental-grid--cols-3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.lory-rental-grid--cols-4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.lory-rental-card {
	background: transparent;
	border: none;
	border-radius: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: opacity 0.25s ease;
	color: #f5f2ea;
}
.lory-rental-card:hover { opacity: 0.75; }
.lory-rental-card__media img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3/4;
	object-fit: cover;
	filter: brightness(0.95);
}
.lory-rental-card__body {
	padding: 20px 0 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.lory-rental-card__title {
	margin: 0;
	font-family: inherit;
	font-weight: inherit;
	font-size: 1.3rem;
	line-height: 1.25;
	letter-spacing: 0.5px;
	color: #f5f2ea;
}
.lory-rental-card__title a {
	color: inherit;
	text-decoration: none;
}
.lory-rental-card__price {
	margin: 0;
	font-weight: 400;
	color: #b8b3a8;
	font-size: 0.9em;
	letter-spacing: 0.3px;
}
.lory-rental-card__meta {
	margin: 0 0 12px;
	color: #b8b3a8;
	font-size: 0.78em;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.lory-rental-btn {
	display: inline-block;
	padding: 14px 24px;
	border-radius: 0;
	border: 1px solid #f5f2ea;
	background: transparent;
	color: #f5f2ea;
	text-decoration: none;
	text-align: center;
	font-weight: 500;
	font-family: inherit;
	font-size: 0.78em;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}
.lory-rental-btn:hover {
	background: #f5f2ea;
	color: #0a0a0a;
}
.lory-rental-btn--primary {
	background: #f5f2ea;
	color: #0a0a0a;
	border-color: #f5f2ea;
}
.lory-rental-btn--primary:hover {
	background: transparent;
	color: #f5f2ea;
}
.lory-rental-btn--large {
	padding: 18px 30px;
	font-size: 0.85em;
	width: 100%;
}
.lory-rental-btn[disabled] {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

/* Single View */
.lory-rental--single { padding: 40px 16px 80px; }
.lory-rental-back {
	display: inline-block;
	margin-bottom: 30px;
	color: #b8b3a8;
	text-decoration: none;
	font-size: 0.82em;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.lory-rental-back:hover { color: #f5f2ea; }

.lory-rental-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 60px;
	align-items: start;
}
@media (max-width: 800px) {
	.lory-rental-single__grid { grid-template-columns: 1fr; gap: 40px; }
}
.lory-rental-single__media img {
	width: 100%;
	height: auto;
	border-radius: 0;
	display: block;
	filter: brightness(0.95);
}
.lory-rental-single__body h2 {
	margin: 0 0 16px;
	font-family: inherit;
	font-weight: inherit;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	letter-spacing: 1px;
	color: #f5f2ea;
	line-height: 1.1;
}
.lory-rental-single__desc {
	color: #b8b3a8;
	margin: 0 0 24px;
	font-size: 0.95em;
	line-height: 1.7;
}

.lory-rental-single__facts {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin: 20px 0 32px;
}
.lory-rental-single__facts > div {
	background: transparent;
	border: 1px solid #f5f2ea;
	border-radius: 0;
	padding: 14px 16px;
	font-size: 0.9em;
	display: flex;
	flex-direction: column;
	color: #f5f2ea;
}
.lory-rental-single__facts span {
	color: #b8b3a8;
	font-size: 0.68em;
	letter-spacing: 1.5px;
	margin-bottom: 6px;
	text-transform: uppercase;
}
.lory-rental-single__facts strong {
	font-weight: 500;
	color: #f5f2ea;
	font-size: 1.05em;
}

.lory-rental-form label {
	display: block;
	font-weight: 500;
	margin: 20px 0 10px;
	font-size: 0.78em;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #f5f2ea;
}
.lory-rental-form input[type="text"] {
	width: 100%;
	padding: 16px 18px;
	border: 1px solid #f5f2ea;
	border-radius: 0;
	font-size: 1rem;
	font-family: inherit;
	background: transparent;
	color: #f5f2ea;
}
.lory-rental-form input[type="text"]::placeholder { color: #b8b3a8; }
.lory-rental-form input[type="text"]:focus {
	outline: none;
	border-color: #f5f2ea;
	background: rgba(245, 242, 234, 0.05);
}

.lory-rental-price-box {
	margin: 24px 0;
	border: 1px solid #f5f2ea;
	border-radius: 0;
	padding: 20px 22px;
	background: transparent;
}
.lory-rental-price-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid rgba(245, 242, 234, 0.15);
	font-size: 0.92em;
	color: #f5f2ea;
}
.lory-rental-price-row:last-child { border-bottom: none; }
.lory-rental-price-row--total {
	margin-top: 4px;
	padding-top: 16px;
	border-top: 1px solid #f5f2ea;
	border-bottom: none;
	font-weight: 500;
}
.lory-rental-price-row--total strong {
	font-size: 1.2em;
	color: #f5f2ea;
	font-weight: 500;
}
.lory-rental-price-row--deposit {
	color: #b8b3a8;
	font-size: 0.82em;
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px dashed rgba(245, 242, 234, 0.25);
}

.lory-rental-agb-note {
	margin: 18px 0;
	font-size: 0.88em;
	color: #b8b3a8;
}
.lory-rental-agb-note input { margin-right: 8px; transform: translateY(1px); accent-color: #f5f2ea; }

.lory-rental-info {
	margin-top: 40px;
	border-top: 1px solid #f5f2ea;
	padding-top: 28px;
	font-size: 0.9em;
	color: #b8b3a8;
	line-height: 1.7;
}
.lory-rental-info h3 {
	margin: 0 0 16px;
	font-family: inherit;
	font-weight: inherit;
	font-size: 1.3rem;
	letter-spacing: 0.5px;
	color: #f5f2ea;
}
.lory-rental-info p { margin: 10px 0 14px; }
.lory-rental-info strong { font-weight: 500; color: #f5f2ea; }

/* Cart-Badge */
.lory-rental-cart-badge {
	display: inline-block;
	background: #f5f2ea;
	color: #0a0a0a;
	border-radius: 0;
	padding: 4px 12px;
	font-size: 0.68em;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-right: 8px;
	vertical-align: middle;
	font-weight: 600;
}

/* AGB-Box im Checkout */
.lory-rental-agb-box {
	margin: 28px 0;
	padding: 24px;
	border: 1px solid #f5f2ea;
	border-radius: 0;
	background: transparent;
	color: #f5f2ea;
}
.lory-rental-agb-box h3 {
	margin: 0 0 12px;
	font-family: inherit;
	font-weight: inherit;
	font-size: 1.2rem;
	letter-spacing: 0.5px;
}
.lory-rental-agb-box ul { margin: 10px 0 18px 1.3em; font-size: 0.9em; color: #b8b3a8; }
.lory-rental-agb-box label { font-weight: 500; }

/* Flatpickr: gebuchte Tage */
.flatpickr-day.lory-blocked {
	background: repeating-linear-gradient(45deg, rgba(245, 242, 234, 0.15), rgba(245, 242, 234, 0.15) 2px, transparent 2px, transparent 6px);
	color: #666;
	cursor: not-allowed;
	text-decoration: line-through;
}
.flatpickr-day.lory-blocked:hover {
	background: repeating-linear-gradient(45deg, rgba(245, 242, 234, 0.15), rgba(245, 242, 234, 0.15) 2px, transparent 2px, transparent 6px);
}

/* Whitelist-Modus: noch nicht freigegebene Tage */
.flatpickr-day.lory-not-released {
	background: transparent;
	color: #444;
	cursor: not-allowed;
}
.flatpickr-day.lory-not-released:hover { background: transparent; }

/* Whitelist-Modus: freigegebene Tage */
.flatpickr-day.lory-available {
	background: transparent;
	color: #f5f2ea;
	font-weight: 500;
	border: 1px solid #f5f2ea;
}
.flatpickr-day.lory-available:hover {
	background: #f5f2ea;
	color: #0a0a0a;
}

/* Flatpickr: Dark Calendar */
.flatpickr-calendar {
	font-family: inherit;
	border: 1px solid #f5f2ea;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
	border-radius: 0;
	background: #0a0a0a;
	color: #f5f2ea;
}
.flatpickr-calendar .flatpickr-months,
.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-weekday,
.flatpickr-calendar .flatpickr-month,
.flatpickr-calendar .flatpickr-current-month,
.flatpickr-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar .flatpickr-monthDropdown-months {
	background: #0a0a0a !important;
	color: #f5f2ea !important;
}
.flatpickr-calendar .flatpickr-day {
	color: #f5f2ea;
}
.flatpickr-calendar .flatpickr-day:hover:not(.flatpickr-disabled):not(.lory-blocked):not(.lory-not-released) {
	background: rgba(245, 242, 234, 0.1);
	border-color: rgba(245, 242, 234, 0.3);
}
.flatpickr-calendar .flatpickr-day.flatpickr-disabled {
	color: #333;
}
.flatpickr-calendar .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-next-month svg {
	fill: #f5f2ea;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
	background: #f5f2ea !important;
	border-color: #f5f2ea !important;
	color: #0a0a0a !important;
}
.flatpickr-day.inRange {
	background: rgba(245, 242, 234, 0.15) !important;
	border-color: rgba(245, 242, 234, 0.15) !important;
	box-shadow: -5px 0 0 rgba(245, 242, 234, 0.15), 5px 0 0 rgba(245, 242, 234, 0.15) !important;
	color: #f5f2ea !important;
}

/* Hinweis bei leerem Whitelist */
.lory-rental-no-availability {
	margin: 14px 0;
	padding: 16px 18px;
	background: transparent;
	border: 1px solid #b8b3a8;
	border-radius: 0;
	color: #b8b3a8;
	font-size: 0.9em;
	line-height: 1.6;
}


/* Specificity fix: Button-Textfarben müssen gegen .lory-rental a { color: inherit } gewinnen */
a.lory-rental-btn, .lory-rental a.lory-rental-btn {
	color: #f5f2ea;
}
a.lory-rental-btn:hover, .lory-rental a.lory-rental-btn:hover {
	color: #0a0a0a;
}
a.lory-rental-btn--primary, .lory-rental a.lory-rental-btn--primary {
	color: #0a0a0a;
	background: #f5f2ea;
}
a.lory-rental-btn--primary:hover, .lory-rental a.lory-rental-btn--primary:hover {
	color: #f5f2ea;
	background: transparent;
}
