/* Newsletter forms + popups. Uses the theme's tokens with fallbacks so it works under any theme. */
.frnl-form{display:grid;gap:10px;position:relative}
.frnl-form .frnl-hp{position:absolute;left:-9999px;opacity:0}
.frnl-row{display:flex;gap:8px;flex-wrap:wrap}
.frnl-row input[type=email]{flex:1 1 200px;padding:11px 14px;border-radius:999px;border:var(--bw,2px) solid var(--ink,#15151a);background:#fff;font:inherit;font-size:.95rem;min-width:0}
.frnl-row select{padding:10px 12px;border-radius:999px;border:var(--bw,2px) solid var(--ink,#15151a);background:#fff;font:inherit;font-size:.9rem}
.frnl-row .fr-btn{white-space:nowrap}
.frnl-consent{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;line-height:1.4;color:var(--ink-dim,#5b5a66);cursor:pointer}
.frnl-consent input{margin-top:3px;accent-color:var(--blue,#1f4fd6)}
.frnl-note{margin:0;min-height:1.2em;font-size:.85rem;font-weight:700;color:var(--green,#2dae5c)}
.frnl-note.err{color:var(--red,#e9401f)}
.frnl-inline{margin:30px 0;padding:22px;background:#fff;border:var(--bw,2px) solid var(--ink,#15151a);border-radius:var(--radius,16px);box-shadow:6px 6px 0 var(--yellow,#f7c631)}
.frnl-flash{padding:12px 16px;border:var(--bw,2px) solid var(--ink,#15151a);border-radius:12px;background:var(--green,#2dae5c);font-weight:800;margin:0 0 18px}
.frnl-flash.frnl-invalid{background:var(--red,#e9401f);color:#fff}
.frnl-flash.frnl-unsubscribed{background:var(--yellow,#f7c631)}
/* Footer band (theme hooks it in) */
.frnl-band{margin:34px 0 0;padding:26px;border-radius:22px;background:var(--blue,#1f4fd6);color:#fff;border:var(--bw,2px) solid var(--ink,#15151a);box-shadow:var(--shadow,6px 6px 0 #15151a);display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center}
.frnl-band h2{margin:0 0 6px;font-size:1.7rem;color:#fff}
.frnl-band p{margin:0;opacity:.95}
.frnl-band .frnl-consent{color:#fff;opacity:.9}
.frnl-band .frnl-note{color:var(--yellow,#f7c631)}
@media (max-width:760px){.frnl-band{grid-template-columns:1fr}}
/* Popups */
.frnl-pop{position:fixed;inset:0;z-index:9000;background:rgba(21,21,26,.55);display:grid;place-items:center;padding:20px;animation:frnl-in .25s ease-out}
.frnl-pop[hidden]{display:none}
@keyframes frnl-in{from{opacity:0}to{opacity:1}}
.frnl-pop-card{position:relative;width:min(520px,100%);background:var(--paper-2,#fbf7ee);border:3px solid var(--ink,#15151a);border-radius:24px;padding:30px 28px 22px;box-shadow:10px 10px 0 var(--red,#e9401f);animation:frnl-card .3s cubic-bezier(.2,.9,.3,1.3)}
#frnl-exit .frnl-pop-card{box-shadow:10px 10px 0 var(--blue,#1f4fd6)}
@keyframes frnl-card{from{transform:translateY(20px) rotate(-2deg);opacity:0}to{transform:none;opacity:1}}
.frnl-pop-card h2{margin:0 0 8px;font-size:1.8rem;line-height:1.05}
.frnl-pop-card p{margin:0 0 16px;font-weight:600}
.frnl-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:var(--bw,2px) solid var(--ink,#15151a);background:var(--yellow,#f7c631);font:800 1.3rem/1 sans-serif;cursor:pointer;box-shadow:2px 2px 0 var(--ink,#15151a)}
.frnl-nothanks{margin-top:10px;background:none;border:0;font:700 .8rem inherit;color:var(--ink-dim,#5b5a66);text-decoration:underline;cursor:pointer}
.frnl-pop-art{display:flex;gap:8px;margin-bottom:14px}
.frnl-pop-art i{display:block;border:var(--bw,2px) solid var(--ink,#15151a);border-radius:50%}
.frnl-pop-art i:nth-child(1){width:34px;height:34px;background:var(--blue,#1f4fd6)}
.frnl-pop-art i:nth-child(2){width:22px;height:22px;background:var(--yellow,#f7c631);margin-top:10px}
.frnl-pop-art i:nth-child(3){width:14px;height:14px;background:var(--red,#e9401f);margin-top:4px}
@media (prefers-reduced-motion:reduce){.frnl-pop,.frnl-pop-card{animation:none}}
