/* Newsletter popups. Loaded only when popups are enabled. Uses the theme's colour/font variables. */
.tn-pop[hidden]{display:none}
.tn-pop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.tn-pop__backdrop{position:absolute;inset:0;background:rgba(6,8,12,.8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.tn-pop__dialog{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--tn-surface);border:1px solid var(--tn-line-2);border-radius:20px;box-shadow:0 40px 100px rgba(0,0,0,.55);padding:48px 44px 40px;outline:0;color:var(--tn-text)}
.tn-pop.is-open .tn-pop__dialog{animation:tn-pop-in .24s cubic-bezier(.2,.8,.2,1)}
.tn-pop.is-open .tn-pop__backdrop{animation:tn-pop-fade .2s ease-out}
@keyframes tn-pop-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes tn-pop-fade{from{opacity:0}to{opacity:1}}
html.tn-pop-open{overflow:hidden}

.tn-pop__x{position:absolute;top:18px;right:18px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--tn-text);border:1px solid var(--tn-line-2);border-radius:10px;cursor:pointer;padding:0;transition:border-color .15s,color .15s}
.tn-pop__x:hover{border-color:var(--tn-accent);color:var(--tn-accent)}

.tn-pop__top{display:flex;align-items:center;gap:14px;padding-right:48px}
.tn-pop__badge{flex:none;width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--tn-accent);color:var(--tn-accent-ink)}
.tn-pop__badge--alert{background:transparent;color:var(--tn-text);border:1.5px solid var(--tn-muted)}
.tn-pop__eyebrow{font:500 13px/1.3 var(--tn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tn-muted)}

.tn-pop__title{margin:24px 0 0;font:400 64px/.94 var(--tn-serif);letter-spacing:-.01em;color:var(--tn-text)}
.tn-pop__title em{font-style:italic;color:var(--tn-accent)}
.tn-pop__lead{margin:24px 0 0;font:400 20px/1.45 var(--tn-sans);color:var(--tn-muted)}
.tn-pop__lead strong{font-weight:500;color:var(--tn-text)}

.tn-pop__legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin-top:26px}
.tn-pop__legend p{margin:10px 0 0;font:400 15px/1.35 var(--tn-sans);color:var(--tn-muted)}
.tn-pop__tag{display:inline-flex;align-items:center;height:33px;font:700 12px/1 var(--tn-mono);letter-spacing:.1em;padding:0 16px;border-radius:6px;border:1px solid var(--tn-line-2);background:var(--tn-bg);color:var(--tn-text)}
.tn-pop__tag--act{background:var(--tn-accent);border-color:var(--tn-accent);color:var(--tn-accent-ink)}
.tn-pop__tag--skip{color:var(--tn-muted);background:transparent}

.tn-pop__tip{display:flex;align-items:flex-start;gap:16px;margin-top:28px;padding:18px 22px;background:var(--tn-bg);border:1px solid var(--tn-line);border-radius:12px;color:var(--tn-accent)}
.tn-pop__tip svg{flex:none;margin-top:1px}
.tn-pop__tip p{margin:0;font:400 16px/1.5 var(--tn-sans);color:var(--tn-muted)}
.tn-pop__tip strong{font-weight:600;color:var(--tn-text)}

.tn-pop__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.tn-pop__btn{display:inline-flex;align-items:center;justify-content:center;height:51px;padding:0 26px;border-radius:10px;border:1px solid var(--tn-accent);background:var(--tn-accent);color:var(--tn-accent-ink);font:500 16px/1 var(--tn-sans);cursor:pointer;text-decoration:none;transition:filter .15s,border-color .15s,color .15s}
.tn-pop__btn:hover{color:var(--tn-accent-ink);filter:brightness(1.08)}
.tn-pop__btn--ghost{background:var(--tn-bg);border-color:var(--tn-line-2);color:var(--tn-text)}
.tn-pop__btn--ghost:hover{color:var(--tn-accent);border-color:var(--tn-accent);filter:none}
.tn-pop__btn:focus-visible,.tn-pop__x:focus-visible{outline:2px solid var(--tn-accent);outline-offset:3px}

@media (max-width:640px){
	.tn-pop{align-items:flex-end;padding:12px}
	.tn-pop__dialog{padding:36px 24px 28px;border-radius:18px}
	.tn-pop__x{top:14px;right:14px}
	.tn-pop__top{padding-right:44px}
	.tn-pop__badge{width:48px;height:48px}
	.tn-pop__badge svg{width:22px;height:22px}
	.tn-pop__title{font-size:48px;line-height:.96;margin-top:22px}
	.tn-pop__lead{font-size:18px;margin-top:20px}
	.tn-pop__legend{gap:0 12px}
	.tn-pop__tag{font-size:11.5px;padding:0 11px;height:31px}
	.tn-pop__legend p{font-size:13.5px}
	.tn-pop__eyebrow{font-size:12px}
	.tn-pop__tip{padding:16px 16px;gap:12px}
	.tn-pop__actions{margin-top:26px}
	.tn-pop__btn{flex:1 1 100%;height:50px}
}
@media (prefers-reduced-motion:reduce){.tn-pop *{animation:none!important;transition:none!important}}
