/* Legal hub: compact catalogue using the existing HARANT palette and spacing. */
.legal-hub .legal-hub-section{padding-top:var(--space-after-h2)}
.legal-hub .legal-hub-hero{height:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-after-h4);padding:var(--space-after-h2) var(--space-after-h1);border-radius:var(--radius-lg);background:var(--gradient-brand-panel)}
.legal-hub .legal-hub-hero h1{font-size:var(--text-4xl);line-height:var(--leading-tight);margin:0 0 calc(var(--space-after-h4)/2);color:var(--color-heading)}
.legal-hub .legal-hub-hero p{font-size:var(--text-md);line-height:var(--leading-relaxed);margin:0;color:var(--color-muted)}
.legal-hub .legal-hub-image{width:calc(var(--space-section)*3);height:auto;flex:none;mix-blend-mode:multiply}
.legal-hub .legal-hero-break{display:none}
.legal-hub .legal-search{margin:var(--space-after-h3) 0 var(--space-after-h4)}
.legal-hub .legal-search-field{position:relative}
.legal-hub .legal-search-field>svg{position:absolute;left:var(--space-after-h4);top:50%;transform:translateY(-50%);width:var(--text-xl);height:var(--text-xl);fill:none;stroke:var(--color-muted);stroke-width:1.5;pointer-events:none}
.legal-hub .legal-search-field input{min-height:var(--h-big);padding-left:var(--h-big);font-size:var(--text-md);border-radius:var(--radius-md);background:var(--color-white)}
.legal-hub .legal-search-meta{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-after-h4)/2);font-size:var(--text-sm);color:var(--color-muted)}
.legal-hub .legal-search-clear{border:0;background:transparent;min-height:var(--h-touch);padding:0 calc(var(--space-after-h4)/2);font:inherit;color:var(--color-primary);text-decoration:underline;text-underline-offset:var(--radius);cursor:pointer}
.legal-hub .legal-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-after-h4);align-items:start;margin-top:var(--space-after-h3)}
.legal-hub .legal-group{--legal-accent:var(--color-accent-blue);--legal-tint:var(--color-bg-tint-blue);padding:0;overflow:hidden;border-radius:var(--radius-md);margin:0}
.legal-hub .legal-group--promotion{--legal-accent:var(--color-accent-purple);--legal-tint:var(--color-accent-purple-bg)}
.legal-hub .legal-group--privacy{--legal-accent:var(--color-accent-green);--legal-tint:var(--color-accent-green-bg)}
.legal-hub .legal-group--copyright{--legal-accent:var(--color-accent-yellow);--legal-tint:var(--color-accent-yellow-bg)}
.legal-hub .legal-group-header{height:auto;display:flex;align-items:center;gap:calc(var(--space-after-h4)/2);padding:calc(var(--space-after-h4)*.75) var(--space-after-h4);background:var(--legal-tint)}
.legal-hub .legal-group-header h2{font-size:var(--text-lg);line-height:var(--leading-snug);margin:0;flex:1;color:var(--color-heading)}
.legal-hub .legal-group-icon{display:flex;align-items:center;justify-content:center;flex:none;width:var(--h-small);height:var(--h-small);color:var(--legal-accent)}
.legal-hub .legal-group-icon svg{width:var(--text-2xl);height:var(--text-2xl);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.legal-hub .legal-group-count{display:flex;align-items:center;justify-content:center;flex:none;min-width:var(--h-small);height:var(--h-small);border-radius:var(--h-small);background:var(--color-white);color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--weight-bold)}
.legal-hub .legal-document-row{display:flex;align-items:stretch;background:var(--color-white)}
.legal-hub .legal-document-row+.legal-document-row{border-top:thin solid var(--border-default)}
.legal-hub .legal-document-link{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:calc(var(--space-after-h4)/4);min-height:var(--h-big);padding:var(--space-after-h4);text-decoration:none;color:var(--color-primary);transition:background-color var(--transition),color var(--transition)}
.legal-hub .legal-document-title{font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-snug);overflow-wrap:anywhere}
.legal-hub .legal-document-description{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-muted)}
.legal-hub .legal-document-edition{font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--color-caption)}
.legal-hub .legal-preview-control{display:flex;flex:none;align-items:center;padding:calc(var(--space-after-h4)/2)}
.legal-hub .legal-preview-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--space-after-h4)/4);min-width:var(--h-touch);min-height:var(--h-touch);padding:calc(var(--space-after-h4)/4);border-radius:var(--radius-sm);text-decoration:none;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-primary);background:var(--color-blend);transition:background-color var(--transition),color var(--transition)}
.legal-hub .legal-preview-link svg{width:var(--text-xl);height:var(--text-xl);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.legal-hub .legal-document-link:active,.legal-hub .legal-preview-link:active{background:var(--color-bg-tint-purple)}
.legal-hub .legal-document-link:focus-visible,.legal-hub .legal-preview-link:focus-visible,.legal-hub .legal-search-clear:focus-visible{outline:medium solid var(--color-primary);outline-offset:calc(var(--radius)*-1)}
.legal-hub .legal-search-field input:focus-visible{outline:medium solid var(--color-primary);outline-offset:var(--radius)}
.legal-hub .legal-support{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--space-after-h4)/2) var(--space-after-h2);padding:var(--space-after-h3);margin-top:var(--space-after-h2);background:var(--color-bg-tint-blue)}
.legal-hub .legal-support h2{font-size:var(--text-lg);margin:0}
.legal-hub .legal-support>p{margin:0;font-size:var(--text-sm)}
.legal-hub .legal-support [data-legal-chat-status]:empty{display:none}
@media (hover:hover) and (pointer:fine){.legal-hub .legal-document-link:hover{background:var(--legal-tint);color:var(--color-primary-hover)}.legal-hub .legal-preview-link:hover{background:var(--color-bg-tint-purple);color:var(--color-primary-hover)}.legal-hub .legal-search-clear:hover{color:var(--color-primary-hover)}}
@media (max-width:650px){.legal-hub .legal-hub-section{padding-top:var(--space-after-h4)}.legal-hub .legal-hub-hero{padding:var(--space-after-h4);gap:calc(var(--space-after-h4)/2)}.legal-hub .legal-hub-hero h1{font-size:var(--text-3xl)}.legal-hub .legal-hub-hero p{font-size:var(--text-base)}.legal-hub .legal-hub-image{width:calc(var(--h-big)*2)}.legal-hub .legal-hero-break{display:initial}.legal-hub .legal-search{margin-top:var(--space-after-h4);margin-bottom:calc(var(--space-after-h4)/2)}.legal-hub .legal-catalogue{margin-top:calc(var(--space-after-h4)/2)}.legal-hub .legal-group-header{padding:calc(var(--space-after-h4)/2) calc(var(--space-after-h4)*.75)}.legal-hub .legal-group-header h2{font-size:var(--text-md)}.legal-hub .legal-document-link{padding:calc(var(--space-after-h4)*.75)}.legal-hub .legal-preview-control{padding:calc(var(--space-after-h4)/2) calc(var(--space-after-h4)/4)}.legal-hub .legal-support{display:block;padding:var(--space-after-h4)}.legal-hub .legal-support h2,.legal-hub .legal-support>p{margin-bottom:calc(var(--space-after-h4)/2)}.legal-hub .legal-support .hl-actions{gap:calc(var(--space-after-h4)/2) var(--space-after-h4)}.legal-hub .legal-support .hl-button{font-size:var(--text-base);min-height:var(--h-touch);padding:calc(var(--space-after-h4)/2) var(--space-after-h4)}}
@media (prefers-reduced-motion:reduce){.legal-hub .legal-document-link,.legal-hub .legal-preview-link{transition:none}}


/* The reset and result count are useful only while a query is entered. */
.legal-hub .legal-search:has(#legal-search:placeholder-shown) .legal-search-meta{display:none}

/* Independent columns keep rules and privacy aligned at the top. */
.legal-hub .legal-catalogue-column{display:flex;flex-direction:column;gap:var(--space-after-h4);min-width:0}
.legal-hub .legal-catalogue-column:not(:has(>[data-legal-group]:not(.hidden))){display:none}
.legal-hub .legal-catalogue:not(:has(>.legal-catalogue-column:first-child>[data-legal-group]:not(.hidden))),.legal-hub .legal-catalogue:not(:has(>.legal-catalogue-column:last-child>[data-legal-group]:not(.hidden))){grid-template-columns:minmax(0,1fr)}
@media (max-width:991px){.legal-hub .legal-catalogue{grid-template-columns:minmax(0,1fr)}}
