/* Al-Bayan Al-Wadih · legal library (hub, laws, law pages, judiciary, research) */
.lib-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); }
.lib-tile { display: grid; gap: var(--s-2); align-content: start; padding: var(--s-5) var(--s-4); background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); text-decoration: none; color: var(--ink); box-shadow: var(--sh-1); transition: transform var(--t), border-color var(--t), box-shadow var(--t); }
.lib-tile:hover { transform: translateY(-2px); border-color: var(--brass); box-shadow: var(--sh-2); color: var(--ink); }
.lib-tile__icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--ivory); color: var(--brass-dark); }
.lib-tile__h { font: 700 var(--fs-sm)/1.35 var(--f-body); }
.lib-tile__n { font-size: var(--fs-xs); color: var(--muted); }
.lib-tile--tools { background: var(--ink); border-color: var(--ink); color: var(--ivory); }
.lib-tile--tools:hover { color: var(--ivory); }
.lib-tile--tools .lib-tile__n { color: #B9C6D1; }
@media (max-width: 1280px) { .lib-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .lib-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .lib-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.lib-tiles { margin-bottom: var(--s-6); }
.lib-more { text-align: center; margin: var(--s-5) 0 0; }
.lib-filter { background: var(--ink); color: var(--ivory); border-radius: var(--r-lg); padding: clamp(1rem, 3vw, 1.75rem); margin-bottom: var(--s-5); }
.lib-filter__row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--s-3); }
.lib-filter input, .lib-filter select { min-height: 50px; border-radius: var(--r); border: 1px solid var(--line-dark); background: var(--white); color: var(--text);
  font: 400 var(--fs-sm)/1.4 var(--f-body); padding: .6rem 1rem; min-width: 0; }
.lib-filter input:focus, .lib-filter select:focus { outline: 2px solid var(--brass); outline-offset: 2px; }
.lib-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.lib-chip { border: 1px solid var(--line-dark); background: transparent; color: #C9D4DD; border-radius: 999px; padding: .45em 1em; min-height: 40px;
  font: 500 var(--fs-xs)/1.2 var(--f-body); cursor: pointer; }
.lib-chip:hover { border-color: var(--brass-light); color: var(--ivory); }
.lib-chip[aria-pressed="true"] { background: var(--brass); border-color: var(--brass); color: var(--ink-deep); }
.lib-count { margin: var(--s-3) 0 0; font-size: var(--fs-xs); color: #B9C6D1; min-height: 1.4em; }
.no-js .lib-chips, .no-js .lib-count { display: none; }
@media (max-width: 720px) { .lib-filter__row { grid-template-columns: 1fr 1fr; } .lib-filter__row input { grid-column: 1 / -1; } }

.lib-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
@media (max-width: 1000px) { .lib-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .lib-grid { grid-template-columns: 1fr; } }
.lib-item { display: flex; flex-direction: column; gap: var(--s-2); background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: var(--s-5);
  box-shadow: var(--sh-1); min-width: 0; scroll-margin-top: 110px; }
.lib-item[hidden] { display: none; }
.lib-item:target { border-color: var(--brass); box-shadow: 0 0 0 3px rgba(184, 146, 90, .25); }
.lib-item h3 { font-size: 1.15rem; margin: 0; }
:lang(en) .lib-item h3 { font-size: 1.35rem; }
.lib-item h3 a { text-decoration: none; }
.lib-item h3 a:hover { text-decoration: underline; }
.lib-item > p { color: var(--muted); font-size: var(--fs-sm); margin: 0; }
.lib-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35em .9em; font-size: var(--fs-xs); color: var(--muted); }
.lib-tag { display: inline-flex; align-items: center; gap: .35em; padding: .15em .7em; border-radius: 999px; background: var(--ivory); color: var(--brass-dark); font-weight: 600; }
.lib-tag .icon { width: 1em; height: 1em; }
.lib-tag--law { background: #E8EEF3; color: var(--ink); }
.lib-tag--article { background: #EEF5F0; color: var(--ok); }
.lib-facts { margin: var(--s-1) 0 0; display: grid; gap: .2em; font-size: var(--fs-xs); }
.lib-facts div { display: flex; gap: .5em; }
.lib-facts dt { color: var(--muted); flex: none; }
.lib-facts dt::after { content: ":"; }
.lib-facts dd { margin: 0; color: var(--ink); font-weight: 500; }
.lib-pub { font-size: var(--fs-xs); color: var(--ink); margin: 0; }
.lib-item__links { margin-top: auto; padding-top: var(--s-3); display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); align-items: center; border-top: 1px solid var(--line); }
.lib-ext { font-size: var(--fs-xs); font-weight: 600; color: var(--brass-dark); }
.lib-ext--strong { font-size: var(--fs-sm); }
.lib-item .link-arrow { font-size: var(--fs-xs); }

.lib-split { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--s-7); align-items: start; }
.lib-split .feature-list { grid-template-columns: 1fr; gap: var(--s-4); }
@media (max-width: 900px) { .lib-split { grid-template-columns: 1fr; gap: var(--s-6); } }
.lib-tl { list-style: none; padding: 0; margin: var(--s-4) 0; border-inline-start: 2px solid var(--line); }
.lib-tl__item { position: relative; display: grid; gap: .15em; padding: 0 0 var(--s-4); padding-inline-start: var(--s-5); }
.lib-tl__item::before { content: ""; position: absolute; inset-inline-start: -7px; top: .45em; width: 12px; height: 12px; border-radius: 50%; background: var(--white); border: 2px solid var(--ink); }
.lib-tl__item--amend::before { background: var(--brass); border-color: var(--brass); }
.lib-tl__item--force::before { background: var(--ok); border-color: var(--ok); }
.lib-tl__item time { font-size: var(--fs-xs); color: var(--brass-dark); font-weight: 600; }
.lib-tl__item a { font-weight: 700; text-decoration: none; }
.lib-tl__item span { font-size: var(--fs-sm); color: var(--muted); }

.lib-hero-facts { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.lib-hero-facts span { padding: .3em .9em; border-radius: 999px; border: 1px solid var(--line-dark); color: var(--ivory); font-size: var(--fs-xs); }
.lib-official { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4); margin: var(--s-6) 0; padding: var(--s-5);
  background: var(--ivory); border: 1px solid var(--line); border-radius: var(--r); }
.lib-official h3 { margin: 0 0 var(--s-1); }
.lib-official p { margin: 0; color: var(--muted); font-size: var(--fs-sm); }
.lib-disclaimer { display: flex; gap: var(--s-3); align-items: flex-start; font-size: var(--fs-xs); color: var(--muted); margin: var(--s-5) 0 0; }
.lib-disclaimer .icon { flex: none; width: 1.2em; height: 1.2em; color: var(--brass); margin-top: .2em; }
.lib-h { display: flex; align-items: center; gap: var(--s-3); font-size: var(--fs-xl); margin-bottom: var(--s-5); }
.lib-h .icon { color: var(--brass); width: 1em; height: 1em; }
.lib-steps li { padding-top: var(--s-6); }
.lib-steps p { font-size: var(--fs-sm); }

/* «أجابت الجهات الرسمية» (official answers) */
.lib-tag--answer { background: #F6EEE3; color: #7A5A2E; }
.lib-grid--answers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .lib-grid--answers { grid-template-columns: 1fr; } }
.lib-ans h3 { font-size: 1.05rem; line-height: 1.6; }
.lib-ans__a { background: var(--ivory, #FBF9F5); border-inline-start: 3px solid var(--copper, #B8925A); padding: var(--s-3) var(--s-4); border-radius: 6px; }
.lib-ans__a strong { color: var(--ink); }
.lib-ans:target { outline: 2px solid var(--copper, #B8925A); outline-offset: 3px; }
.section--ivory .lib-ans { background: var(--white); }
