.bjv-share-tools { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-block:1rem; }
.bjv-share-tools > .bjv-share-button { min-inline-size:0; max-inline-size:100%; overflow-wrap:anywhere; white-space:normal; }
.bjv-share-button, .bjv-share-dialog button, .bjv-share-dialog a { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:44px; padding:.65rem 1rem; border:1px solid #8a7036; border-radius:8px; background:#f8f7f2; color:#071426; font:inherit; font-size:.92rem; font-weight:650; line-height:1.4; text-decoration:none; cursor:pointer; }
.bjv-share-button:hover, .bjv-share-dialog button:hover, .bjv-share-dialog a:hover { background:#eee5d1; }
.bjv-share-button:focus-visible, .bjv-share-dialog :focus-visible { outline:3px solid #315d7a; outline-offset:3px; }
.bjv-share-primary, .bjv-share-dialog .bjv-share-primary { background:#d6b05f; border-color:#d6b05f; color:#071426; }
.bjv-share-page { max-width:960px; margin:3rem auto; padding:clamp(1.25rem,4vw,2rem); border:1px solid #d6b05f; border-radius:16px; background:#f8f7f2; color:#071426; }
.bjv-share-page h2 { font-size:clamp(1.4rem,4vw,1.9rem); margin:0 0 .5rem; }
.bjv-share-page p { margin:.5rem 0; }
.bjv-share-quote-tools { margin-block:.6rem 1.6rem; }
.bjv-share-quote-tools .bjv-share-button { font-size:.85rem; }
.bjv-share-dialog { width:min(100% - 2rem, 1000px); max-height:90dvh; overflow:auto; border:1px solid #d6b05f; border-radius:18px; padding:clamp(1rem,3vw,2rem); background:#f8f7f2; color:#071426; box-shadow:0 24px 90px #0006; }
.bjv-share-dialog::backdrop { background:#071426c9; }
.bjv-share-dialog header { display:flex; gap:1rem; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.bjv-share-dialog h2 { margin:0; font-size:1.65rem; }
.bjv-share-dialog h3 { margin:1.25rem 0 .6rem; font-size:1.2rem; }
.bjv-share-dialog p { line-height:1.6; }
.bjv-share-networks { display:flex; flex-wrap:wrap; gap:.5rem; }
.bjv-share-dialog .bjv-share-excerpt { padding:1rem; border-left:3px solid #d6b05f; background:#eee9dc; white-space:pre-wrap; max-height:10rem; overflow:auto; font-family:Georgia,serif; }
.bjv-share-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; margin-top:1rem; }
.bjv-share-story img { width:100%; max-width:290px; height:auto; border-radius:10px; display:block; margin:auto; box-shadow:0 8px 24px #07142633; }
.bjv-share-story[hidden], .bjv-share-dialog [hidden] { display:none; }
.bjv-share-dialog textarea, .bjv-share-dialog input { width:100%; padding:.7rem; border:1px solid #6b7280; border-radius:6px; color:#071426; background:white; font:inherit; }
.bjv-share-dialog textarea { min-height:9rem; resize:vertical; }
.bjv-share-dialog label { display:block; margin-top:.7rem; font-weight:650; }
.bjv-share-status { min-height:1.6em; font-weight:600; }
.bjv-share-pagination { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin:.75rem 0; }
.bjv-share-dialog button:disabled { opacity:.55; cursor:default; }
@media(max-width:650px) { .bjv-share-story { grid-template-columns:1fr; } .bjv-share-story img { max-width:230px; } .bjv-share-dialog { max-height:94dvh; width:calc(100% - 1rem); } .bjv-share-page { margin-inline:1rem; } }
@media print { .bjv-share-tools, .bjv-share-page, .bjv-share-dialog { display:none!important; } }

.bjv-share-dialog header { position:sticky; top:-1px; z-index:1; background:#f8f7f2; padding-bottom:.5rem; }
