/* Share documents with existing HARANT components and design tokens. */
.legal-document .legal-document-toolbar[data-legal-copy-tools]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:calc(var(--space-after-h4)/2);margin:0 0 var(--space-after-h4)}
.legal-document .legal-document-back{display:inline-flex;align-items:center;justify-self:start;min-height:var(--h-touch);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-muted);text-decoration:none}
.legal-document-toolbar .legal-action-buttons{display:flex;align-items:center;gap:calc(var(--space-after-h4)/4)}
[data-legal-page] .legal-action-buttons .legal-icon-action{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--h-touch);height:var(--h-touch);min-height:var(--h-touch);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);transition:background-color var(--transition),color var(--transition)}
.legal-action-buttons svg{flex:none;width:var(--text-xl);height:var(--text-xl);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.legal-document-toolbar>[data-legal-copy-result],.legal-document-toolbar>[data-legal-copy-fallback]{grid-column:1 / -1}
.legal-icon-action::after{content:attr(data-tooltip);position:absolute;top:calc(100% + var(--radius));right:0;z-index:1;width:max-content;max-width:calc(var(--space-section)*3);padding:calc(var(--space-after-h4)/4) calc(var(--space-after-h4)/2);border-radius:var(--radius-xs);background:var(--color-heading);color:var(--color-white);font-size:var(--text-xs);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);text-align:center;pointer-events:none;visibility:hidden;opacity:0}
.legal-icon-action:focus-visible::after{visibility:visible;opacity:1}
.legal-document .legal-document-back:focus-visible{outline:medium solid var(--color-primary);outline-offset:var(--radius);border-radius:var(--radius)}
[data-legal-page] .legal-action-buttons .legal-icon-action:active{background:var(--color-bg-tint-blue);color:var(--color-primary)}
@media (hover:hover) and (pointer:fine){[data-legal-page] .legal-action-buttons .legal-icon-action:hover{background:var(--color-blend);color:var(--color-primary)}.legal-icon-action:hover::after{visibility:visible;opacity:1}.legal-document .legal-document-back:hover{color:var(--color-primary)}}
@media (prefers-reduced-motion:reduce){[data-legal-page] .legal-action-buttons .legal-icon-action{transition:none}}
[data-legal-page] .legal-share-dialog{width:min(var(--max-width-text),calc(100% - var(--space-after-h4)));max-height:calc(100dvh - var(--space-after-h4))}
[data-legal-page] .legal-share-dialog .hl-document-toolbar{align-items:center}
[data-legal-page] .legal-share-dialog .hl-document-toolbar h2{font-size:var(--text-xl);text-wrap:wrap}
[data-legal-page] .legal-share-dialog .hl-document-close{min-height:var(--h-touch);justify-content:center;font-size:var(--text-base);text-decoration:none}
[data-legal-page] .legal-share-body{padding:var(--space-after-h3);overflow-wrap:break-word}
[data-legal-page] .legal-share-body .legal-share-document-name{font-weight:var(--weight-bold);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-heading);margin:0 0 var(--space-after-h4)}
.legal-share-field{display:block;margin-bottom:var(--space-after-h4);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-heading)}
[data-legal-page] .legal-share-field .form-control{display:block;width:100%;margin-top:calc(var(--space-after-h4)/2);min-height:var(--h-touch);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);border-radius:var(--radius-sm);color:var(--color-body);background:var(--color-white)}
.legal-share-field textarea{height:auto;resize:vertical}
.legal-share-field input[readonly]{background:var(--color-blend)}
.legal-share-section{padding:calc(var(--space-after-h4)/2) var(--space-after-h4);border:thin solid var(--border-default);border-radius:var(--radius-sm);background:var(--color-bg-tint-blue);margin-bottom:var(--space-after-h4)}
.legal-share-section label{display:flex;align-items:center;gap:calc(var(--space-after-h4)/2);min-height:var(--h-touch);margin:0;font-size:var(--text-md);font-weight:var(--weight-bold);cursor:pointer}
.legal-share-section input{width:var(--text-lg);height:var(--text-lg);margin:0;accent-color:var(--color-primary);flex:none}
[data-legal-page] .legal-share-section p{margin:0 0 calc(var(--space-after-h4)/2);font-size:var(--text-sm);color:var(--color-muted);line-height:var(--leading-relaxed)}
.legal-share-actions{display:flex;flex-wrap:wrap;gap:calc(var(--space-after-h4)/2)}
[data-legal-page] .legal-share-actions>button{flex:1 1 calc(var(--space-section)*3);min-height:var(--h-big);padding:calc(var(--space-after-h4)/2) var(--space-after-h4);font-size:var(--text-base);line-height:var(--leading-snug);justify-content:center}
.legal-share-channels{display:flex;flex-wrap:wrap;gap:calc(var(--space-after-h4)/2)}
.legal-share-channels>a{flex:1;white-space:nowrap}
[data-legal-page] p.legal-share-caption{margin:var(--space-after-h4) 0 calc(var(--space-after-h4)/2);font-size:var(--text-sm);color:var(--color-muted)}
[data-legal-page] p.legal-share-hint{margin:calc(var(--space-after-h4)/2) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-muted)}
[data-legal-page] p.legal-share-status{margin:calc(var(--space-after-h4)/2) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.legal-share-status[data-state=success]{color:var(--color-success-text)}
.legal-share-status[data-state=error]{color:var(--color-danger)}
.legal-share-manual{margin-top:calc(var(--space-after-h4)/2);width:100%}
.legal-share-manual label{display:block;font-size:var(--text-sm)}
.legal-share-manual .form-control{margin-top:calc(var(--space-after-h4)/2);width:100%;font-size:var(--text-md);height:auto;min-height:var(--h-touch)}
.legal-share-actions button:disabled,.legal-action-buttons button:disabled{opacity:.6;cursor:wait}
.legal-share-body .form-control:focus-visible,.legal-share-section input:focus-visible{outline:medium solid var(--color-primary);outline-offset:var(--radius)}
@media (max-width:650px){[data-legal-page] .legal-share-body{padding:var(--space-after-h4)}[data-legal-page] .legal-share-dialog .hl-document-toolbar h2{font-size:var(--text-lg)}.legal-share-channels{gap:calc(var(--space-after-h4)/4)}}

/* In-document find is collapsed by default and remains reachable while reading. */
.legal-document .legal-document-find{position:sticky;top:calc(var(--legal-chrome-bottom,var(--header-nav-h)) + var(--radius));z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:calc(var(--space-after-h4)/2);padding:calc(var(--space-after-h4)/2);margin-bottom:var(--space-after-h4);border:thin solid var(--border-default);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-sm)}
.legal-document .legal-find-input{width:100%;min-width:0;min-height:var(--h-touch);font-size:var(--text-md);margin:0;border-radius:var(--radius-sm)}
.legal-find-navigation{display:flex;align-items:center;gap:calc(var(--space-after-h4)/4)}
.legal-find-status{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--color-muted);margin-right:calc(var(--space-after-h4)/2)}
[data-legal-page] .legal-find-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--h-touch);height:var(--h-touch);min-height:var(--h-touch);padding:0;border:0;background:transparent;color:var(--color-primary);border-radius:var(--radius-sm)}
.legal-find-button svg{width:var(--text-xl);height:var(--text-xl);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.legal-find-button:disabled{opacity:.4;cursor:default}
.legal-document .legal-find-input:focus-visible{outline:medium solid var(--color-primary);outline-offset:var(--radius)}
.legal-document [data-legal-find-mark]{background:var(--color-warning-light);color:inherit;padding:0;border-radius:var(--radius);font:inherit}
.legal-document [data-legal-find-mark].legal-find-current{background:var(--color-accent-yellow);outline:thin solid var(--color-primary)}
[data-legal-page] [data-legal-find-toggle][aria-expanded=true]{background:var(--color-bg-tint-blue);color:var(--color-primary)}
@media (max-width:650px){.legal-document .legal-document-find{grid-template-columns:minmax(0,1fr) auto;gap:calc(var(--space-after-h4)/4)}.legal-find-close{grid-column:2;grid-row:1}.legal-find-navigation{grid-column:1 / -1;grid-row:2}.legal-find-status{margin-right:auto}}

/* The mobile shell must clip horizontally without creating a sticky scroll container. */
#main-wrap:has(> .legal-document){overflow-x:clip;overflow-y:visible}
