/* ==========================================================================
   Branche-sektioner: series, dealer-cta, rooms, before-after, gallery
   + lightbox. Bruger temaets variabler.
   ========================================================================== */

/* ---- Series (B2B) ------------------------------------------------------- */
.series__head { max-width: 680px; margin-bottom: 32px; }
.series__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}
.series-card {
	display: block;
	background: #fff;
	border: 1px solid var(--color-border, #eceef1);
	border-radius: var(--radius-md, 14px);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
a.series-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card, 0 10px 28px rgba(0,0,0,0.08)); }
.series-card__media { aspect-ratio: 16 / 10; background: var(--color-surface, #f6f7f9); }
.series-card__img { width: 100%; height: 100%; object-fit: cover; }
.series-card__body { padding: 18px; }
.series-card__title { font-size: 1.1rem; margin: 0 0 6px; }
.series-card__text { color: var(--color-muted, #4b5563); margin: 0; }
.series-card__more { display: inline-block; margin-top: 10px; font-weight: 600; color: var(--color-primary, #1f3a5f); }

/* ---- Dealer CTA --------------------------------------------------------- */
.dealer-cta { background: var(--color-primary, #1f3a5f); color: #fff; }
.dealer-cta__inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.dealer-cta__h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 12px; color: #fff; }
.dealer-cta__lead { opacity: 0.9; margin: 0 0 18px; }
.dealer-cta__benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.dealer-cta__benefit { display: flex; align-items: center; gap: 10px; }
.dealer-cta__check { display: inline-flex; color: var(--color-accent, #e0a449); }
.dealer-cta__action { text-align: right; }
@media (max-width: 768px) { .dealer-cta__inner { grid-template-columns: 1fr; } .dealer-cta__action { text-align: left; } }

/* ---- Rooms (hotel) ------------------------------------------------------ */
.rooms__head { max-width: 680px; margin-bottom: 32px; }
.rooms__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.room-card { background: #fff; border: 1px solid var(--color-border, #eceef1); border-radius: var(--radius-md, 14px); overflow: hidden; display: flex; flex-direction: column; }
.room-card__media { aspect-ratio: 4 / 3; background: var(--color-surface, #f6f7f9); }
.room-card__img { width: 100%; height: 100%; object-fit: cover; }
.room-card__body { padding: 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.room-card__name { font-size: 1.15rem; margin: 0; }
.room-card__price { font-weight: 700; color: var(--color-primary, #1f3a5f); }
.room-card__text { color: var(--color-muted, #4b5563); margin: 0; }
.room-card__cta { margin-top: auto; align-self: flex-start; }

/* ---- Before/after ------------------------------------------------------- */
.before-after__head { max-width: 680px; margin-bottom: 28px; }
.before-after__viewer {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	border-radius: var(--radius-lg, 18px);
	overflow: hidden;
	user-select: none;
}
.before-after__img { width: 100%; display: block; }
.before-after__before {
	position: absolute;
	inset: 0;
	width: 50%;
	overflow: hidden;
}
.before-after__img--before { position: absolute; inset: 0; width: auto; max-width: none; height: 100%; }
.before-after__viewer { aspect-ratio: 3 / 2; }
.before-after__img--after { height: 100%; object-fit: cover; }
.before-after__img--before { object-fit: cover; }
.before-after__label {
	position: absolute; top: 14px; padding: 4px 12px; border-radius: 999px;
	background: rgba(0,0,0,0.55); color: #fff; font-size: 0.8rem; z-index: 3;
}
.before-after__label--before { left: 14px; }
.before-after__label--after { right: 14px; }
.before-after__range {
	position: absolute; inset: 0; width: 100%; height: 100%;
	opacity: 0; cursor: ew-resize; z-index: 4; margin: 0;
}
.before-after__handle {
	position: absolute; top: 0; bottom: 0; left: 50%; width: 3px;
	background: #fff; transform: translateX(-50%); z-index: 3; pointer-events: none;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
}
.before-after__handle::after {
	content: ''; position: absolute; top: 50%; left: 50%; width: 38px; height: 38px;
	transform: translate(-50%, -50%); border-radius: 999px; background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* ---- Gallery + lightbox ------------------------------------------------- */
.gallery__head { margin-bottom: 24px; }
.gallery__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.gallery__item { margin: 0; }
.gallery__link { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 10px; }
.gallery__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.2s ease; }
.gallery__link:hover .gallery__img { transform: scale(1.04); }

.manids-lightbox {
	position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center;
	background: rgba(0,0,0,0.85); padding: 24px; cursor: zoom-out;
}
.manids-lightbox img { max-width: 92vw; max-height: 90vh; border-radius: 8px; }
