/* Laurette Campaigns — website signup form
   Matches the Laurette member (OTP) plugin: warm taupe/beige, Grand Sapphire + Poppins. */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

@font-face {
	font-family: 'Grand Sapphire';
	src: url('fonts/GrandSapphire-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.lmailsub {
	--ls-accent:    #897c6e;  /* taupe */
	--ls-accent-2:  #9a8d7e;
	--ls-accent-dk: #6e6357;
	--ls-soft:      #d4c2b4;  /* soft beige */
	--ls-ink:       #2a241f;
	--ls-muted:     #9b9189;
	--ls-border:    #e7ddd5;
	--ls-bg:        #f5efe9;  /* warm cream */
	--ls-radius:    12px;
	--ls-font-title:'Grand Sapphire', Georgia, 'Times New Roman', serif;
	--ls-font-body: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	max-width: 440px;
	margin: 24px auto;
	font-family: var(--ls-font-body);
	color: var(--ls-ink);
}

.lmailsub-form {
	background: #fff;
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	padding: 30px 28px;
	box-shadow: 0 24px 60px -24px rgba(80, 70, 60, 0.35);
}

.lmailsub-offer {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--ls-bg);
	border: 1px solid var(--ls-soft);
	border-radius: 10px;
	padding: 10px 14px;
	margin-bottom: 16px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--ls-accent-dk);
}
.lmailsub-offer-badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ls-accent), var(--ls-accent-dk));
	color: #fff;
	font-family: var(--ls-font-title);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: -0.5px;
}

.lmailsub-title {
	font-family: var(--ls-font-title);
	font-size: 1.55rem;
	line-height: 1.2;
	margin: 0 0 6px;
	color: var(--ls-ink);
}
.lmailsub-sub { color: var(--ls-muted); font-size: 0.92rem; line-height: 1.5; margin: 0 0 18px; }

.lmailsub-field { margin-bottom: 12px; }
.lmailsub-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 13px 15px;
	border: 1.5px solid var(--ls-border);
	border-radius: 10px;
	font-size: 0.95rem;
	font-family: var(--ls-font-body);
	background: #fff;
	color: var(--ls-ink);
	transition: border-color 0.18s, box-shadow 0.18s;
}
.lmailsub-field input::placeholder { color: #b8b0a7; }
.lmailsub-field input:focus {
	outline: none;
	border-color: var(--ls-accent);
	box-shadow: 0 0 0 4px rgba(212, 194, 180, 0.45);
}

.lmailsub-check {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: var(--ls-muted);
	margin: 2px 0 14px;
	cursor: pointer;
}
.lmailsub-check input { width: 16px; height: 16px; accent-color: var(--ls-accent); cursor: pointer; }

.lmailsub-btn {
	display: block;
	width: 100%;
	padding: 14px;
	background: linear-gradient(135deg, var(--ls-accent), var(--ls-accent-dk));
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	font-family: var(--ls-font-body);
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.12s, box-shadow 0.2s, opacity 0.2s;
	box-shadow: 0 12px 24px -8px rgba(137, 124, 110, 0.6);
}
.lmailsub-btn:hover    { transform: translateY(-1px); box-shadow: 0 16px 30px -8px rgba(137, 124, 110, 0.75); }
.lmailsub-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; }

.lmailsub-fine { text-align: center; color: var(--ls-muted); font-size: 0.74rem; margin: 12px 0 0; }

.lmailsub-msg {
	border-radius: 10px;
	padding: 11px 14px;
	margin-bottom: 14px;
	font-size: 0.86rem;
	line-height: 1.5;
}
.lmailsub-msg.is-error   { background: #fff1f2; color: #be123c; border: 1px solid #fecdd3; }
.lmailsub-msg.is-success { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }

/* honeypot — hidden from humans */
.lmailsub-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
