/* Lubiwood newsletter popup. Scoped under .lwnl-* to avoid theme collisions.
   .lwnl-card is the shared visual card — used standalone (auto mode, wrapped in
   .lwnl-root/.lwnl-dialog) and embedded (shortcode, wrapped in .lwnl-embed inside
   a WoodMart popup). Deliberately single-look (brand cream). */

/* ---- standalone overlay (auto mode) ---- */
.lwnl-root{
	position:fixed; inset:0; z-index:999999;
	display:flex; align-items:center; justify-content:center; padding:20px;
}
.lwnl-root[hidden]{ display:none; }
.lwnl-overlay{ position:absolute; inset:0; background:rgba(28,24,18,.55); backdrop-filter:blur(1px); }
.lwnl-dialog{
	position:relative; width:100%; max-width:400px; max-height:calc(100vh - 40px); overflow:auto;
	transform:translateY(14px) scale(.98); opacity:0;
	transition:transform .32s cubic-bezier(.2,.8,.25,1),opacity .32s ease;
}
.lwnl-root.lwnl-open .lwnl-dialog{ transform:none; opacity:1; }

/* ---- embedded (shortcode, inside a WoodMart popup) ---- */
.lwnl-embed{ width:100%; display:flex; justify-content:center; }
.lwnl-embed .lwnl-card{ box-shadow:none; max-width:400px; width:100%; }

/* ---- the card (shared) ---- */
.lwnl-card{
	--lwnl-green:#7ab38b; --lwnl-green-deep:#5e9772; --lwnl-green-ink:#3f6b50;
	--lwnl-tint:#E9F4ED; --lwnl-cream:#F7F3EC; --lwnl-line:#e7ded0;
	--lwnl-ink:#141210; --lwnl-text:#4a463f; --lwnl-muted:#8b8478;
	position:relative; background:var(--lwnl-cream); border-radius:16px; overflow:hidden;
	box-shadow:0 30px 70px -20px rgba(20,16,10,.55),0 0 0 1px rgba(20,16,10,.06);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	text-align:center;
}

/* Close button — hardened against theme button styles (WoodMart forces width/display),
   so it stays a small circle in the top-right instead of stretching across the top. */
.lwnl-card .lwnl-x{
	position:absolute !important; top:12px !important; right:12px !important; left:auto !important; bottom:auto !important;
	z-index:6; box-sizing:border-box;
	width:34px !important; height:34px !important; min-width:0 !important; max-width:none !important;
	margin:0 !important; padding:0 !important; float:none !important;
	display:flex !important; align-items:center; justify-content:center;
	border-radius:50% !important; background:rgba(255,255,255,.92); border:1px solid rgba(20,16,10,.08);
	color:#3a352d; font-size:18px; line-height:1; cursor:pointer; box-shadow:0 4px 12px -4px rgba(0,0,0,.35);
	text-transform:none; letter-spacing:normal;
}
.lwnl-card .lwnl-x:hover{ background:#fff; }

.lwnl-card .lwnl-media{ position:relative; aspect-ratio:5/3; overflow:hidden; background:#efe7d8; margin:0; }
.lwnl-media{ position:relative; aspect-ratio:5/3; overflow:hidden; background:#efe7d8; }
.lwnl-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lwnl-badge{
	position:absolute; top:12px; left:12px; background:var(--lwnl-green); color:#fff;
	font-size:12px; font-weight:800; letter-spacing:.02em; padding:7px 12px; border-radius:999px;
	box-shadow:0 6px 16px -4px rgba(63,107,80,.6);
}

.lwnl-body{ padding:22px 24px 24px; }
.lwnl-logo{ height:20px; width:auto; margin:2px auto 14px; display:block; opacity:.9; }
.lwnl-eyebrow{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--lwnl-green-ink); font-weight:700; margin:0; }
.lwnl-title{ font-size:25px; line-height:1.12; color:var(--lwnl-ink); margin:9px 0 10px; letter-spacing:-.02em; text-wrap:balance; font-weight:800; }
.lwnl-hl{ color:var(--lwnl-green-deep); }
.lwnl-sub{ font-size:14px; line-height:1.55; color:var(--lwnl-text); margin:0 0 18px; }

.lwnl-form{ display:flex; flex-direction:column; gap:10px; margin:0; }
.lwnl-input{
	height:46px; border-radius:10px; border:1px solid var(--lwnl-line); background:#fff;
	padding:0 14px; font-size:15px; color:var(--lwnl-ink); outline:none; width:100%;
	transition:border-color .15s,box-shadow .15s;
}
.lwnl-input:focus{ border-color:var(--lwnl-green); box-shadow:0 0 0 3px rgba(122,179,139,.25); }
.lwnl-input.lwnl-invalid{ border-color:#c8553d; box-shadow:0 0 0 3px rgba(200,85,61,.18); }
.lwnl-btn{
	height:46px; border-radius:10px; border:0; cursor:pointer; color:#fff;
	background:linear-gradient(180deg,var(--lwnl-green),var(--lwnl-green-deep));
	font-size:15px; font-weight:800; letter-spacing:.01em;
	box-shadow:0 10px 22px -8px rgba(63,107,80,.65); transition:transform .1s,filter .15s;
}
.lwnl-btn:hover{ filter:brightness(1.04); transform:translateY(-1px); }
.lwnl-btn[disabled]{ opacity:.6; cursor:default; transform:none; }
.lwnl-error{ color:#c8553d; font-size:12.5px; margin:2px 0 0; }

.lwnl-fine{ font-size:11.5px; color:var(--lwnl-muted); margin:12px 0 0; }

/* success */
.lwnl-check{ width:52px; height:52px; border-radius:50%; margin:0 auto 12px; background:var(--lwnl-tint);
	color:var(--lwnl-green-deep); display:flex; align-items:center; justify-content:center; font-size:26px;
	box-shadow:inset 0 0 0 1px rgba(122,179,139,.4); }
.lwnl-code{ margin:16px auto 6px; display:flex; align-items:stretch; max-width:280px;
	border:2px dashed var(--lwnl-green); border-radius:12px; overflow:hidden; background:#fff; }
.lwnl-code-value{ flex:1; font-family:"SFMono-Regular",Menlo,Consolas,monospace; font-weight:800;
	font-size:20px; letter-spacing:.12em; color:var(--lwnl-ink); display:flex; align-items:center; justify-content:center; padding:12px 8px; }
.lwnl-copy{ background:var(--lwnl-tint); color:var(--lwnl-green-ink); border:0; border-left:2px dashed var(--lwnl-green);
	font-weight:800; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:0 16px; cursor:pointer; }
.lwnl-copy.lwnl-copied{ background:var(--lwnl-green); color:#fff; }
.lwnl-note{ font-size:13px; color:var(--lwnl-text); margin:12px 0 0; line-height:1.5; }
.lwnl-shop{ display:inline-block; margin-top:16px; color:var(--lwnl-green-deep); font-weight:700; font-size:14px;
	text-decoration:none; border-bottom:2px solid rgba(122,179,139,.4); padding-bottom:1px; }

@media (prefers-reduced-motion:reduce){
	.lwnl-dialog{ transition:opacity .2s ease; transform:none; }
}
