/**
 * Newsletter Widget
 */

/* ========================================
   CSS VARIABLES
   ======================================== */
.snpa-newsletter {
	--nw-bg: #F3EFEA;
	--nw-dark: #1C1C1C;
	--nw-muted: #6B6560;
	--nw-placeholder: #9C9792;
	--nw-border: #E8E4DF;
	--nw-white: #FFFFFF;
	--nw-radius: 16px;
	--nw-radius-pill: 50px;
	--nw-shadow-md: 0 4px 20px rgba(28, 28, 28, 0.06);
	--nw-transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	--nw-transition-smooth: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	--nw-padding-x: 40px;
	--nw-padding-y: 70px;
	--nw-padding-x-mobile: 20px;
	--nw-padding-y-mobile: 40px;
	--nw-max-width: 440px;
}

/* ========================================
   SECTION WRAPPER
   ======================================== */
.snpa-newsletter {
	text-align: center;
	padding: var(--nw-padding-y) var(--nw-padding-x);
	background: var(--nw-bg);
	border-radius: var(--nw-radius);
	margin: 40px 0;
}

/* ========================================
   TITLE
   ======================================== */
.snpa-newsletter__title {
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 500;
	letter-spacing: -0.015em;
	margin-bottom: 10px;
	line-height: 1.2;
}

/* ========================================
   DESCRIPTION
   ======================================== */
.snpa-newsletter__desc {
	font-size: 14px;
	color: var(--nw-muted);
	margin-bottom: 28px;
	line-height: 1.6;
}

/* ========================================
   FORM
   ======================================== */
.snpa-newsletter__form {
	display: flex;
	gap: 10px;
	max-width: var(--nw-max-width);
	margin: 0 auto;
}

.snpa-newsletter__input {
	flex: 1;
	padding: 14px 20px;
	border: 1.5px solid var(--nw-border);
	border-radius: var(--nw-radius-pill);
	font-size: 14px;
	font-family: inherit;
	background: var(--nw-white);
	color: var(--nw-dark);
	outline: none;
	transition: all var(--nw-transition-fast);
	letter-spacing: 0.01em;
}

.snpa-newsletter__input:focus {
	border-color: var(--nw-dark);
	box-shadow: 0 0 0 3px rgba(28, 28, 28, 0.04);
}

.snpa-newsletter__input::placeholder {
	color: var(--nw-placeholder);
}

.snpa-newsletter__btn {
	padding: 14px 28px;
	background: var(--nw-dark);
	color: var(--nw-white);
	border: none;
	border-radius: var(--nw-radius-pill);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: 0.03em;
	transition: all var(--nw-transition-smooth);
	white-space: nowrap;
}

.snpa-newsletter__btn:hover {
	background: #333;
	box-shadow: var(--nw-shadow-md);
}

.snpa-newsletter__btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

/* ========================================
   ERROR MESSAGE
   ======================================== */
.snpa-newsletter__error {
	display: none;
	margin-top: 12px;
	font-size: 13px;
	color: #C44D4D;
	text-align: center;
}

/* ========================================
   SUCCESS MESSAGE
   ======================================== */
.snpa-newsletter__success {
	display: none;
	max-width: var(--nw-max-width);
	margin: 0 auto;
	text-align: center;
}

.snpa-newsletter__success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #E8F5E9;
	margin-bottom: 12px;
}

.snpa-newsletter__success-icon svg {
	width: 24px;
	height: 24px;
	color: #4CAF50;
}

.snpa-newsletter__success-text {
	font-size: 15px;
	font-weight: 500;
	color: var(--nw-dark);
}

/* ========================================
   RESPONSIVE — MOBILE
   ======================================== */
@media (max-width: 767px) {
	.snpa-newsletter {
		padding: var(--nw-padding-y-mobile) var(--nw-padding-x-mobile);
		margin: 20px 0;
	}

	.snpa-newsletter__form {
		flex-direction: column;
		gap: 10px;
	}

	.snpa-newsletter__btn {
		width: 100%;
	}
}
