.appointment-popup {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: fit-content;
	height: 100dvh;
	overflow: auto;
	z-index: 1000;
	background-color: var(--color-white);
	&.video-popup {
		width: 100%;
		overflow: hidden;
		.video-popup-wrapper {
			position: relative;
			width: 100%;
			height: 100%;
			&.playing {
				.video-popup-image-bg {
					display: none;
				}
				.video-controls {
					&:hover {
						.video-control-pause {
							opacity: 1;
							transition: opacity 0.3s ease-in-out;
						}
					}
					.video-control-pause {
						opacity: 0;
					}
					.video-control-play {
						display: none;
					}
				}
			}
			&.paused {
				.video-popup-image-bg {
					display: block;
				}
				.video-controls {
					.video-control-pause {
						display: none;
					}
					.video-control-play {
						display: block;
					}
				}
			}
		}
		.video-popup-image-bg {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			left: 0;
			z-index: 3;
			width: 100%;
			height: 100%;
		}
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		.video-popup-video {
			position: relative;
			top: 0;
			left: 0;
			right: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 2;
			background: #000000;
			video {
				cursor: pointer;
			}
		}
		video {
			transform: translateY(-50%);
			top: 50%;
			position: relative;
			width: 100%;
		}
		.video-popup-close {
			cursor: pointer;
			z-index: 5;
			top: 20px;
			right: 20px;
			width: 36px;
			height: 36px;
			background: #121212;
			position: absolute;
			svg {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				margin: auto;
				path {
					stroke: #FFFFFF;
				}
			}
		}
		.video-controls {
			width: 44px;
			height: 44px;
			z-index: 5;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			cursor: pointer;
			opacity: 0.7;
			transition: opacity 0.3s ease-in-out;
			&:hover {
				opacity: 1;
				transition: opacity 0.3s ease-in-out;
			}
			svg {
				width: 100%;
				height: 100%;
				object-fit: contain;
			}
		}
		.video-control-play {
			width: 100%;
			height: 100%;
		}
		.video-control-pause {
			position: relative;
			width: 100%;
			height: 100%;
			&:before, &:after {
				content: '';
				width: 18px;
				height: 100%;
				background: #FFFFFF;
				position: absolute;
				display: block;
				border-radius: 4px;
			}
			&:after {
				right: 0;
			}
		}
	}
	&.content-drawer-popup {
		.appointment-popup__content__header {
			h2 {
				color: var(--color-black);
				font-size: 22px;
				font-style: normal;
				font-weight: 500;
				line-height: 24px;
				letter-spacing: 1px;
				text-transform: uppercase;
				font-family: var(--font-heading-family);
			}
		}
		.drawer-popup__title-wrapper {
			margin-top: 56px;
			&:first-child {
				margin-top: 0;
			}
			.drawer-popup__title {
				color: var(--color-black);
				font-size: 22px;
				font-style: normal;
				font-weight: 500;
				line-height: 24px;
				letter-spacing: 1px;
				text-transform: uppercase;
			}
		}
		.drawer-popup__image-wrapper {
			margin-top: 36px;
			margin-bottom: 0;
			&:first-child {
				margin-top: 0;
			}
		}
		.drawer-popup__text-wrapper {
			margin-top: 36px;
			p {
				color: var(--color-deep-gold);
			}
		}
		.button-group {
			margin: 16px 0;
			a {
				width: 100%;
			}
		}
	}
}

.appointment-popup__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(104, 81, 51, 0.14);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 998;
}

.appointment-popup__overlay--active {
  display: block;
}

.appointment-popup__content {
   padding: 28px;
   max-width: 520px;
   width: 100%;
}

.appointment-popup__content__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
}

.appointment-popup__title {
	font-family: var(--font-body-family);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: var(--Spacing-System-24px, 24px); /* 133.333% */
	letter-spacing: 0.4px;
	color: var(--color-black);
	margin: 0;
	text-transform: none;
}

.appointment-popup__close {
	cursor: pointer;
}

.book_appointment {
	color: var(--color-deep-gold);
	font-family: var(--font-heading-family);
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	line-height: 12px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	margin-top: 30px;
}
.appointment-popup__content__body {
	font-family: var(--font-heading-family);
}

button.action.next.submit.line_rounded-button.wizard__submit {
	width: 100%;
}
.checkbox-wrapper, .radio-wrapper {
	box-shadow: none !important;
	padding-left: 22px!important;
}
.globo-form-control.layout-1-column {
	padding: 0;
}

.globo-form-control .globo-form-input textarea {
	box-shadow: none !important;
	border: 1px solid #b7b7b7 !important;
	padding: 10px !important;
}

.gfb-style-line_rounded .globo-form-control .globo-form-input input:focus,
.gfb-style-line_rounded .globo-form-control .globo-form-input select:focus {
	box-shadow: var(--color-black) 0px 1px;
}

.globo-form-app .message.success {
	color: var(--color-black)!important;
	background-color: var(--color-gray-100)!important;
	font-family: var(--font-heading-family)!important;
}

/* Product Details Styles */
.appointment-popup__product-details {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 14px;
}

.appointment-popup__product-details-image {
	flex-shrink: 0;
	width: 80px;
	height: 100px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-gray-100);
}

.appointment-popup__product-details-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.appointment-popup__product-details-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	min-width: 0;
}

.appointment-popup__product-details-title {
	font-family: var(--font-heading-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: 0.4px;
	color: var(--color-black);
	margin: 0;
	text-transform: none;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.appointment-popup__product-details-price {
	font-family: var(--font-body-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 1em;
	color: var(--color-deep-gold);
	margin: 0;
}

.globo-form-app.default-layout {
    margin-top: 0;
    margin-bottom: 0;
}

.globo-form-app.gfb-style-line_rounded .globo-form-control select {
    border-bottom: 1px solid rgba(var(--gfb-color-text), 0.3);
    box-shadow: none;
}

.appointment-popup__content:after {
    content: "";
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    max-width: 538px;
    right: 0;
    height: 28px;
    z-index: 100;
    background: linear-gradient(to top, rgb(255 255 255) 15%, rgba(255, 255, 255, 0) 100%);
}

.appointment-popup__content__body {
	.drawer-popup__image-wrapper {
		display: flex;
		margin-bottom: 35px;
		img {
			width: 100%;
			height: auto;
		}
	}
	.drawer-popup__title-wrapper {
		h2 {
			color: var(--color-deep-gold);
			font-family: var(--font-heading-family);
			font-size: 13px;
			font-style: normal;
			font-weight: 500;
			line-height: 14px;
			letter-spacing: 0.6px;
			margin: 0;
			text-transform: uppercase;
		}
	}
	.drawer-popup__text-wrapper {
		margin-top: 16px;
		p {
			&:last-child {
				margin-bottom: 0;
			}
			margin: 0 0 16px;
			color: #121212;
			font-size: 14px;
			font-weight: 500;
			line-height: 24px;
			letter-spacing: 0.4px;
			font-family: var(--font-body-family);
		}
		a {
			color: inherit;
			font-family: inherit;
			font-size: inherit;
			font-weight: inherit;
			line-height: inherit;
			&:hover {
				color: var(--color-deep-gold);
			}
		}
	}
	.drawer-popup__size-table-wrapper {
		margin-top: 44px;
		table {
			max-width: 464px;
			width: 100%;
			box-shadow: none;
			border: 1px solid #EFEFEF;
			tr, td, th {
				border-color: #EFEFEF;
				text-align: center;
			}
			tr {
				&:first-child {
					td {
						color: var(--color-deep-gold);
						font-family: var(--font-body-family);
						font-size: 14px;
						font-style: normal;
						font-weight: 500;
						line-height: 14px;
						text-transform: none;
					}
				}
			}
			td {
				color: #121212;
				font-family: var(--font-heading-family);
				font-size: 13px;
				font-style: normal;
				font-weight: 400;
				line-height: 13px;
				padding: 12px 10px;
				p {
					margin: 0;
					font-size: inherit;
					font-family: inherit;
					font-weight: inherit;
					line-height: inherit;
					color: inherit;
					text-transform: inherit;
					text-align: inherit;
					padding: 0;
					border: 0;
					box-shadow: none;
				}
			}
		}
	}
}