/* Shared detail actions across the public template libraries. */
.lib-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.lib-actions :is(.lib-use,.lib-download,.lib-copy) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; width:auto; padding:10px 16px; border:1px solid var(--teal,var(--forest,#236b5c)); border-radius:0; font:700 16px/1.3 var(--sans,ui-sans-serif,sans-serif); text-decoration:none; cursor:pointer; }
.lib-actions .lib-use { background:var(--teal,var(--forest,#236b5c)); color:var(--on-filled,#fff); }
.lib-actions .lib-use:hover { background:var(--teal-dark,var(--forest-deep,#174b41)); }
.lib-actions :is(.lib-download,.lib-copy) { background:var(--surface,var(--paper,#fffefa)); color:var(--teal,var(--forest,#236b5c)); }
.lib-actions :is(.lib-download,.lib-copy):hover { background:var(--teal-light,var(--hover,#e1eee8)); }
.lib-download::after { content:"↓"; display:inline-block; margin-inline-start:.45em; font-weight:500; }
.lib-actions :is(.lib-use,.lib-download,.lib-copy):focus-visible { outline:3px solid var(--focus-ring,#236b5c); outline-offset:3px; }
@media(max-width:550px) { .lib-actions :is(.lib-use,.lib-download,.lib-copy) { flex:1 1 100%; } }
