/* ── PFW Widget 4: Card + Popup ──────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
.pfwcp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* ── CARD ────────────────────────────────────────────────────────────────── */
.pfwcp-card{
	background:#fff;border-radius:12px;padding:32px 28px;
	display:flex;flex-direction:column;gap:20px;
	max-width:380px;
}
.pfwcp-heading{margin:0;font-size:28px;font-weight:800;color:#000;line-height:1.15}

/* Card button */
.pfwcp-card-btn{
	display:inline-flex;align-items:stretch;width:100%;
	background:#C2FF83;color:#000;border:none;cursor:pointer;
	font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
	white-space:nowrap;transition:background .2s;padding:0;outline:none;
	justify-content:space-between;
}
.pfwcp-card-btn:hover{background:#a8e86a}
.pfwcp-card-btn:focus-visible{outline:2px solid #C2FF83;outline-offset:2px}
.pfwcp-card-btn-label{display:flex;align-items:center;padding:15px 24px}
.pfwcp-card-btn-icon{display:flex;align-items:center;justify-content:center;padding:0 18px;border-left:1px solid rgba(0,0,0,.2);font-size:17px}

/* Testimonial */
.pfwcp-testimonial{border-top:1px solid #eee;padding-top:18px;display:flex;flex-direction:column;gap:8px}
.pfwcp-quote-mark{color:#C2FF83;font-size:28px;line-height:1}
.pfwcp-testimonial-text{margin:0;font-size:15px;color:#222;line-height:1.6}
.pfwcp-highlight{color:#C2FF83}
.pfwcp-author{margin:0;font-size:14px;font-weight:700;color:#000}

/* ── OVERLAY ─────────────────────────────────────────────────────────────── */
.pfwcp-overlay{
	display:none;position:fixed;inset:0;z-index:999999;
	background:rgba(0,0,0,.82);align-items:center;justify-content:center;
	padding:20px;overflow-y:auto;
}
.pfwcp-overlay.pfwcp-open{display:flex}

/* ── MODAL ───────────────────────────────────────────────────────────────── */
.pfwcp-modal{
	position:relative;background:#181818;border-radius:8px;
	padding:48px;width:100%;max-width:520px;
	animation:pfwcpIn .2s ease;
}
@keyframes pfwcpIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

.pfwcp-modal-close{
	position:absolute;top:16px;right:16px;background:#333;border:none;
	border-radius:50%;color:#fff;cursor:pointer;font-size:13px;
	width:32px;height:32px;display:flex;align-items:center;justify-content:center;
	transition:background .2s;
}
.pfwcp-modal-close:hover{background:#555}
.pfwcp-modal-title{margin:0 0 8px;font-size:30px;font-weight:700;color:#C2FF83;line-height:1.2}
.pfwcp-modal-subtitle{margin:0 0 24px;color:#ccc;font-size:15px;font-weight:600;line-height:1.5}

/* Fields */
.pfwcp-modal-fields{display:flex;flex-direction:column;gap:20px}
.pfwcp-field-wrap{display:flex;flex-direction:column;gap:4px}
.pfwcp-field{
	width:100%;background:transparent;border:none;border-bottom:1px solid #444;
	color:#fff;font-size:15px;padding:10px 0;outline:none;
	transition:border-color .2s;font-family:inherit;resize:vertical;
}
.pfwcp-field::placeholder{color:#666}
.pfwcp-field:focus{border-bottom-color:#C2FF83}
.pfwcp-field.pfwcp-error{border-bottom-color:#ff4444}
.pfwcp-errmsg{color:#ff4444;font-size:12px;display:none}
.pfwcp-errmsg.visible{display:block}
textarea.pfwcp-field{min-height:90px}

/* Footer */
.pfwcp-modal-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:8px}

/* Rating */
.pfwcp-rating{display:flex;align-items:center;gap:12px}
.pfwcp-rating-badge{background:#C2FF83;color:#000;font-size:20px;font-weight:900;width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pfwcp-rating-info{display:flex;flex-direction:column;line-height:1.3}
.pfwcp-rating-score{color:#fff;font-size:18px;font-weight:700}
.pfwcp-rating-stars{color:#C2FF83;font-size:13px;letter-spacing:2px}
.pfwcp-rating-label{color:#aaa;font-size:11px}

/* Submit */
.pfwcp-submit{
	display:inline-flex;align-items:stretch;background:#C2FF83;color:#000;
	border:none;cursor:pointer;font-size:12px;font-weight:700;
	letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;
	transition:background .2s;padding:0;outline:none;flex-shrink:0;
}
.pfwcp-submit:hover{background:#a8e86a}
.pfwcp-submit:focus-visible{outline:2px solid #C2FF83;outline-offset:2px}
.pfwcp-submit.loading{opacity:.65;pointer-events:none}
.pfwcp-submit-label{display:flex;align-items:center;padding:16px 28px}
.pfwcp-submit-icon{display:flex;align-items:center;justify-content:center;padding:0 16px;border-left:1px solid rgba(0,0,0,.2);font-size:16px}

/* Message */
.pfwcp-msg{margin:8px 0 0;font-size:14px;min-height:18px;text-align:center}
.pfwcp-msg.ok{color:#C2FF83}
.pfwcp-msg.err{color:#ff4444}

/* Responsive */
@media(max-width:600px){
	.pfwcp-modal{padding:32px 20px}
	.pfwcp-modal-footer{flex-direction:column;align-items:flex-start}
	.pfwcp-submit{width:100%;justify-content:space-between}
}

/* ── FA Icon system additions ─────────────────────────────────────────────── */
.pfwcp-card-btn.pfwcp-has-icon{padding:0}
.pfwcp-card-btn:not(.pfwcp-has-icon) .pfwcp-card-btn-label{padding:15px 24px;display:flex;align-items:center}
.pfwcp-card-btn-icon{display:flex;align-items:center;justify-content:center;padding:0 16px}
.pfwcp-card-btn-icon.pfwcp-icon-divider{border-left:1px solid rgba(0,0,0,.2)}
.pfwcp-icon-left.pfwcp-icon-divider{border-left:none;border-right:1px solid rgba(0,0,0,.2)}
.pfwcp-card-btn-icon i{font-size:16px;color:#000;transition:color .2s,font-size .2s}

.pfwcp-submit.pfwcp-has-icon{padding:0}
.pfwcp-submit:not(.pfwcp-has-icon) .pfwcp-submit-label{padding:16px 28px;display:flex;align-items:center}
.pfwcp-submit-icon{display:flex;align-items:center;justify-content:center;padding:0 16px}
.pfwcp-submit-icon.pfwcp-icon-divider{border-left:1px solid rgba(0,0,0,.2)}
.pfwcp-submit-icon.pfwcp-icon-left.pfwcp-icon-divider{border-left:none;border-right:1px solid rgba(0,0,0,.2)}
.pfwcp-submit-icon i{font-size:16px;color:#000;transition:color .2s,font-size .2s}
