/* Capture: signup forms, inline card, popups. Uses the theme's tokens with
 * the cezanne.me defaults as fallbacks (warm paper, near-black ink, one
 * orange accent, hairline warm borders) so it stands up under any theme. */
.czc-form{display:grid;gap:10px;position:relative;max-width:520px}
.czc-form .czc-hp{position:absolute;left:-9999px;height:1px;overflow:hidden;opacity:0}
.czc-form p{margin:0}
.czc-form .czc-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px;color:var(--cz-ink,#14171f)}
.czc-form input[type=text],.czc-form input[type=email],.czc-form input[type=tel]{width:100%;box-sizing:border-box;border:1px solid var(--cz-line,#e6e1d6);border-radius:6px;padding:10px 12px;background:#fff;color:var(--cz-ink,#14171f);font:inherit;font-size:1rem;min-width:0}
.czc-form input:focus{outline:2px solid var(--cz-accent,#e2732a);outline-offset:1px;border-color:var(--cz-accent,#e2732a)}
.czc-consent label{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:.85rem;line-height:1.45;color:var(--cz-ink-dim,#6b6f78);cursor:pointer}
.czc-consent input{margin:3px 0 0;flex:0 0 auto;accent-color:var(--cz-accent,#e2732a)}
.czc-consent a{color:inherit}
.czc-button{background:var(--cz-accent,#e2732a);color:#fff;border:0;border-radius:6px;padding:11px 22px;font:inherit;font-weight:700;cursor:pointer}
.czc-button:hover{filter:brightness(.94)}
.czc-button:disabled{opacity:.6;cursor:default}
.czc-note{min-height:1.2em;font-size:.9rem;font-weight:600;color:#2a7a4b}
.czc-note.czc-err{color:#b32d2e}
.czc-small{font-size:.8rem;color:var(--cz-ink-dim,#6b6f78)}
.czc-notice{border:1px solid var(--cz-line,#e6e1d6);border-left:4px solid #2a7a4b;background:#fff;border-radius:6px;padding:10px 14px;margin:0 0 14px}
.czc-notice.czc-err{border-left-color:#b32d2e}
.czc-compact .czc-small{display:none}
/* Inline card after posts and the /newsletter/ page */
.czc-inline{margin:2.5rem 0 0;padding:1.25rem 1.5rem;background:var(--cz-paper,#faf9f6);border:1px solid var(--cz-line,#e6e1d6);border-radius:10px}
.czc-inline h2{margin:0 0 .25rem;font-family:var(--cz-serif,"Playfair Display",Georgia,serif);font-weight:400;font-size:1.5rem}
.czc-inline p{margin:0 0 1rem;color:var(--cz-ink-dim,#6b6f78)}
.czc-inline .czc-form p{margin:0}
.czc-page{margin:1.5rem 0}
/* Popups */
.czc-pop{position:fixed;inset:0;z-index:9000;background:rgba(20,23,31,.55);display:grid;place-items:center;padding:20px;animation:czc-in .25s ease-out}
.czc-pop[hidden]{display:none}
@keyframes czc-in{from{opacity:0}to{opacity:1}}
.czc-pop-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--cz-paper,#faf9f6);color:var(--cz-ink,#14171f);border:1px solid var(--cz-line,#e6e1d6);border-radius:12px;padding:30px 28px 22px;box-shadow:0 20px 60px rgba(20,23,31,.25);animation:czc-card .3s ease-out}
@keyframes czc-card{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.czc-pop-card h2{margin:0 12px 6px 0;font-family:var(--cz-serif,"Playfair Display",Georgia,serif);font-weight:400;font-size:1.6rem;line-height:1.15}
.czc-pop-card .czc-pop-text{margin:0 0 16px;color:var(--cz-ink-dim,#6b6f78)}
.czc-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid var(--cz-line,#e6e1d6);background:#fff;color:var(--cz-ink,#14171f);font:400 1.4rem/1 sans-serif;cursor:pointer}
.czc-close:hover{border-color:var(--cz-ink,#14171f)}
.czc-nothanks{margin-top:10px;background:none;border:0;padding:0;font:600 .8rem inherit;color:var(--cz-ink-dim,#6b6f78);text-decoration:underline;cursor:pointer}
/* Mobile: the entrance popup is a bottom sheet under a third of the viewport */
.czc-pop.czc-sheet{place-items:end center;padding:0}
.czc-pop.czc-sheet .czc-pop-card{width:100%;max-height:34vh;border-radius:14px 14px 0 0;padding:18px 18px 14px;animation:czc-sheet .3s ease-out}
.czc-pop.czc-sheet .czc-pop-card h2{font-size:1.15rem;margin-right:36px}
.czc-pop.czc-sheet .czc-pop-text{font-size:.9rem;margin-bottom:10px}
.czc-pop.czc-sheet .czc-form{gap:6px}
@keyframes czc-sheet{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.czc-pop,.czc-pop-card,.czc-pop.czc-sheet .czc-pop-card{animation:none}}
