/* Public DSA article sharing: UI remains hidden until the reader acts. */
.bien-comms-overlay[hidden], .bien-comms-share-actions [hidden] { display: none !important; }
.bien-comms-overlay { position: fixed; inset: 0; display: flex; justify-content: center; align-items: center; z-index: 2147480000; padding: 18px; background: rgba(27,39,59,.52); box-sizing: border-box; }
.bien-comms-dialog { position: relative; width: min(100%, 470px); max-height: min(92vh,700px); overflow-y: auto; box-sizing: border-box; border-radius: 18px; background:#fff; padding:31px 26px 25px; box-shadow:0 14px 48px rgba(21,32,52,.25); color:#5F6368; font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-align:center; }
.bien-comms-dialog * { box-sizing: border-box; }
.bien-comms-close { position:absolute; top:15px; right:15px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:0; border-radius:50%; background:transparent; padding:0; cursor:pointer; font-size:25px; color:#5F6368; line-height:1; }
.bien-comms-close:hover { background:#f3f6fb; }
.bien-comms-dialog:focus { outline:none; }
.bien-comms-logo { display:block; max-width:215px; max-height:105px; width:auto; height:auto; object-fit:contain; margin:0 auto 19px; }
.bien-comms-logo-text { font-weight:700; font-size:17px; margin-bottom:19px; }
.bien-comms-dialog h2 { margin:0 10px 10px; font-size:23px; line-height:1.3; font-weight:700; color:#303640; }
.bien-comms-desc { margin:0 auto 19px; max-width:350px; font-size:14px; line-height:1.7; }
.bien-comms-platforms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:14px 0 18px; }
.bien-comms-platforms a { display:block; border:1px solid #dde3eb; background:#f8fafc; color:#303640; border-radius:8px; padding:12px 8px; text-decoration:none; font-size:14px; font-weight:600; }
.bien-comms-platforms a:hover { border-color:#4285F4; color:#4285F4; }
.bien-comms-share-actions { display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.bien-comms-share-actions button, .bien-comms-share-actions a { display:block; border-radius:8px; padding:11px 14px; font-size:14px; text-decoration:none; text-align:center; font-weight:600; cursor:pointer; }
.bien-comms-native-share { background:#4285F4; color:#fff; border:1px solid #4285F4; }
.bien-comms-copy, .bien-comms-share-actions a { color:#4285F4; background:#fff; border:1px solid #4285F4; }
.bien-comms-share-actions .bien-comms-manual-link { display:block; width:100%; padding:10px; border:1px solid #9AA0A6; border-radius:8px; font-size:13px; color:#303640; }
.bien-comms-copy-status { min-height:1.2em; font-size:12px; margin:0; }
.bien-comms-dismiss { display:block; margin:16px auto 0; border:0; background:transparent; font-size:13px; color:#5F6368; text-decoration:underline; padding:8px; cursor:pointer; }
.bien-comms-article-share { margin:26px 0 12px; text-align:center; }
.bien-comms-article-share a { display:inline-block; border:1px solid #4285F4; border-radius:8px; padding:10px 20px; text-decoration:none; color:#4285F4; background:#fff; font-size:14px; font-weight:600; }
.bien-comms-dialog :focus-visible, .bien-comms-article-share :focus-visible { outline:3px solid #4285F4; outline-offset:3px; }
@media(max-width:400px) { .bien-comms-dialog {padding:32px 19px 18px;} .bien-comms-dialog h2 {font-size:20px;} }
@media(prefers-reduced-motion:reduce) { .bien-comms-overlay, .bien-comms-dialog {animation:none !important; transition:none !important;} }

/* v1.1.0: community welcome is visually separate from the tested share dialog. */
.bien-comms-welcome-dialog { padding-top:46px; }
.bien-comms-welcome-dialog .bien-comms-logo { margin-bottom:24px; }
.bien-comms-welcome-dialog .bien-comms-desc { max-width:365px; margin-bottom:24px; }
.bien-comms-welcome-register { display:block; max-width:350px; margin:0 auto; padding:13px 16px; color:#fff !important; background:#4285F4; border:1px solid #4285F4; border-radius:8px; font-size:15px; line-height:1.5; font-weight:650; text-decoration:none !important; }
.bien-comms-welcome-register:hover { background:#3367D6; border-color:#3367D6; }
.bien-comms-welcome-login { margin:16px 0 0; font-size:14px; line-height:1.7; }
.bien-comms-welcome-login a { color:#4285F4; font-weight:600; text-decoration:none; }
.bien-comms-welcome-login a:hover { text-decoration:underline; }
.bien-comms-welcome-divider { border-top:1px solid #e8eaed; margin:22px 0 6px; }
.bien-comms-welcome-continue { margin:6px auto 0; }
@media(max-width:400px) { .bien-comms-welcome-dialog {padding-top:46px;} }
