/* ==========================================================================
   WP Newsletter Manager — Public Styles
   Inherits theme styles; provides structural layout only.
   ========================================================================== */

.wpnm-form-wrap {
	max-width: 480px;
}

.wpnm-form .wpnm-field {
	margin-bottom: 1rem;
}

.wpnm-form label {
	display: block;
	margin-bottom: .35rem;
	font-weight: 600;
	font-size: .9rem;
}

.wpnm-form input[type="text"],
.wpnm-form input[type="email"],
.wpnm-form input[type="tel"] {
	width: 100%;
	padding: .6rem .85rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
	transition: border-color .2s;
	box-sizing: border-box;
}

.wpnm-form input[type="text"]:focus,
.wpnm-form input[type="email"]:focus,
.wpnm-form input[type="tel"]:focus {
	border-color: #0073aa;
	outline: none;
}

.wpnm-form .wpnm-field--checkbox label {
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	font-weight: normal;
	font-size: .875rem;
	cursor: pointer;
}

.wpnm-form .wpnm-field--checkbox input[type="checkbox"] {
	margin-top: .15rem;
	flex-shrink: 0;
}

.wpnm-required {
	color: #c00;
}

/* Submit button – inherits theme primary button style if available via cascade */
.wpnm-submit-btn {
	background: #0073aa;
	color: #fff;
	border: none;
	padding: .65rem 1.5rem;
	font-size: 1rem;
	border-radius: 4px;
	cursor: pointer;
	transition: background .2s;
}
.wpnm-submit-btn:hover  { background: #005a87; }
.wpnm-submit-btn:disabled { opacity: .6; cursor: not-allowed; }

/* Status message */
.wpnm-message {
	margin-top: .75rem;
	padding: .6rem .85rem;
	border-radius: 4px;
	font-size: .9rem;
	display: none;
}
.wpnm-message.is-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.wpnm-message.is-error   { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

/* ==========================================================================
   Full-page layouts (confirm / unsubscribe)
   ========================================================================== */

.wpnm-page {
	padding: 3rem 1rem;
	text-align: center;
}

.wpnm-page__inner {
	max-width: 540px;
	margin: 0 auto;
}

.wpnm-page__icon {
	font-size: 3rem;
	display: block;
	margin-bottom: 1rem;
}

.wpnm-page__title {
	font-size: 1.8rem;
	margin-bottom: .75rem;
}

.wpnm-page__desc {
	font-size: 1rem;
	margin-bottom: 1.5rem;
	color: #555;
}

.wpnm-btn {
	display: inline-block;
	background: #0073aa;
	color: #fff;
	text-decoration: none;
	padding: .65rem 1.5rem;
	border-radius: 4px;
	font-size: 1rem;
	margin: .25rem;
	border: none;
	cursor: pointer;
	transition: background .2s;
}
.wpnm-btn:hover            { background: #005a87; color: #fff; }
.wpnm-btn--danger          { background: #c00; }
.wpnm-btn--danger:hover    { background: #990000; }
.wpnm-btn--secondary       { background: #6c757d; }
.wpnm-btn--secondary:hover { background: #545b62; }

/* Unsubscribe reasons */
.wpnm-reasons { text-align: left; margin: 1.25rem 0; }
.wpnm-reason  { margin-bottom: .6rem; }
.wpnm-reason label { display: flex; align-items: flex-start; gap: .5rem; cursor: pointer; font-size: .975rem; }

.wpnm-alert { padding: .75rem 1rem; border-radius: 4px; margin-bottom: 1rem; }
.wpnm-alert--error { background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; }

.wpnm-field--other label { text-align: left; margin-bottom: .35rem; display: block; }
.wpnm-field--other input { width: 100%; padding: .5rem .75rem; border: 1px solid #ccc; border-radius: 4px; font-size: 1rem; box-sizing: border-box; }
