/* Shared social-skin modal roles. Width, content and justified density remain consumer-owned. */
.wc-modal {
 --modal-font:Manrope,Tahoma,Arial,sans-serif;
 --modal-surface:#fff; --modal-raised:#f0f4f8; --modal-input:#fff;
 --modal-text:#293b4d; --modal-muted:#526779; --modal-accent:#315d85;
 --modal-line:#ccd6df; --modal-control:#6d8295; --modal-primary:#3d658e; --modal-on-primary:#fff;
 --modal-hover:#e3edf6; --modal-danger:#a02e39; --modal-danger-bg:#fff0f0;
 --modal-success:#28613e; --modal-reserved:#7a6838; --modal-indicator:#315d85;
 --modal-width:560px; --modal-padding:22px; --modal-heading-size:22px; --modal-button-height:42px;
 box-sizing:border-box; width:min(var(--modal-width),calc(100vw - 32px)); max-width:none;
 max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--modal-control); border-radius:10px;
 background:var(--modal-surface); color:var(--modal-text); font:14px/1.5 var(--modal-font);
 box-shadow:0 24px 90px #12273f50; overflow:hidden; color-scheme:light; text-size-adjust:100%;
}
html.theme-dark .wc-modal {
 --modal-surface:#1c222c; --modal-raised:#252e3b; --modal-input:#1a212c;
 --modal-text:#e6edf5; --modal-muted:#b0c0d0; --modal-accent:#8dc5f5;
 --modal-line:#394858; --modal-control:#8297aa; --modal-primary:#a1c5e8; --modal-on-primary:#152c42;
 --modal-hover:#354c63; --modal-danger:#ffb5bc; --modal-danger-bg:#462d38;
 --modal-success:#a0d7b4; --modal-reserved:#e0c681; --modal-indicator:#39c9f3;
 color-scheme:dark; box-shadow:0 24px 90px #0009;
}
.wc-modal:not([open]) { display:none; }
.wc-modal[open] { display:flex; flex-direction:column; }
.wc-modal::backdrop { background:#102236a8; }
.wc-modal *, .wc-modal *::before, .wc-modal *::after { box-sizing:border-box; }
.wc-modal [hidden] { display:none !important; }
.wc-modal.wc-modal button { min-height:var(--modal-button-height); max-width:100%; padding:8px 13px; border:1px solid var(--modal-control); border-radius:6px; background:var(--modal-surface); color:var(--modal-accent); font:600 13px/1.5 var(--modal-font); cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.wc-modal.wc-modal button:hover { background:var(--modal-hover); }
.wc-modal.wc-modal button:disabled { cursor:default; color:var(--modal-muted); background:var(--modal-raised); }
.wc-modal :focus-visible { outline:2px solid var(--modal-accent); outline-offset:3px; }
.wc-modal h2 { overflow-wrap:anywhere; }
.wc-modal [role="status"] { overflow-wrap:anywhere; }
@media(max-width:480px) {
 .wc-modal.wc-modal { --modal-padding:14px; width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
 /* The shared touch floor also applies to compact feature-specific buttons. */
 .wc-modal.wc-modal button { min-height:44px !important; min-width:44px; }
 .wc-modal.wc-modal input:not([type="radio"]):not([type="checkbox"]), .wc-modal.wc-modal select { font-size:16px; }
}
.wc-modal .wc-modal-header, .wc-modal .wc-modal-footer { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wc-modal .wc-modal-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.wc-modal .wc-modal-error:not(:empty) { color:var(--modal-danger); background:var(--modal-raised); overflow-wrap:anywhere; }
