.expop-overlay{
	--expop-accent:#1a9fd4;
	--expop-text:#1f2b3a;
	--expop-radius:16px;
	position:fixed;
	inset:0;
	z-index:99999;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
	background:rgba(15,25,40,.55);
	opacity:0;
	transition:opacity .22s ease;
	box-sizing:border-box;
}
.expop-overlay[hidden]{display:none;}
.expop-overlay.is-open{opacity:1;}
.expop-overlay *{box-sizing:border-box;}

/* Defensywny reset — motyw nie może narzucać swoich stylów przyciskom/polom. */
.expop-overlay button{
	margin:0;
	padding:0;
	border:0;
	background:none;
	box-shadow:none;
	font-family:inherit;
	line-height:normal;
	text-transform:none;
	letter-spacing:normal;
	width:auto;
	min-height:0;
	min-width:0;
	float:none;
	text-shadow:none;
	appearance:none;
	-webkit-appearance:none;
}
.expop-overlay button svg,
.expop-overlay .expop-input-icon svg{width:auto;height:auto;max-width:none;vertical-align:middle;}
.expop-overlay input{margin:0;float:none;box-shadow:none;min-height:0;line-height:normal;}

html.expop-lock{overflow:hidden;}

.expop-modal{
	position:relative;
	display:flex;
	width:100%;
	max-width:820px;
	background:#fff;
	color:var(--expop-text);
	border-radius:var(--expop-radius,0);
	overflow:hidden;
	box-shadow:0 30px 80px rgba(10,25,50,.35);
	transform:translateY(14px) scale(.98);
	transition:transform .22s ease;
	font-family:inherit;
}
.expop-overlay.is-open .expop-modal{transform:none;}

/* Zamknij */
.expop-overlay .expop-close{
	position:absolute!important;
	top:14px;
	right:16px;
	left:auto;
	width:34px!important;
	height:34px!important;
	flex:0 0 auto;
	display:inline-flex;align-items:center;justify-content:center;
	color:#8a97a5;
	cursor:pointer;border-radius:8px;
	transition:color .15s ease,background .15s ease;
	z-index:3;
}
.expop-overlay .expop-close:hover{color:#33414f;background:rgba(0,0,0,.05);}

/* Lewy panel */
.expop-side{
	flex:0 0 41%;
	background:var(--expop-accent);
	color:#fff;
	padding:40px 32px;
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
}
.expop-badge{
	width:150px;height:150px;
	border-radius:50%;
	background:#fff;
	color:var(--expop-accent);
	display:flex;flex-direction:column;
	align-items:center;justify-content:center;
	margin:8px 0 20px;
	box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.expop-badge-value{font-size:44px;font-weight:800;line-height:1;}
.expop-badge-label{font-size:14px;font-weight:700;letter-spacing:.14em;margin-top:4px;}
.expop-offer-title{font-size:24px;font-weight:800;line-height:1.2;margin:0 0 24px;}
.expop-bullets{list-style:none;margin:30px 0 0;padding:0;width:100%;text-align:left;display:flex;flex-direction:column;gap:16px;}
.expop-bullets li{display:flex;align-items:center;gap:12px;font-size:15px;}
.expop-bullets .expop-check{
	flex:0 0 auto;
	width:24px;height:24px;
	border-radius:50%;
	background:#fff;
	color:var(--expop-accent);
	display:inline-flex;align-items:center;justify-content:center;
}
.expop-bullets .expop-check svg{width:14px;height:14px;}

/* Prawy panel */
.expop-main{flex:1 1 auto;padding:44px 44px 32px;min-width:0;}
.expop-title{font-size:30px;font-weight:800;line-height:1.15;margin:0 0 14px;color:var(--expop-text);text-wrap:balance;overflow-wrap:break-word;}
.expop-subtitle{font-size:16px;line-height:1.5;color:#5a6b7b;margin:0 0 22px;max-width:34ch;text-wrap:pretty;}
.expop-divider{border:0;border-top:1px solid #e7ecf1;margin:0 0 22px;}

.expop-field-label{display:block;font-size:14px;font-weight:700;color:var(--expop-text);margin-bottom:8px;}
.expop-input{position:relative;display:flex;align-items:center;}
.expop-input-icon{position:absolute;left:14px;color:#9aa7b4;display:inline-flex;pointer-events:none;}
.expop-overlay .expop-input input{
	width:100%;
	height:54px;
	padding:0 16px 0 48px!important;
	text-indent:0;
	font-size:15px;
	border:1px solid #d3dbe3;
	border-radius:0;
	color:var(--expop-text);
	background:#fff;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.expop-overlay .expop-input input:focus{outline:0;border-color:var(--expop-accent);box-shadow:0 0 0 3px rgba(26,159,212,.15);}
.expop-input-icon{left:16px;}

.expop-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}

/* Przycisk — wyższa specyficzność niż reset .expop-overlay button. */
.expop-overlay .expop-submit{
	width:100%;
	height:54px;
	margin-top:14px;
	padding:0 20px;
	display:flex;align-items:center;justify-content:center;gap:10px;
	background:var(--expop-accent);
	color:#fff;
	border:0;border-radius:0;
	font-size:16px;font-weight:800;letter-spacing:.02em;
	cursor:pointer;
	transition:filter .15s ease,transform .05s ease;
}
.expop-overlay .expop-submit:hover{filter:brightness(.94);}
.expop-overlay .expop-submit:active{transform:translateY(1px);}
.expop-overlay .expop-submit.is-loading{opacity:.75;cursor:progress;}
.expop-overlay .expop-submit .expop-submit-icon{display:inline-flex;}

.expop-consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13px;color:#6a7785;line-height:1.45;cursor:pointer;}
.expop-consent input{margin-top:2px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--expop-accent);}

.expop-error{margin:12px 0 0;font-size:13px;color:#c0392b;font-weight:600;}

.expop-trust{display:flex;flex-direction:column;gap:12px;margin-top:18px;}
.expop-secure{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#33414f;}
.expop-secure svg{color:#33414f;flex:0 0 auto;}
.expop-rating{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;}
.expop-stars{display:inline-flex;color:#fbbc04;line-height:0;gap:4px;}
.expop-rating-text{font-size:13px;color:#8a97a5;letter-spacing:.03em;white-space:nowrap;}

.expop-overlay .expop-decline{
	display:block;
	margin:20px auto 0;
	width:auto;
	font-size:13px;
	color:#8a97a5;
	text-decoration:underline!important;
	text-underline-offset:2px;
	cursor:pointer;
}
.expop-overlay .expop-decline:hover{color:#5a6b7b;}

/* Sukces */
.expop-success{text-align:center;padding:10px 0;}
.expop-success-check{
	width:60px;height:60px;border-radius:50%;
	background:var(--expop-accent);color:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	margin-bottom:16px;
}
.expop-success-check svg{width:30px;height:30px;}
.expop-success-title{font-size:22px;font-weight:800;margin:0 0 16px;color:var(--expop-text);}
.expop-code{
	display:inline-block;
	font-size:24px;font-weight:800;letter-spacing:.18em;
	color:var(--expop-accent);
	background:#eef7fc;
	border:2px dashed var(--expop-accent);
	border-radius:10px;
	padding:12px 24px;
	cursor:pointer;
	transition:background .15s ease;
}
.expop-code:hover{background:#e2f1fa;}
.expop-code.is-copied{position:relative;}
.expop-code.is-copied::after{content:'Skopiowano ✓';position:absolute;top:-26px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:normal;font-weight:600;color:#2e7d32;white-space:nowrap;}
.expop-success-text{font-size:14px;color:#5a6b7b;margin:16px 0 0;line-height:1.5;}

/* Responsywność */
@media (max-width:768px){
	.expop-modal{flex-direction:column;max-width:420px;max-height:92vh;overflow-y:auto;}
	.expop-side{flex:0 0 auto;padding:32px 24px 26px;}
	.expop-badge{width:110px;height:110px;margin-bottom:16px;}
	.expop-badge-value{font-size:34px;}
	.expop-offer-title{font-size:20px;margin-bottom:16px;}
	.expop-bullets{margin-top:4px;}
	.expop-main{padding:28px 24px 26px;}
	.expop-title{font-size:23px;}
	.expop-subtitle{font-size:15px;}
	.expop-close{color:#fff;}
	.expop-close:hover{color:#fff;background:rgba(255,255,255,.2);}
}
