.fgps-panel {
	box-shadow: 0.3rem 0.3rem 0.3rem rgb(75 54 66 / 15%) !important;
    border: none;
    outline: 0.2rem dashed var(--roze) !important;
    outline-offset: -0.2rem;
    background-color: #ffffff !important;
    padding: 2rem !important;
    border-radius: 2rem !important;
    margin-bottom: 3rem;
}

.woocommerce-notices-wrapper + .fgps-panel{
	margin-top: 3rem;
}

td.product-name:has(.fgps-cart-badge) {
    display: inline-flex !important;
    gap: 0.5rem;
    flex-direction: column;
}

.fgps-panel__content {
    --default-margin-bottom: 1rem;
    margin-bottom: 1rem;
}

.fgps-panel__title {
	font-family: var(--heading_font);
    font-size: 2.2rem;
    line-height: normal;
    text-wrap-style: balance;
}

.fgps-cart-badge {
	z-index: 25;
    font-family: Lato;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.055rem;
    border-radius: 0.5rem;
    padding: 0.7rem 1rem;
    background: #c4edd4;
    white-space: nowrap;
    height: fit-content;
    width: fit-content;
}

.fgps-modal[hidden] {
	display: none;
}

.fgps-modal {
	inset: 0;
	position: fixed;
	z-index: 999999;
}

.fgps-modal__overlay {
	background: rgba(12, 18, 16, 0.55);
	inset: 0;
	position: absolute;
}

.fgps-modal__dialog {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.2);
	display: flex;
	flex-direction: column;
	left: 50%;
	max-height: min(780px, calc(100vh - 48px));
	max-width: 980px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100vw - 32px);
	box-shadow: 0.3rem 0.3rem 0.3rem rgb(75 54 66 / 15%) !important;
	border: none;
	outline: 0.2rem dashed var(--roze) !important;
	outline-offset: -0.2rem;
	background-color: #ffffff !important;
	border-radius: 2rem !important;
}

.fgps-modal__header,
.fgps-modal__pager {
	align-items: center;
	border-bottom: 1px solid #e6e8e7;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 14px 18px;
}

.fgps-modal__header h2 {
	line-height: 1;
	margin: 0;
	font-size: clamp(1.875rem, 1.2663rem + 3.0435vw, 3.625rem);
	font-family: var(--heading_font);
}

.fgps-modal__close {
	background: transparent;
	border: 0;
	color: var(--donker_roze) !important;
	cursor: pointer;
	font-size: 2.8rem;
	line-height: 1;
	padding: 0 4px;
}

.fgps-modal__status {
	color: #385246;
	min-height: 20px;
	padding: 10px 18px 0;
}

.fgps-modal__grid {
	display: block;
	overflow: auto;
	padding: 18px;
	position: relative;
}

.fgps-modal__grid ul.products {
	margin-bottom: 0;
}

.fgps-is-loading {
	min-height: 10rem;
	pointer-events: none;
}

.fgps-is-loading::before {
	background: rgba(255, 255, 255, 0.78);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 50;
}

.fgps-is-loading::after {
	animation: fgps-spin 1s ease-in-out infinite;
	background: var(--paars);
	border-radius: 50%;
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M320.3 93.7C322.8 76.2 339 64.1 356.5 66.6C480.6 84.4 576 191 576 320C576 353.5 569.5 385.6 557.8 415.1C551.2 431.5 532.6 439.5 516.2 432.9C499.8 426.3 491.8 407.7 498.4 391.3C507.2 369.3 512.1 345.3 512.1 320C512.1 223.3 440.6 143.3 347.6 129.9C330.1 127.4 318 111.2 320.5 93.7z' fill='%23fff'/%3E%3C/svg%3E");
	display: inline-block;
	height: 4rem;
	left: 50%;
	max-width: 100%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 4rem;
	z-index: 51;
}

@keyframes fgps-spin {
	from {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

.fgps-modal__pager {
	border-bottom: 0;
	border-top: 1px solid #e6e8e7;
}

body.fgps-modal-open {
	overflow: hidden;
}

body.woocommerce ul.products li.product a.button.fgps-product__add {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

@media (max-width: 760px) {
	.fgps-panel {
		align-items: stretch;
		flex-direction: column;
	}

	.fgps-modal__dialog {
		max-height: calc(100vh - 20px);
		width: calc(100vw - 20px);
	}
}
