/* AT presentation; Safe Sender behavior remains in the maintained modules. */
.safe-contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:64px;align-items:start}
.safe-contact-panel,.safe-contact-sidebar{min-width:0}
.safe-contact-panel h2{margin:0 0 24px}
.safe-contact-panel p{text-align:justify;overflow-wrap:anywhere}
.safe-contact-panel .contact-explanation{font-size:16px;line-height:1.7;margin:0 0 16px}
.safe-contact-panel .contact-required{font-size:14px;line-height:1.6;margin:18px 0}
.safe-contact-panel .contact-privacy{padding:18px 20px;background:var(--pale);border-left:3px solid var(--accent)}
.safe-contact-panel fieldset{padding:0;margin:0;border:0;min-width:0}
.safe-contact-panel label{display:block;font-size:15px;font-weight:500;margin:22px 0 8px}
.safe-contact-panel input,.safe-contact-panel select,.safe-contact-panel textarea{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #b9acb5;border-radius:3px;background:#fff;color:var(--ink);font:inherit;padding:13px 14px;line-height:1.5}
.safe-contact-panel textarea{resize:vertical;min-height:180px}
.safe-contact-panel select{min-height:50px}
.safe-contact-panel input[type=file]{font-size:14px;padding:10px}
.safe-contact-panel input::file-selector-button{font:inherit;color:var(--primary);border:0;background:var(--pale);padding:9px 12px;margin-right:12px;border-radius:2px}
.safe-contact-panel :is(input,select,textarea,button):focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.safe-contact-panel :is(input,select,textarea):disabled{background:var(--paper);color:var(--muted)}
.safe-contact-panel .contact-help{font-size:13px;line-height:1.6;margin:9px 0}
.safe-contact-panel .contact-report-note{padding:18px 20px;background:var(--pale);border-left:3px solid var(--accent);margin-top:20px}
.safe-contact-panel .contact-report-note p{font-size:14px;margin:0;line-height:1.65}
.safe-contact-panel .contact-report-note a{text-decoration:underline;text-underline-offset:3px}
.safe-contact-panel .contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.safe-contact-panel button{font:inherit;font-weight:500;color:#fff;background:var(--primary);border:1px solid var(--primary);padding:14px 24px;cursor:pointer;border-radius:3px;min-height:48px}
.safe-contact-panel .contact-clear{color:var(--primary);background:transparent}
.safe-contact-panel button:disabled{opacity:.6;cursor:wait}
.safe-contact-panel .contact-status{font-size:14px;line-height:1.6;min-height:24px;margin-top:20px}
.safe-contact-panel .contact-status.is-error{color:#8b2638}
.safe-contact-panel .contact-status[data-state=success]{color:#295b45}
.safe-contact-panel .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.safe-contact-sidebar{border-top:2px solid var(--accent);padding-top:28px}
.safe-contact-sidebar .contact-block{padding:0 0 32px;background:transparent}
.safe-contact-sidebar h2{font-size:30px}
.safe-contact-sidebar h3{font-size:23px}
.safe-contact-sidebar .contact-person{margin-bottom:24px}
@media(max-width:1000px){.safe-contact-layout{gap:36px;grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr)}}
@media(max-width:800px){.safe-contact-layout{grid-template-columns:1fr;gap:48px}.safe-contact-panel label{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.safe-contact-panel *{scroll-behavior:auto!important}}
