/* Read + Operate: shared editorial vocabulary, with the approved LuzHoy tokens. */
.article-share { margin-top:var(--space-xl); padding-top:var(--space-lg); border-top:1px solid var(--line); }
.article-share h2 { margin-top:0; }
.article-share-actions { display:flex; flex-wrap:wrap; gap:var(--space-xs); }
.article-share-actions .share-button { position:relative; display:inline-flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:var(--radius-sm); background:var(--ink); color:var(--paper); text-decoration:none; }
.share-button svg { display:block; width:22px; height:22px; pointer-events:none; }
.article-share-actions .share-whatsapp { background:var(--social-whatsapp); }
.article-share-actions .share-facebook { background:var(--social-facebook); }
.article-share-actions .share-x { background:var(--social-x); }
.article-share-actions .share-linkedin { background:var(--social-linkedin); }
.article-share-actions .share-utility { background:var(--soft); color:var(--accent-dark); border:1px solid var(--field-border); }
.article-share-actions .share-button:hover { box-shadow:inset 0 0 0 2px currentColor; }
.share-tooltip { position:absolute; bottom:calc(100% + var(--space-xs)); left:0; z-index:1; padding:4px var(--space-xs); border-radius:var(--radius-sm); background:var(--ink); color:var(--paper); font:600 var(--text-small)/1.4 var(--font); white-space:nowrap; visibility:hidden; pointer-events:none; }
.share-button:last-child .share-tooltip { left:auto; right:0; }
.share-button:hover .share-tooltip,.share-button:focus-visible .share-tooltip { visibility:visible; }
.article-share [role=status] { margin:var(--space-sm) 0 0; }
.article-share [role=status]:empty { margin:0; }
.article-content { overflow-wrap:anywhere; line-height:1.75; }
.article-content > :first-child { margin-top:0; }
.article-content h2 { margin-top:var(--space-2xl); margin-bottom:var(--space-md); }
.article-content h3 { margin-top:var(--space-xl); margin-bottom:var(--space-sm); }
.article-content p { margin:0 0 var(--space-md); }
.article-content ul,.article-content ol { padding-left:var(--space-lg); }
.article-content blockquote { margin:var(--space-lg) 0; padding:var(--space-sm) var(--space-lg); border-left:4px solid var(--accent); color:var(--muted); }
.article-content blockquote > :last-child,.article-callout > :last-child { margin-bottom:0; }
.article-callout { margin:var(--space-lg) 0; padding:var(--space-lg); border-left:4px solid var(--accent); background:var(--soft); border-radius:var(--radius-sm); }
.article-callout-tip { background:var(--success-bg); border-color:var(--success); }
.article-callout-warning { background:var(--warn-bg); border-color:var(--warn); }
.article-content .callout-label { font-weight:var(--weight-heading); margin-bottom:var(--space-xs); }
.article-image { margin:var(--space-lg) 0; }
.article-image img { display:block; width:100%; height:auto; border-radius:var(--radius-sm); }
.article-image figcaption { margin-top:var(--space-xs); font-size:var(--text-small); color:var(--muted); }
.article-table { overflow-x:auto; margin:var(--space-lg) 0; }
.article-content table { border-collapse:collapse; width:100%; table-layout:auto; }
.article-content th,.article-content td { border:1px solid var(--field-border); padding:var(--space-sm); min-width:80px; vertical-align:top; text-align:left; }
.article-content th { background:var(--soft); text-align:left; }
.article-content td p,.article-content th p { margin:0; }
.editor-shell { border:1px solid var(--field-border); border-radius:var(--radius-sm); overflow:hidden; background:var(--paper); }
.fields > .wide { min-width:0; }
.editor-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-xs); padding:var(--space-sm); background:var(--soft); border-bottom:1px solid var(--line); }
.editor-toolbar button { color:var(--ink); background:var(--paper); border:1px solid var(--field-border); padding:var(--space-xs) var(--space-sm); box-shadow:none; font-size:var(--text-small); min-height:44px; }
.editor-toolbar button[aria-pressed=true] { color:var(--paper); background:var(--accent-dark); }
.editor-toolbar button:disabled { opacity:.55; cursor:default; }
.editor-block-label { display:flex; align-items:center; gap:var(--space-xs); margin:0; }
.editor-block-label select { width:auto; margin:0; min-height:44px; }
.tiptap { padding:var(--space-lg); min-height:360px; white-space:pre-wrap; outline-offset:-3px; overflow-x:auto; }
.tiptap .ProseMirror-selectednode { outline:3px solid var(--accent); outline-offset:3px; }
.tiptap .selectedCell { background:var(--soft); }
.tiptap .article-callout::before { display:block; font-weight:var(--weight-heading); margin-bottom:var(--space-xs); content:'Información'; }
.tiptap .article-callout-tip::before { content:'Consejo'; }
.tiptap .article-callout-warning::before { content:'Advertencia'; }
.tiptap table { margin:var(--space-lg) 0; }
.tiptap p:empty::after { content:'\00a0'; }
.editor-cover h2 { font-size:var(--text-title); }
[data-cover-preview] img { display:block; max-width:280px; max-height:180px; width:auto; height:auto; border-radius:var(--radius-sm); }
.media-dialog,.link-dialog { width:min(920px, calc(100% - 32px)); max-height:90dvh; padding:var(--space-lg); border:1px solid var(--field-border); border-radius:var(--radius); color:var(--ink); background:var(--paper); }
.link-dialog { width:min(540px, calc(100% - 32px)); }
.media-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.media-dialog > [data-media-library] { min-height:0; overflow-y:auto; padding-right:var(--space-xs); }
.media-dialog .dialog-heading { flex:none; padding-bottom:var(--space-md); }
dialog::backdrop { background:var(--ink); opacity:.5; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); }
.dialog-heading h2 { margin:0; }
.media-upload { padding:var(--space-md) 0; border-bottom:1px solid var(--line); }
.media-upload summary { cursor:pointer; font-weight:var(--weight-heading); min-height:44px; }
.media-upload form { padding-top:var(--space-md); }
.media-search { display:flex; align-items:end; gap:var(--space-sm); margin:var(--space-lg) 0; }
.media-search label { flex:1; margin:0; }
.media-search button { margin-bottom:0; }
.media-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-md); }
.media-card { display:flex; flex-direction:column; gap:var(--space-xs); background:var(--paper); color:var(--ink); box-shadow:none; border:1px solid var(--field-border); padding:var(--space-xs); text-align:left; overflow-wrap:anywhere; }
.media-card img { width:100%; height:140px; object-fit:contain; background:var(--soft); }
.media-card:hover { background:var(--soft); color:var(--ink); }
.media-selection { margin-top:var(--space-lg); padding-top:var(--space-lg); border-top:1px solid var(--line); }
.media-selection label { margin-top:var(--space-md); }
@media(max-width:760px) {
 .tiptap { padding:var(--space-md); }
 .media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .media-dialog { padding:var(--space-md); }
 .media-search { flex-wrap:wrap; }
 .editor-toolbar { gap:var(--space-xs); }
}
[hidden] { display:none !important; }
