@import url("footer.css");
@import url("counter.css");
@import url("input-summary.css");

* {
	box-sizing: border-box;
	--app-safariaddress-bar-margin: 36px;
	font-family: Noto Sans TC;
}



body {
	margin: 0;
	min-height: 100dvh;
	background-color: #fefcf5;
}

a {
	text-decoration: none;
}

.top-info {
	display: flex;
	width: 100%;
	padding: 8px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	background-color: #0e5075;
	color: white;
	font-family: Noto Sans;
	font-size: 20px;
	font-weight: 700;
	line-height: 36px;
	letter-spacing: 0.05em;
	text-align: left;
}

.hero {
	position: relative;
	/* background-image: url("/static/home/banner-bg.png"); */
	width: 100%;
	background-position: top;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	padding: 88px 10dvw 80px;

	.hero-bg {
		display: block;
		z-index: -1;
		background-color: lightblue;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 475px;
		object-fit: cover;
		object-position: top center;

	}
}

.hero>.title {
	width: 100%;
	margin-bottom: 103px;

	h2 {
		margin: 0;
		font-family: Noto Sans TC;
		font-size: 64px;
		font-weight: 700;
		line-height: 115.2px;
		text-align: left;
		text-underline-position: from-font;
		text-decoration-skip-ink: none;
	}

	p {
		margin: 0;
		margin-bottom: 16px;
		font-family: Noto Sans TC;
		font-size: 24px;
		font-weight: 700;
		line-height: 38.4px;
		letter-spacing: 0.05em;
		text-align: left;
		text-underline-position: from-font;
		text-decoration-skip-ink: none;

		span {
			color: #fc7044;
		}
	}

	button {
		padding: 10px 40px;
		background-color: #fc7044;
		color: #FEFCF5;
		border: none;
		border-radius: 9999px;
		font-family: Noto Sans;
		font-size: 20px;
		font-weight: 700;
		line-height: var(--app-safariaddress-bar-margin);
		letter-spacing: 0.05em;
		text-align: left;
		text-underline-position: from-font;
		text-decoration-skip-ink: none;
	}
}

.hero .tabs-group {
	width: 100%;
	max-width: 1600px;
	/* border: 1px solid red; */
	border-radius: 30px 30px;
	/* overflow: hidden; */
	box-shadow: 0px 4px 4px 0px #00000040;

}

.hero .tabs-group .tab-labels {
	background-color: #ffd7b8;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}

.hero .tabs-group .tab-labels .tab-label {
	border: none;
	/* border-left: 1px solid #FEE7D5; */
	border-right: 2px solid #fee7d5;
	padding: 17px;
	width: 100%;
	flex: 1;
	font-family: Noto Sans TC;
	font-size: 24px;
	font-weight: 700;
	line-height: 38.4px;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: #ffd7b8;


}

.hero .tabs-group .tab-labels .tab-label:has(+ .active) {
	border-right: 2px solid transparent;
}

.hero .tabs-group .tab-labels .tab-label:last-of-type {
	border-right: 2px solid transparent;
	border-top-right-radius: 30px;
}

.hero .tabs-group .tab-labels .tab-label.active {
	background-color: white;
	color: #fc7044;
	border-radius: 30px 30px 0px 0px;
	border-color: transparent;
}

.hero .tabs-group .tab-labels .tab-label.active+.tab-label {
	border-left: 2px solid transparent;
}

.hero .tabs-group .content-container {
	padding: 28px 3dvw 40px;
	background-color: #fff;
	border-bottom-right-radius: 30px;
	border-bottom-left-radius: 30px;
}

.hero .tabs-group .content-container .slogan {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 16px;
	font-family: Swei Marker Sans CJK TC;
	font-size: 24px;
	font-weight: 700;
	line-height: var(--app-safariaddress-bar-margin);
	letter-spacing: 1px;
	text-align: left;
	text-underline-position: from-font;
	text-decoration-skip-ink: none;
	margin-bottom: 28px;
}

.hero .tabs-group .inputs {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	align-items: end;
	gap: 48px;
	row-gap: 12px;
	margin-bottom: 28px;
}

.hero .tabs-group .inputs>div:not(.address-box),
.hero .tabs-group .inputs>div.address-box .address {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 12px;
	border-bottom: 2px solid #ebebeb;
	/* width: 232px; */
	flex: 2.5;
}

.hero .tabs-group .inputs>div.address-box {
	display: flex;
	justify-content: start;
	align-items: end;
	gap: 8px;

	input {
		width: 100%;
	}
}

.hero .tabs-group .inputs>div .placeholder {
	color: #453e3e;
	font-size: 20px;
	font-family: Noto Sans TC;
	font-weight: 400;
	line-height: 32px;
	letter-spacing: 1px;
	word-wrap: break-word;
	border: none !important;
	position: relative;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
	background: transparent;
	bottom: 0;
	color: transparent;
	cursor: pointer;
	height: auto;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: auto;
}

.hero .tabs-group .inputs>div .placeholder::placeholder {
	color: #453e3e !important;
}

.hero .tabs-group .inputs>div.order-count,
.hero .tabs-group .inputs>div.budget {
	flex: 1;
}

.hero .tabs-group .inputs>div.address-box {
	flex: 6;
}

.hero .tabs-group .inputs .search {
	background: none;
	border-radius: 9999px;
	border: none;
}

.sticky-top {
	width: 100%;
	overflow-x: hidden;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 30;

	.input-summary {
		margin-bottom: 0;
	}

	.controls {
		background-color: #fefcf5;
		overflow-x: scroll;
		width: 100dvw;
		max-width: 100dvw;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

/* input summary */

.input-summary {

	display: flex;
	justify-content: center;
	align-items: center;
	padding: 34px 0;
	background-color: #FC7044;
	z-index: 30;
	margin-bottom: 60px;
}

.input-summary .back {
	display: none;
}

.input-summary .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 16px;
	background-color: #fff;
	border-radius: 9999px;
	width: 90%;
	max-width: 1400px;
}

.input-summary .container .center {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;

}

.center-mobile {
	display: none;
}

.input-summary .container .center>div {
	color: #453E3E;
	font-family: Noto Sans TC;
	font-size: clamp(14px, 1.5dvw, 20px);
	font-weight: 700;
	line-height: 32px;
	letter-spacing: 0.05em;
	text-align: center;
}

.input-summary .container .center .divider {
	width: 2px;
	min-height: 20px;
	height: 80%;
	background-color: #453E3E;
}

.input-summary .container .option-control button {
	background-color: transparent;
	border: none;

	svg {
		width: 32px;
		height: 32px;
	}
}

@media screen and (max-width: 860px) {
	.input-summary {
		padding: 8px 20px;
		gap: 8px;

		.back {
			display: block;
			background-color: transparent;
			border: none;
		}

		.container {
			padding: 11px 20px;

			.center {
				display: none;
			}

			.center-mobile {
				display: block;

				.datetime-n-count {

					font-size: 12px;
					font-weight: 700;
					line-height: 16.8px;
					letter-spacing: 0.05em;

				}

				.price-n-address {

					font-size: 10px;
					font-weight: 500;
					line-height: 14px;
					letter-spacing: 0.05em;

				}

			}

			.option-control {
				svg {
					width: 20px !important;
					height: 20px !important;
				}
			}
		}
	}
}

/* input summary */

/* 快速訂餐 */
.fast-order {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 60px;

	&>.title {
		color: #453E3E;

		font-family: Noto Sans TC;
		font-size: 20px;
		font-weight: 700;
		line-height: 32px;
		letter-spacing: 0.05em;

	}

	&>.groups {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;

		.group {
			position: relative;



			.flavor-trigger {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 16px;
				padding: 10px 15px;
				border: 1px solid #EBEBEB;
				border-radius: 10px;
				background-color: #fff;
				color: #453E3E;
				font-family: Noto Sans TC;
				font-size: 20px;
				font-weight: 500;
				line-height: 32px;

				&:has(input:checked) {
					&+.popover {
						display: flex;
					}
				}

				input {
					display: none;
				}

				.checkbox {
					width: 20px;
					height: 20px;
					border-radius: 3px;
					border: 2px solid #fc7044;
					display: flex;
					justify-content: center;
					align-items: center;

					.checkbox-indicator {
						background-color: transparent;
						border-radius: 1px;
						width: 12px;
						height: 12px;
					}

					&:has(input:checked) {
						.checkbox-indicator {
							background-color: #fc7044;
						}
					}
				}


			}

			.popover {
				display: none;
				position: absolute;
				top: 105%;
				left: 0%;
				background-color: #fff;
				padding: 40px 28px;
				border-radius: 30px;
				box-shadow: 0px 2px 4px 0px #00000040;
				z-index: 50;
				min-width: 500px;

				flex-direction: column;
				justify-content: start;
				align-items: start;
				gap: 20px;

				.title {
					font-family: Noto Sans TC;
					font-size: 20px;
					font-weight: 700;
					line-height: 32px;
					letter-spacing: 0.05em;

				}

				.flavor-count {
					.title {
						span {
							color: #A6A6A6;
							font-family: Noto Sans TC;
							font-size: 20px;
							font-weight: 400;
							line-height: 32px;
							letter-spacing: 0.05em;
							text-align: left;
							text-underline-position: from-font;
							text-decoration-skip-ink: none;
						}
					}

					width: 100%;
					display: flex;
					justify-content: space-between;
					align-items: center;
				}

				.meal-limitation {
					width: 100%;

					.title {
						margin-bottom: 16px;
					}

					.options {
						display: flex;
						justify-content: start;
						align-items: center;
						gap: 12px;

						.option {
							transition: all 0.3s;
							display: flex;
							justify-content: center;
							align-items: center;
							gap: 10px;
							border-radius: 10px;
							border: 1px solid #EBEBEB;
							color: #453E3E;
							font-family: Noto Sans TC;
							font-size: 20px;
							font-weight: 500;
							line-height: 32px;


							svg {
								display: none;
							}

							&:has(input:checked) {
								border: 1px solid #FC7044;

								svg {
									display: block;
								}
							}
						}
					}
				}
			}

		}
	}
}

/* .fast-order .flavor-count {
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
}

.fast-order .flavor-count .title {
	font-family: Noto Sans TC;
	font-size: 20px;
	font-weight: 400;
	line-height: 32px;
	letter-spacing: 0.05em;
	text-align: left;
	color: #453e3e;
}

.fast-order .flavor-count .note {
	white-space: nowrap;
} */

/* 套餐媒合 */
.match {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 60px;

	.checkbox {
		width: 20px;
		height: 20px;
		border-radius: 3px;
		border: 2px solid #fc7044;
		display: flex;
		justify-content: center;
		align-items: center;

		input {
			display: none;
		}

		.checkbox-indicator {
			background-color: transparent;
			border-radius: 1px;
			width: 12px;
			height: 12px;
		}

		&:has(input:checked) {
			.checkbox-indicator {
				background-color: #fc7044;
			}
		}
	}

	&>.title {
		color: #453E3E;

		font-family: Noto Sans TC;
		font-size: 20px;
		font-weight: 700;
		line-height: 32px;
		letter-spacing: 0.05em;

	}

	&>.groups {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;

		.group {
			position: relative;



			.main-meal-trigger {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 16px;
				padding: 10px 15px;
				border: 1px solid #EBEBEB;
				border-radius: 10px;
				background-color: #fff;
				color: #453E3E;
				font-family: Noto Sans TC;
				font-size: 20px;
				font-weight: 500;
				line-height: 32px;

				&:has(input:checked) {
					&+.popover {
						display: flex;
					}
				}

				input {
					display: none;
				}




			}

			.popover {
				display: none;
				position: absolute;
				top: 105%;
				left: 0%;
				background-color: #fff;
				padding: 40px 28px;
				border-radius: 30px;
				box-shadow: 0px 2px 4px 0px #00000040;
				z-index: 50;
				min-width: 500px;

				flex-direction: column;
				justify-content: start;
				align-items: start;
				gap: 20px;

				.title {
					font-family: Noto Sans TC;
					font-size: 20px;
					font-weight: 700;
					line-height: 32px;
					letter-spacing: 0.05em;

				}

				.flavor-type {
					width: 100%;
					display: flex;
					justify-content: space-between;
					align-items: center;

					.title {
						span {
							color: #A6A6A6;
							font-family: Noto Sans TC;
							font-size: 20px;
							font-weight: 400;
							line-height: 32px;
							letter-spacing: 0.05em;
							text-align: left;
							text-underline-position: from-font;
							text-decoration-skip-ink: none;
						}
					}

					.checkboxes {
						display: flex;
						gap: 10px;

						&>label {
							display: flex;
							justify-content: center;
							align-items: center;
							gap: 14px;
							padding: 8px 12.5px;
							border: 1px solid #EBEBEB;
							border-radius: 10px;
						}
					}

				}


			}

			&.desert,
			&.drink {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 16px;
				padding: 10px 15px;
				border: 1px solid #EBEBEB;
				border-radius: 10px;
				background-color: #fff;
				color: #453E3E;
				font-family: Noto Sans TC;
				font-size: 20px;
				font-weight: 500;
				line-height: 32px;
			}
		}
	}
}



.option {
	position: relative;
	border: 1px solid #ebebeb;
	display: flex;
	gap: 16px;
	justify-content: center;
	align-items: center;
	padding: 10px 15px;
	border-radius: 10px;
	white-space: nowrap;
}

.option:has(input:checked) {
	background-color: #ebebeb66;
}

.option input {
	display: none;
}

.option .checkbox {
	border: 2px solid #fc7044;
	border-radius: 9999px;
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.option:has(input:checked) .checkbox .checkbox-indicator {
	width: 12px;
	height: 12px;
	border-radius: 9999px;
	background-color: #fc7044;
}

.option .vegan-count {
	display: none;
}

.option:has(.vegan-count):has(input:checked) .vegan-count {
	display: block;
	position: absolute;
	left: calc(100% + 16px);
	top: 50%;
	transform: translateY(-50%);
}

/* 主要區塊 */
.main {
	/* padding: 0 48px 0; */
	position: relative;
	max-width: 1700px;
	margin: 0 auto;
}

.controls {
	display: flex;
	margin-bottom: 48px;
	padding: 0 clamp(12px, 2dvw, 24px);
	justify-content: start;
	align-items: center;
	gap: clamp(12px, 2dvw, 24px);
}

/* .main .controls .left {
	display: flex;
	flex-wrap: wrap;

} */

.switch {
	position: relative;
	display: inline-block;
	min-width: 167px;
	width: 167px;
	height: 60px;
}

/* Hide default HTML checkbox */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* The slider */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fc7044;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	box-shadow: 0px 2px 2px 0px #00000040 inset;
}

.slider:before {
	position: absolute;
	content: "";
	height: 50px;
	width: 50px;
	left: 5px;
	top: 50%;
	transform: translate(0, -50%);
	background-color: white;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	box-shadow: 0px 2px 2px 0px #00000040;
}

.switch .eat,
.switch .dont-eat {
	color: white;
	font-family: Noto Sans;
	font-size: 24px;
	font-weight: 700;
	line-height: 43.2px;
	letter-spacing: 0.05em;
	text-align: left;
	z-index: 10;
	transition: all 0.3s;
}

.switch .eat {
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	opacity: 1;
}

.switch .dont-eat {
	position: absolute;
	top: 50%;
	left: 24px;
	transform: translateY(-50%);
	opacity: 0;
}

input:checked+.slider {
	background-color: #abc3ff;
}

input:checked+.slider .dont-eat {
	opacity: 1;
}

input:checked+.slider .eat {
	opacity: 0;
}

input:checked+.slider:before {
	transform: translate(107px, -50%);
}

/* Rounded sliders */
.slider.round {
	border-radius: 9999px;
}

.slider.round:before {
	border-radius: 9999px;
}

.controls .tab {
	transition: all 0.2s;
	cursor: pointer;
	border-radius: 9999px;
	background-color: #fff;
	padding: 10px clamp(16px, 2dvw, 40px);
	box-shadow: 0px 4px 4px 0px #00000040;
	color: #231815;
	font-family: Noto Sans TC;
	font-size: clamp(16px, 1.8dvw, 24px);
	font-weight: 500;
	line-height: 38.4px;
	letter-spacing: 0.05em;
	text-align: left;
}

.controls .tab input {
	display: none;
}

.controls .tab:has(input:checked) {
	background-color: #fc7044;
	color: #fff;
}

#go-to-top {
	position: fixed;
	bottom: 3dvh;
	right: 2dvw;
	cursor: pointer;
	border: none;
	background-color: transparent;
}

.main .cards {
	width: 100%;

	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto;
	gap: 2dvw;
	margin-bottom: 250px;
	padding: 0 2dvw;
}

@media screen and (max-width: 1300px) {
	.main .cards {
		grid-template-columns: repeat(3, 1fr);

		padding: 0 2dvw;
	}
}

.main .cards .card {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	aspect-ratio: 384/518;
	box-shadow: 0px 4px 4px 0px #00000040;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
}

.main .cards .card .heart {
	position: absolute;
	top: 8px;
	right: 8px;
	border: none;
	background-color: transparent;
	z-index: 10;
}

.main .cards .card .gradient-layer {
	z-index: 5;

	position: absolute;
	top: 0;
	left: 0;
	height: 72px;
	width: 100%;
	background: linear-gradient(0deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(35, 24, 21, 0.75) 100%);
}

.main .cards .card .banner {
	aspect-ratio: 4/3;
	object-fit: cover;
	width: 100%;
}

.main .cards .card .content {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 1;
}

.main .cards .card .content .name {
	color: #453e3e;
	font-family: Noto Sans TC;
	font-size: 24px;
	font-weight: 700;
	line-height: 38.4px;
	letter-spacing: 0.05em;
	text-align: center;
}

.main .cards .card .content .info {
	color: #fc7044;
	font-family: Noto Sans TC;
	font-size: 20px;
	font-weight: 700;
	line-height: 32px;
	letter-spacing: 0.05em;
	text-align: center;
}

.main .cards .card .footer {
	width: 100%;
	height: fit-content;
}

.main .cards .card .footer button {
	border: none;
	width: 100%;
	display: block;
	padding: 16px;
	text-align: center;
	color: #453e3e;
	background-color: #ffd7b8;
	font-family: Noto Sans TC;
	font-size: 24px;
	font-weight: 700;
	line-height: 38.4px;
	letter-spacing: 0.05em;
	text-align: center;
	transition: all 0.3s;
}

.main .cards .card:hover .footer button {
	background-color: #fc7044;
	color: white;
}

/* middle banner */
.middle-banner {
	background-color: #f6eddc;
	box-shadow: 0px 4px 4px 0px #00000040;
	width: 100%;
	/* border: 1px solid red; */
	border-radius: 30px;
	padding: 0 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 40px;
	gap: 10%;
	margin-bottom: 200px;
}

.middle-banner .left {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
	color: #453e3e;
}

.middle-banner .left>h3 {
	font-family: Noto Sans;
	font-size: 64px;
	font-weight: 700;
	line-height: 115.2px;
	text-align: left;
	margin: 0;
}

.middle-banner .left>p {
	font-family: Noto Sans;
	font-size: 32px;
	font-weight: 700;
	line-height: 57.6px;
	text-align: left;
	margin: 0 0 43px;
}

.middle-banner .left .info-group {
	width: fit-content;
	background-color: #fefcf5;
	padding: 4px 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	color: #453e3e;
	font-family: Noto Sans;
	font-size: 20px;
	font-weight: 700;
	line-height: var(--app-safariaddress-bar-margin);
	text-align: left;
	border-radius: 9999px;
	white-space: nowrap;
}

.middle-banner .left .info-group .highlight {
	color: #fc7044;
	font-family: Noto Sans;
	font-size: 32px;
	font-weight: 700;
	line-height: 57.6px;
	text-align: center;
}

.middle-banner .right {
	width: 50%;
}

.middle-banner .right img {
	width: 100%;
}

/* goals */
.goals {
	margin-bottom: 200px;
	width: 100%;
}

.goals h3 {
	color: #fc7044;
	font-family: Noto Sans;
	font-size: 32px;
	font-weight: 700;
	line-height: 57.6px;
	text-align: center;
	margin-top: 0;
	margin-bottom: 48px;
}

.goals .three-goals {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5dvw;
}

.goals .three-goals .goal {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 14px;
	color: #0e5075;
	font-family: Noto Sans TC;
	font-size: 24px;
	font-weight: 500;
	line-height: 38.4px;
	letter-spacing: 0.05em;
	text-align: left;
}


.simple-steps {
	position: relative;
	border-radius: 30px;
	width: calc(100dvw - 4dvw);
	max-width: 1600px;
	margin: 0 auto;
	padding: 8dvw;
	box-shadow: 0px 4px 4px 0px #00000040;
	background-color: #fc7044;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	gap: 36px;
	margin-bottom: 160px;
}

.simple-steps .line {
	position: absolute;
	right: 0;
	bottom: 0;
}

.simple-steps h3 {
	font-family: Swei Marker Sans CJK TC;
	font-size: var(--app-safariaddress-bar-margin);
	font-weight: 700;
	line-height: 64.8px;
	letter-spacing: 1px;
	text-align: left;
	margin: 0;
	color: #fff;
}

.simple-steps button {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	background-color: #fff;
	border-radius: 9999px;
	padding: 20px 40px;
	color: #fc7044;
	font-family: Noto Sans TC;
	font-size: 20px;
	font-weight: 700;
	line-height: 32px;
	letter-spacing: 0.05em;
	text-align: center;
	border: none;
}

.tabs-group-mobile {
	display: none;
}



@media screen and (max-width: 1000px) {
	.top-info {
		display: none;
	}

	.hero {
		padding: 24px 32px 0;
		/* height: 246px; */
		margin-bottom: 16px;

		&>img {
			height: 246px !important;
		}

		&>.title {

			h2 {
				font-size: 20px;
				font-weight: 700;
				line-height: 28px;
				letter-spacing: 0.05em;
				margin-bottom: 16px;
			}

			p {
				font-size: 12px;
				font-weight: 400;
				line-height: 16.8px;
				letter-spacing: 0.05em;
			}

			button {

				font-size: 14px;
				font-weight: 700;
				line-height: 22.4px;


			}
		}

		.tabs-group {
			display: none;
		}
	}

	.tabs-group-mobile {
		display: block;
		width: fit-content;
		width: 100%;
		padding: 0 8dvw;

		.tabs {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 2px;
			border-radius: 9999px;
			background-color: #FFD7B8;
			padding: 2px;
			width: 100%;
			margin-bottom: 16px;

			.tab {
				flex: 1;
				padding: 9px 23.5px;
				border-radius: 9999px;
				border: none;
				font-family: Noto Sans TC;
				font-size: 14px;
				font-weight: 700;
				line-height: 19.6px;
				letter-spacing: 0.05em;
				text-align: center;
				text-underline-position: from-font;
				text-decoration-skip-ink: none;
				color: #453E3E;
				background-color: transparent;

				&.active {
					background-color: white;
					color: #FC7044;
				}
			}
		}

		.slogan {
			font-family: Swei Marker Sans CJK TC;
			font-size: 14px;
			font-weight: 700;
			line-height: 21px;
			letter-spacing: 1px;
			text-align: left;
			text-underline-position: from-font;
			text-decoration-skip-ink: none;
			color: #FC7044;
			margin-bottom: 16px;
		}

		.inputs {
			margin-bottom: 20px;

			h3 {
				margin: 0;
				padding: 12px 0;
				color: #FC7044;
				font-family: Noto Sans TC;
				font-size: 14px;
				font-weight: 400;
				line-height: 19.6px;
				letter-spacing: 0.05em;
				text-align: center;
				border-bottom: 1px solid #EBEBEB;
			}


			.input {
				width: 100%;
				display: flex;
				justify-content: space-between;
				align-items: center;
				gap: 16px;
				padding: 16px 0;
				border: none;
				border-bottom: 1px solid #EBEBEB;
				color: #453E3E;
				background-color: #fefcf5;

				&>label {
					color: #453E3E;
					font-family: Noto Sans TC;
					font-size: 14px;
					font-weight: 400;
					line-height: 19.6px;
					letter-spacing: 0.05em;
					text-align: left;
					text-underline-position: from-font;
					text-decoration-skip-ink: none;
				}

				&>div {
					display: flex;
					justify-content: center;
					align-items: center;
					gap: 12px;

					label {
						color: #a6a6a6;
					}

					.counter {
						gap: 8px;
					}


					input::-webkit-outer-spin-button,
					input::-webkit-inner-spin-button {
						-webkit-appearance: none;
						margin: 0;
					}

					input {
						position: relative;
						width: 100%;
						border: none;
						color: #453E3E;
						font-family: Noto Sans TC;
						font-size: 14px;
						font-weight: 400;
						line-height: 19.6px;
						letter-spacing: 0.05em;
						text-align: end;
						text-underline-position: from-font;
						text-decoration-skip-ink: none;


						&.count {
							background-color: #FEE7D5;
							border-radius: 5px;
							max-width: 40px;
							text-align: center;
						}
					}
				}

				&.checkbox {
					input {
						display: none;
					}

					.checkbox {
						margin-right: 0.5dvw;
						border: 2px solid #fc7044;
						border-radius: 3px;
						width: 16px;
						height: 16px;
						display: flex;
						justify-content: center;
						align-items: center;

						&:has(input:checked) {
							.checkbox-indicator {

								background-color: #fc7044;
							}
						}

						.checkbox-indicator {
							width: 8px;
							height: 8px;
							border-radius: 1px;
							color: transparent;
						}
					}
				}
			}
		}

		.search {
			background-color: #FC7044;
			border-radius: 9999px;
			border: none;
			width: 100%;
			padding: 12px 24px;
			margin-bottom: 100px;
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 10px;
			color: white;
			font-family: Noto Sans;
			font-size: 14px;
			font-weight: 700;
			line-height: 22.4px;
			letter-spacing: 0.03em;
			text-align: left;
			text-underline-position: from-font;
			text-decoration-skip-ink: none;
		}
	}

	.controls {
		max-width: 100dvw;
		justify-content: center;
		flex-wrap: nowrap;
		margin: 0 auto;
		overflow-x: auto;
		overflow-y: auto;
		padding: 1dvw clamp(280px, 2dvw, 300px);

		margin-bottom: 24px;

		&::-webkit-scrollbar {
			display: none;
		}

		.eating-switch {
			min-width: 80px;
			width: 80px;
			height: 28px;

			.eat {
				right: 10px;
			}

			.dont-eat {
				left: 10px;
			}

			input:checked+.slider:before {
				transform: translate(54px, -50%);
			}

			.slider {
				&:before {
					height: 22px;
					width: 22px;
					left: 2px;
				}

				div {
					font-size: 14px;
					font-weight: 700;
					line-height: 22.4px;
					letter-spacing: 0.03em;
				}
			}


		}

		.tab {
			padding: 3px 12px;
			font-size: 14px;
			font-weight: 700;
			line-height: 22.4px;
			letter-spacing: 0.03em;
			white-space: nowrap;
		}



	}

	.main {

		.cards {
			padding: 0 8dvw;
			grid-template-columns: repeat(1, 1fr);
			gap: 24px;
			/* display: none; */

			.card {
				border-end-start-radius: 0;
				border-end-end-radius: 0;
				aspect-ratio: auto;
				box-shadow: none;
				/* overflow: visible; */

				img {
					border-radius: 20px;
					aspect-ratio: 350/164 !important;
				}

				.content {
					padding-top: 8px;
					justify-content: space-between;
					flex-direction: row;

					* {

						font-size: 14px !important;

						line-height: 22.4px !important;
					}
				}

				.footer {
					display: none;
				}
			}
		}

		.goals {
			width: 100%;
			padding: 40px 8dvw 100px;
			margin-bottom: 0;

			h3 {
				font-size: 20px;
				font-weight: 700;
				line-height: 28px;
				letter-spacing: 0.05em;
			}

			.three-goals {
				width: 100%;
				flex-direction: column;
				justify-content: start;
				align-items: center;

				.goal {
					width: 100%;
					padding: 14px 21px;
					background-color: #EBEBEB;
					border-radius: 15px;
					flex-direction: row;
					gap: 23px;

					img {
						width: 72px;
					}

					p {
						font-size: 16px;
						font-weight: 700;
						line-height: 22.4px;
						letter-spacing: 0.05em;
					}
				}
			}
		}

		.simple-steps {
			width: 100%;
			border-radius: 0;
			margin: 0;
			padding: 72px 38px;
			margin-bottom: 140px;
			box-shadow: none;

			h3 {
				font-family: Swei Marker Sans CJK TC;
				font-size: 20px;
				font-weight: 700;
				line-height: var(--app-safariaddress-bar-margin);
				letter-spacing: 1px;
				text-align: center;
				text-underline-position: from-font;
				text-decoration-skip-ink: none;
			}

			button {
				padding: 9px 40px;
				font-size: 14px;
				font-weight: 700;
				line-height: 22.4px;
			}
		}
	}
}