/* Shared contact and privacy UI. All selectors stay namespaced. */
[data-contact-form] { --contact-accent:var(--site-accent,#7d8dff); --contact-ink:var(--site-button-ink,#11130f); min-width:0; }
.nudnoy-languages { display:flex; flex-wrap:wrap; gap:.25rem .75rem; align-items:center; }
.nudnoy-languages a { display:inline-flex; align-items:center; min-height:44px; font: .875rem/1.4 Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; }
.nudnoy-languages a[aria-current=page] { color:var(--site-accent,#7d8dff); font-weight:700; }
.nudnoy-manager { min-height:44px; display:flex!important; align-items:center; }
.nudnoy-legal-links a { display:inline-flex; align-items:center; min-height:44px; }
.nudnoy-form { background:var(--site-form-surface,var(--panel,#181b16))!important; }
.nudnoy-field input,.nudnoy-field textarea { background:var(--site-form-input,var(--bg,#11130f))!important; }
.nudnoy-form [hidden],.nudnoy-cookie [hidden] { display:none!important; }
.nudnoy-form { display:grid; gap:1.25rem; padding:clamp(1.25rem,3vw,2rem); background:#181b16; border:1px solid #6b7460; color:#f1efe9; font:1rem/1.6 Arial,"Segoe UI",sans-serif; border-radius:6px; }
.nudnoy-form * { box-sizing:border-box; }
.nudnoy-field { display:grid; gap:.5rem; }
.nudnoy-field label { display:block; color:#f1efe9; font-size:.875rem; }
.nudnoy-field label small { color:#b4b7ad; font-size:.875rem; }
.nudnoy-field input,.nudnoy-field textarea { width:100%; min-width:0; min-height:3rem; border:1px solid #6b7460; border-radius:4px; background:#11130f; color:#f1efe9; padding:.75rem; font:1rem/1.5 Arial,"Segoe UI",sans-serif; }
.nudnoy-field textarea { resize:vertical; min-height:9rem; }
.nudnoy-field input::placeholder,.nudnoy-field textarea::placeholder { color:#a2a69a; opacity:1; }
.nudnoy-field input:focus-visible,.nudnoy-field textarea:focus-visible,.nudnoy-form button:focus-visible,.nudnoy-cookie button:focus-visible,.nudnoy-cookie-dialog button:focus-visible,[data-cookie-settings]:focus-visible { outline:3px solid var(--site-accent,#7d8dff); outline-offset:3px; }
.nudnoy-field [aria-invalid=true] { border-color:#ffb8a5; }
.nudnoy-error { color:#ffb8a5; font-size:.875rem; }
.nudnoy-counter { font-size:.75rem; color:#b4b7ad; text-align:right; }
.nudnoy-consent { display:grid; grid-template-columns:1.5rem minmax(0,1fr); gap:.75rem; align-items:start; }
.nudnoy-consent input { margin:.2rem 0 0; width:1.25rem; height:1.25rem; accent-color:var(--contact-accent); }
.nudnoy-consent label { display:block; color:#b4b7ad; font-size:.875rem; font-weight:400; line-height:1.6; }
.nudnoy-consent a,.nudnoy-form a { display:inline; color:#f1efe9; text-decoration:underline; text-underline-offset:3px; }
.nudnoy-submit,.nudnoy-another { min-height:3.25rem; border:1px solid var(--contact-accent); border-radius:4px; padding:.75rem 1rem; background:var(--contact-accent); color:var(--contact-ink); font:700 1rem/1.4 Arial,"Segoe UI",sans-serif; cursor:pointer; }
.nudnoy-submit:disabled { opacity:.7; cursor:wait; }
.nudnoy-another { background:transparent; color:#f1efe9; }
.nudnoy-status { margin:0; font-size:.875rem; overflow-wrap:anywhere; }
.nudnoy-status[data-state=error] { color:#ffb8a5; }
.nudnoy-status[data-state=success] { color:#e0ed98; }
.nudnoy-form-note { margin:0; color:#b4b7ad; font-size:.875rem; }
.nudnoy-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); pointer-events:none; }
.nudnoy-legal-links { display:flex; flex-wrap:wrap; gap:.65rem 1.4rem; }
.nudnoy-legal-links a { color:#b4b7ad; font: .875rem/1.6 Arial,"Segoe UI",sans-serif; text-decoration:underline; text-underline-offset:4px; }
[data-cookie-settings] { display:inline-block; min-height:44px; padding:.4rem 0; background:none; color:#b4b7ad; border:0; font: .875rem/1.6 Arial,"Segoe UI",sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.nudnoy-cookie { position:fixed; z-index:1000; inset:auto 1rem 1rem; display:grid; grid-template-columns:minmax(15rem,1fr) auto; gap:1.25rem; align-items:center; padding:1.25rem; border:1px solid #6b7460; background:#20231d; color:#f1efe9; box-shadow:0 12px 45px #0007; font: .875rem/1.6 Arial,"Segoe UI",sans-serif; }
.nudnoy-cookie p { margin:.35rem 0 0; color:#b4b7ad; max-width:46rem; font-size:.875rem; }
.nudnoy-cookie a { color:#f1efe9; text-decoration:underline; }
.nudnoy-cookie-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.nudnoy-cookie button,.nudnoy-cookie-dialog button { min-height:44px; padding:.65rem 1rem; border:1px solid #6b7460; border-radius:3px; background:#11130f; color:#f1efe9; font: .875rem/1.5 Arial,"Segoe UI",sans-serif; cursor:pointer; }
.nudnoy-cookie-dialog { width:min(35rem,calc(100% - 2rem)); max-height:calc(100vh - 2rem); overflow:auto; padding:1.5rem; border:1px solid #6b7460; border-radius:6px; background:#181b16; color:#f1efe9; font:1rem/1.6 Arial,"Segoe UI",sans-serif; }
.nudnoy-cookie-dialog::backdrop { background:#000a; }
.nudnoy-cookie-dialog h2 { margin:0 0 1rem; font:700 1.5rem/1.3 Arial,"Segoe UI",sans-serif; }
.nudnoy-cookie-dialog p { color:#b4b7ad; font-size:1rem; }
.nudnoy-cookie-dialog a { color:#f1efe9; text-underline-offset:4px; }
.nudnoy-cookie-dialog .nudnoy-cookie-actions { margin-top:1.5rem; }
.nudnoy-cookie-dialog label { display:block; font-size:1rem; }
.nudnoy-legal { margin:0; background:#11130f; color:#f1efe9; font:1rem/1.7 Arial,"Segoe UI",sans-serif; }
.legal-page { max-width:54rem; margin:auto; padding:3rem max(1.25rem,3vw); overflow-wrap:anywhere; }
.legal-page h1 { font-size:clamp(2rem,5vw,3rem); letter-spacing:-.04em; line-height:1.12; }
.legal-page h2 { margin:2rem 0 .5rem; font-size:1.35rem; line-height:1.3; }
.legal-page p,.legal-page dd { color:#b4b7ad; }
.legal-page a { color:#f1efe9; text-underline-offset:4px; }
.legal-notice { border-left:3px solid var(--site-accent); background:#181b16; padding:1rem; }
.legal-version { margin:2rem 0; font-size:.875rem; }
.legal-page dl { display:grid; gap:.3rem; }
.legal-page dt { margin-top:.75rem; font-weight:700; }
.legal-page dd { margin:0; }
.legal-page footer { margin-top:3rem; padding-top:1.5rem; border-top:1px solid #42473c; }
@media(max-width:850px) { .nudnoy-cookie { grid-template-columns:1fr; gap:.75rem; } }
@media(max-width:480px) { .nudnoy-cookie { inset:auto .5rem .5rem; padding:1rem; } .nudnoy-cookie-actions { display:grid; grid-template-columns:1fr; } .nudnoy-cookie button { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .nudnoy-form *, .nudnoy-cookie *, .nudnoy-cookie-dialog * { scroll-behavior:auto!important; transition:none!important; } }
