/* ==========================================================
   NEWATOURS – RESTAURANTS / CAFÉS
   ========================================================== */

.newatours-restaurants {
	--newa-navy: #0d2d4a;
	--newa-green: #43a047;
	--newa-text: #2e2e2e;
	--newa-border: rgba(13, 45, 74, 0.12);

	--newa-restaurant-green: #43a047;
	--newa-restaurant-tab-active-bg: #f3f9f4;

	display: grid;

	grid-template-columns:
		300px
		minmax(0, 1fr);

	gap: 36px;

	width: 100%;
}


/* ==========================================================
   TABS
   ========================================================== */

.newatours-restaurants-tabs {
	display: flex;
	flex-direction: column;

	gap: 0;

	align-self: start;

	min-width: 0;

	border:
		1px solid
		var(--newa-border);

	border-radius: 8px;

	background: #ffffff;

	overflow: hidden;
}


.newatours-restaurants-tab {
	position: relative;

	display: grid !important;

	grid-template-columns:
		32px
		minmax(0, 1fr)
		18px;

	align-items: center;

	column-gap: 14px;

	width: 100%;
	min-height: 70px;

	margin: 0 !important;

	padding:
		12px
		18px !important;

	border: 0 !important;

	border-bottom:
		1px solid
		var(--newa-border) !important;

	border-radius: 0 !important;

	background:
		#ffffff !important;

	box-shadow: none !important;
	outline: none !important;

	color:
		var(--newa-navy) !important;

	text-align: left !important;

	cursor: pointer;

	transition:
		background-color 0.2s ease;
}


.newatours-restaurants-tab:last-child {
	border-bottom: 0 !important;
}


.newatours-restaurants-tab:hover {
	background:
		#f7fbf7 !important;
}


.newatours-restaurants-tab.is-active {
	background:
		var(
			--newa-restaurant-tab-active-bg
		) !important;
}


.newatours-restaurants-tab.is-active::before {
	content: "";

	position: absolute;

	top: 0;
	bottom: 0;
	left: 0;

	width: 4px;

	background:
		var(
			--newa-restaurant-green
		);
}


/* ==========================================================
   TAB NUMBER
   ========================================================== */

.newatours-restaurants-tab-index {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	border-radius: 50%;

	background:
		var(
			--newa-restaurant-green
		);

	color: #ffffff;

	font-family:
		"Source Sans 3",
		sans-serif;

	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}


/* ==========================================================
   TAB TEXT
   ========================================================== */

.newatours-restaurants-tab-content {
	display: flex;
	flex-direction: column;

	min-width: 0;
}


.newatours-restaurants-tab-name {
	color:
		var(--newa-navy);

	font-family:
		"Source Sans 3",
		sans-serif;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}


.newatours-restaurants-tab-arrow {
	display: flex;
	align-items: center;
	justify-content: center;

	color:
		var(--newa-navy);

	font-family:
		Arial,
		sans-serif;

	font-size: 27px;
	font-weight: 300;
	line-height: 1;

	transition:
		color 0.2s ease,
		transform 0.2s ease;
}


.newatours-restaurants-tab:hover
.newatours-restaurants-tab-arrow,
.newatours-restaurants-tab.is-active
.newatours-restaurants-tab-arrow {
	color:
		var(
			--newa-restaurant-green
		);
}


.newatours-restaurants-tab:hover
.newatours-restaurants-tab-arrow {
	transform:
		translateX(2px);
}


/* ==========================================================
   PANELS
   ========================================================== */

.newatours-restaurants-panels {
	min-width: 0;
}


.newatours-restaurant-panel {
	display: none;
}


.newatours-restaurant-panel.is-active {
	display: block;
}


/* ==========================================================
   TITLE
   ========================================================== */

.newatours-restaurant-header {
	margin-bottom: 18px;
}


.newatours-restaurant-title {
	margin: 0;

	color:
		var(--newa-navy);

	font-family:
		"Marcellus",
		serif;

	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.newatours-restaurant-image-wrap {
	width: 100%;

	margin-bottom: 24px;

	overflow: hidden;
}


.newatours-restaurant-image-wrap--16-9 {
	aspect-ratio: 16 / 9;
}


.newatours-restaurant-image-wrap--3-2 {
	aspect-ratio: 3 / 2;
}


.newatours-restaurant-image-wrap--4-3 {
	aspect-ratio: 4 / 3;
}


.newatours-restaurant-image {
	display: block !important;

	width: 100%;
	height: 100%;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 6px !important;

	background:
		transparent !important;

	box-shadow: none !important;
	outline: none !important;

	overflow: hidden;

	cursor: zoom-in;

	appearance: none;
	-webkit-appearance: none;
}


.newatours-restaurant-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transition:
		transform 0.25s ease;
}


.newatours-restaurant-image:hover img {
	transform:
		scale(1.02);
}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.newatours-restaurant-description {
	margin-bottom: 0;

	color:
		var(--newa-text);

	font-family:
		"Source Sans 3",
		sans-serif;

	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
}


.newatours-restaurant-description p {
	margin:
		0
		0
		10px;
}


.newatours-restaurant-description p:last-child {
	margin-bottom: 0;
}


/* ==========================================================
   EMPTY STATE – NUR IM ELEMENTOR
   ========================================================== */

.newatours-restaurants-empty {
	padding:
		14px
		16px;

	border:
		1px solid
		rgba(67, 160, 71, 0.25);

	border-radius: 6px;

	background:
		#f3f9f4;

	color:
		#2e2e2e;

	font-family:
		"Source Sans 3",
		sans-serif;

	font-size: 14px;
	line-height: 1.4;
}


/* ==========================================================
   LIGHTBOX
   ========================================================== */

.newatours-restaurant-lightbox[hidden] {
	display: none !important;
}


.newatours-restaurant-lightbox {
	position: fixed;

	inset: 0;

	z-index: 99999;

	display: flex;
	align-items: center;
	justify-content: center;

	background:
		rgba(0, 0, 0, 0.88);
}


.newatours-restaurant-lightbox-backdrop {
	position: absolute;

	inset: 0;
}


.newatours-restaurant-lightbox-inner {
	position: relative;

	z-index: 2;

	width: 100vw;
	height: 100vh;

	pointer-events: none;
}


.newatours-restaurant-lightbox-stage {
	position: absolute;

	top: 55px;
	right: 80px;
	bottom: 70px;
	left: 80px;

	display: flex;
	align-items: center;
	justify-content: center;
}


.newatours-restaurant-lightbox-image {
	display: block;

	width: auto;
	height: auto;

	max-width: 100%;
	max-height: 100%;

	object-fit: contain;

	box-shadow:
		0 4px 30px
		rgba(0, 0, 0, 0.30);

	pointer-events: auto;
}


.newatours-restaurant-lightbox-close {
	position: absolute;

	top: 12px;
	right: 18px;

	z-index: 10;

	width: 40px !important;
	height: 40px !important;

	padding: 0 !important;

	border: 0 !important;

	background:
		transparent !important;

	box-shadow: none !important;

	color:
		#ffffff !important;

	font-size: 34px !important;
	line-height: 1 !important;

	cursor: pointer;

	pointer-events: auto;
}


.newatours-restaurant-lightbox-caption {
	position: absolute;

	left: 50%;
	bottom: -42px;

	transform:
		translateX(-50%);

	max-width: 80vw;

	color:
		#ffffff;

	font-family:
		"Source Sans 3",
		sans-serif;

	font-size: 17px;
	line-height: 1.4;

	text-align: center;

	text-shadow:
		0 1px 3px
		rgba(0, 0, 0, 0.65);
}


.newatours-restaurant-lightbox-caption[hidden] {
	display: none !important;
}


html.newatours-modal-open,
body.newatours-modal-open {
	overflow:
		hidden !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

	.newatours-restaurants {
		grid-template-columns:
			230px
			minmax(0, 1fr);

		gap: 24px;
	}


	.newatours-restaurants-tab {
		grid-template-columns:
			28px
			minmax(0, 1fr)
			15px;

		column-gap: 10px;

		min-height: 70px;

		padding:
			13px
			12px !important;
	}


	.newatours-restaurants-tab-index {
		width: 27px;
		height: 27px;

		font-size: 12px;
	}


	.newatours-restaurants-tab-name {
		font-size: 14px;
	}


	.newatours-restaurants-tab-arrow {
		font-size: 23px;
	}


	.newatours-restaurant-title {
		font-size: 22px;
	}

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

	.newatours-restaurants {
		display: block;
	}


	.newatours-restaurants-tabs {
		width: 100%;

		margin-bottom: 24px;
	}


	.newatours-restaurants-tab {
		grid-template-columns:
			28px
			minmax(0, 1fr)
			14px;

		min-height: 60px;

		padding:
			12px !important;
	}


	.newatours-restaurants-tab.is-active::before {
		width: 3px;
	}


	.newatours-restaurants-tab-index {
		width: 27px;
		height: 27px;
	}


	.newatours-restaurant-title {
		font-size: 18px;
	}


	.newatours-restaurant-image-wrap {
		margin-bottom: 20px;
	}


	.newatours-restaurant-description {
		font-size: 15px;
		line-height: 1.6;
	}


	.newatours-restaurant-lightbox-stage {
		top: 55px;
		right: 15px;
		bottom: 65px;
		left: 15px;
	}


	.newatours-restaurant-lightbox-caption {
		bottom: -42px;

		max-width: 88vw;

		font-size: 15px;
	}

}
