/* Footer mit dunklem Hintergrund: Text weiß */
footer.bg-dark,
footer.bg-dark p,
footer.bg-dark span,
footer.bg-dark small,
footer.bg-dark .small,
footer.bg-dark .Impressum_Head,
footer.bg-dark .Impressum_Text,
footer.bg-dark .Normal {
	color: #fff;
}
footer.bg-dark a {
	color: #fff;
}
footer.bg-dark a:hover {
	color: #fff;
	color: rgba(255, 255, 255, 0.85);
}
footer h5 {
	color: #fff;
}

/* Seitencontainer breiter als Bootstrap-Standard (1140 / 1320) */
@media (min-width: 1200px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		max-width: 1280px;
	}
}
@media (min-width: 1400px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		max-width: 1600px;
	}
}

:root {
	--bali-sand: #f6f1e8;
	--bali-rice: #e6f0ea;
	--bali-ink: #105244;
	--bali-leaf: #176b57;
	--bali-stone: #1c2e28;
}

/* Seite: warmes Morgenlicht */
body {
	background-color: var(--bali-sand);
}
/* Navigation bleibt weiß */
header.sticky-top,
header.sticky-top .navbar,
header .navbar.bg-light {
	background-color: #fff !important;
	background-image: none !important;
}

#bali.scroll-section,
#bali.container {
	background:
		radial-gradient(1200px 420px at 8% 0%, rgba(230, 240, 234, 0.95), transparent 60%),
		radial-gradient(900px 380px at 100% 10%, rgba(220, 231, 223, 0.55), transparent 55%),
		var(--bali-rice);
}
#bewertungen.scroll-section {
	background: linear-gradient(180deg, var(--bali-sand) 0%, #f3eee4 100%);
}
#touren.scroll-section,
#tourablauf.scroll-section,
#tourziele.scroll-section {
	background-color: var(--bali-sand);
}

/* Reiseziel-Modal – klarer Bali-Look, Foto dominant */
.bali-ort-modal .modal-dialog {
	max-width: min(1120px, 96vw);
}
.bali-ort-modal__content {
	border: 0;
	border-radius: 1.15rem;
	overflow: hidden;
	background: #fbf7f0;
	box-shadow: 0 24px 60px rgba(28, 46, 40, 0.3);
}
.bali-ort-modal__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border-bottom: 0;
	padding: 0.85rem 1.25rem;
	background: #fff;
	box-shadow: inset 0 -3px 0 #176b57;
}
.bali-ort-modal__header .modal-title {
	color: #105244;
	font-size: clamp(1.2rem, 1rem + 0.8vw, 1.45rem);
	letter-spacing: -0.015em;
}
.bali-ort-modal__header .modal-title::before {
	content: "";
	display: inline-block;
	width: 0.55rem;
	height: 0.55rem;
	margin-right: 0.55rem;
	border-radius: 50%;
	background: #c4a35a;
	box-shadow: 0 0 0 3px rgba(196, 163, 90, 0.25);
	vertical-align: 0.15em;
}
.bali-ort-modal__body {
	background: #fbf7f0;
}
.bali-ort-modal__row {
	min-height: 0;
}
.bali-ort-modal__media {
	position: relative;
	background: #1c2e28;
	/* Eine feste Bildhöhe – kein grüner Leerraum unter dem Foto */
	height: clamp(260px, 48vh, 480px);
	min-height: 260px;
	overflow: hidden;
}
@media (min-width: 992px) {
	.bali-ort-modal__media {
		height: 100%;
		min-height: clamp(360px, 55vh, 520px);
		align-self: stretch;
	}
	.bali-ort-modal__row {
		align-items: stretch;
		min-height: clamp(360px, 55vh, 520px);
	}
}
.bali-ort-modal__carousel {
	position: absolute;
	inset: 0;
	height: 100%;
	width: 100%;
}
.bali-ort-modal__carousel .carousel-inner {
	height: 100%;
}
.bali-ort-modal__carousel .carousel-item {
	height: 100%;
	background: #1c2e28;
}
.bali-ort-modal__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.bali-ort-modal__carousel .carousel-control-prev,
.bali-ort-modal__carousel .carousel-control-next {
	width: 14%;
	opacity: 1;
}
.bali-ort-modal__carousel .carousel-control-prev-icon,
.bali-ort-modal__carousel .carousel-control-next-icon {
	width: 2.25rem;
	height: 2.25rem;
	background-color: rgba(28, 46, 40, 0.55);
	background-size: 55% 55%;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.55);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.bali-ort-modal__text {
	border-left: 0;
	background:
		radial-gradient(800px 320px at 100% -10%, rgba(230, 240, 234, 0.85), transparent 55%),
		repeating-linear-gradient(
			135deg,
			rgba(16, 82, 68, 0.025) 0 2px,
			transparent 2px 14px
		),
		#fbf7f0;
}
.bali-ort-modal__text-inner {
	padding: clamp(1.15rem, 2vw, 1.6rem) clamp(1.15rem, 2.2vw, 1.7rem) 1.5rem;
	color: #2c3430;
	line-height: 1.65;
	font-size: clamp(0.98rem, 0.94rem + 0.2vw, 1.05rem);
}
.bali-ort-modal__text-inner h2,
.bali-ort-modal__text-inner h3,
.bali-ort-modal__text-inner h4,
.bali-ort-modal__text-inner .h4,
.bali-ort-modal__text-inner .h5 {
	color: #105244;
	margin-top: 1.15rem;
	margin-bottom: 0.45rem;
	font-size: 1.05rem;
	font-weight: 700;
	padding-bottom: 0.2rem;
	border-bottom: 1px solid rgba(196, 163, 90, 0.45);
}
.bali-ort-modal__text-inner h2:first-child,
.bali-ort-modal__text-inner h3:first-child,
.bali-ort-modal__text-inner h4:first-child,
.bali-ort-modal__text-inner .h4:first-child,
.bali-ort-modal__text-inner .h5:first-child,
.bali-ort-modal__text-inner p:first-child {
	margin-top: 0;
}
.bali-ort-modal__text-inner ul,
.bali-ort-modal__text-inner ol {
	padding-left: 1.15rem;
	margin-bottom: 0.85rem;
}
.bali-ort-modal__text-inner li {
	margin-bottom: 0.35rem;
}
.bali-ort-modal__text-inner li::marker {
	color: #176b57;
}
.bali-ort-modal__actions {
	margin-top: 1.35rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(16, 82, 68, 0.12);
}
.bali-ort-modal__actions .btn-success {
	background: #176b57;
	border-color: #176b57;
	padding: 0.55rem 1.2rem;
	border-radius: 0.55rem;
	font-weight: 600;
}
.bali-ort-modal__actions .btn-success:hover {
	background: #105244;
	border-color: #105244;
}
@media (max-width: 991.98px) {
	.bali-ort-modal__media {
		height: clamp(240px, 48vw, 320px);
		min-height: 240px;
	}
	.bali-ort-modal__text {
		background: #fbf7f0;
	}
}

.bali-ort-modal__media.col-lg-5 {
	flex: 0 0 auto;
	width: 48%;
}
.bali-ort-modal__text.col-lg-7 {
	flex: 0 0 auto;
	width: 52%;
}
@media (max-width: 991.98px) {
	.bali-ort-modal__media.col-lg-5,
	.bali-ort-modal__text.col-lg-7 {
		width: 100%;
	}
}
