/* Additive footer controls; approved newsletter, columns and button sizes remain. */
.footer-newsletter-tools{margin:-34px 0 38px;font-size:12px;line-height:1.7;color:var(--muted)}
.footer-newsletter-tools p{margin:0 0 8px}
.footer-tools-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-text-action{font:inherit;border:0;padding:0;background:none;color:var(--purple-dark);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.footer-example-options{font-size:12px;color:var(--muted);line-height:1.7}
.footer-example-options summary{cursor:pointer}
.footer-example-options label{display:grid;gap:5px;margin-top:8px}
.footer-example-options select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px;max-width:100%}
.footer-actions-dialog{position:fixed;inset:0;margin:auto;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:var(--shadow)}
.footer-actions-dialog::backdrop{background:#14102099}
.footer-actions-dialog [hidden]{display:none!important}
.footer-actions-dialog h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:0 32px 16px 0}
.footer-actions-dialog p{font-size:13px;line-height:1.7;margin:12px 0;color:var(--muted)}
.footer-actions-dialog .footer-dialog-close{position:absolute;right:14px;top:12px;width:36px;height:36px;background:transparent;border:0;border-radius:8px;font-size:26px;color:var(--ink);cursor:pointer}
.footer-actions-dialog fieldset{border:0;padding:0;margin:24px 0 0;min-width:0}
.footer-actions-dialog legend,.footer-question-label{display:block;font-size:13px;font-weight:600;margin-bottom:14px}
.footer-actions-dialog .footer-choice{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.5;margin:14px 0}
.footer-actions-dialog input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--purple)}
.footer-actions-dialog .button-row{margin-top:20px;flex-wrap:wrap;gap:10px}
.footer-actions-dialog .btn{font-size:12px;min-height:42px;white-space:normal;text-align:center}
.footer-actions-dialog textarea{display:block;resize:vertical;width:100%;min-height:155px;max-height:280px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:13px;line-height:1.6;background:var(--paper);color:var(--ink)}
.footer-actions-dialog .footer-detail-note{font-size:12px}
.footer-actions-dialog .footer-dialog-feedback:empty,#newsletter-feedback:empty{display:none}
.footer-actions-dialog .footer-dialog-feedback{padding:10px 12px;border-radius:8px;background:var(--lavender);color:var(--ink)}
.footer-newsletter-tools [data-error=true],.footer-actions-dialog [data-error=true]{color:#a52a29}
.site-footer :is([data-footer-ai],.footer-text-action,.newsletter-field .btn):disabled{cursor:default;opacity:.65}
.site-footer :is(.newsletter-field input,.newsletter-field button,.footer-text-action,[data-footer-ai],.footer-example-options summary,.footer-example-options select):focus-visible,.footer-actions-dialog :is(button,a,textarea,input,summary,select):focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.site-footer .newsletter-field input:focus-visible{outline-color:#5545ed;outline-offset:0}
.site-footer .newsletter-field input[aria-invalid=true]{box-shadow:inset 0 -2px #a52a29}
body:has(#preview-dark-mode:checked) .footer-actions-dialog{background:#211e2b}
/* The small modal labels need at least 4.5:1 contrast while hovered, too. */
body:has(#preview-dark-mode:checked) .footer-actions-dialog .btn:not(.secondary):hover{background:#7060ed;border-color:#7060ed}
body:has(#preview-dark-mode:checked) :is(.footer-newsletter-tools,.footer-actions-dialog) [data-error=true]{color:#ffb4ab}
body:has(#preview-dark-mode:checked) .site-footer [data-footer-ai]{background:#211e2b;color:var(--ink)}
body:has(#preview-dark-mode:checked) .site-footer [data-footer-ai=grok] span{color:var(--ink)!important}
@media(max-width:800px){.footer-newsletter-tools{margin-top:-20px}}
@media(max-width:400px){.footer-actions-dialog{padding:24px 18px}.footer-actions-dialog h2{font-size:23px}.footer-actions-dialog .button-row{flex-direction:column;align-items:stretch}}

/* Keep the existing small heading legible in both approved palettes. */
.site-footer .ai-links>p{color:var(--muted)}
