/*!*************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./js/src/frontend/styles/base.css ***!
  \*************************************************************************************************************************************************************************************/
/* ============================================================
   GF Popups – Frontend Styles
   ============================================================ */

/* ---- Shared ---- */

.gf-popups-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.06);
	color: #555;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.gf-popups-close:hover {
	background: rgba(0, 0, 0, 0.12);
	color: #111;
}

.gf-popups-content {
	position: relative;
	width: 100%;
}

.gf-popups-iframe {
	display: block;
	width: 100%;
	min-height: 100px;
	border: none;
}

/* ---- Standard Modal ---- */

.gf-popups-overlay {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.gf-popups-overlay--visible {
	opacity: 1;
	pointer-events: auto;
}

.gf-popups-backdrop {
	position: absolute;
	inset: 0;
}

.gf-popups-dialog {
	position: relative;
	max-width: 95vw;
	max-height: 90vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	transform: translateY(16px) scale(0.97);
	transition: transform 0.3s ease;
}

.gf-popups-overlay--visible .gf-popups-dialog {
	transform: translateY(0) scale(1);
}

/* ---- Corner Widget ---- */

.gf-popups-corner {
	position: fixed;
	max-width: 95vw;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

.gf-popups-corner--visible {
	opacity: 1;
	pointer-events: auto;
}

.gf-popups-corner--bottom-right {
	bottom: 20px;
	right: 20px;
	transform: translateY(20px);
}

.gf-popups-corner--bottom-right.gf-popups-corner--visible {
	transform: translateY(0);
}

.gf-popups-corner--bottom-left {
	bottom: 20px;
	left: 20px;
	transform: translateY(20px);
}

.gf-popups-corner--bottom-left.gf-popups-corner--visible {
	transform: translateY(0);
}

.gf-popups-corner--top-right {
	top: 20px;
	right: 20px;
	transform: translateY(-20px);
}

.gf-popups-corner--top-right.gf-popups-corner--visible {
	transform: translateY(0);
}

.gf-popups-corner--top-left {
	top: 20px;
	left: 20px;
	transform: translateY(-20px);
}

.gf-popups-corner--top-left.gf-popups-corner--visible {
	transform: translateY(0);
}

/* ---- Banner ---- */

.gf-popups-banner {
	position: fixed;
	left: 0;
	right: 0;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

.gf-popups-banner--visible {
	opacity: 1;
	pointer-events: auto;
}

.gf-popups-banner--top {
	top: 0;
	transform: translateY(-100%);
}

.gf-popups-banner--top.gf-popups-banner--visible {
	transform: translateY(0);
}

.gf-popups-banner--bottom {
	bottom: 0;
	transform: translateY(100%);
}

.gf-popups-banner--bottom.gf-popups-banner--visible {
	transform: translateY(0);
}

.gf-popups-banner__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

/* ---- Fullscreen ---- */

.gf-popups-fullscreen {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow-y: auto;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.gf-popups-fullscreen--visible {
	opacity: 1;
	pointer-events: auto;
}

.gf-popups-fullscreen__inner {
	position: relative;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
	padding: 40px 20px;
}

.gf-popups-fullscreen__inner .gf-popups-content {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	transform: scale(0.95);
	transition: transform 0.3s ease;
}

.gf-popups-fullscreen--visible .gf-popups-fullscreen__inner .gf-popups-content {
	transform: scale(1);
}


/*# sourceMappingURL=gf-popups-frontend.css.map*/