/* الجريدة الرسمية — tree + PDF pane + search. RTL-first; physical sides are
   written as logical properties so the page flips with the language. */
.gz{max-width:1320px;margin-inline:auto;padding:.6rem clamp(.8rem,3vw,2rem) 2.5rem}
.gz-head{margin-block-end:.9rem}
.gz-head .cat-title{margin-block-end:.7rem}
.gz-search{display:flex;flex-wrap:wrap;gap:.5rem;max-width:860px}
.gz-search input{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--hair);
  border-radius:var(--r);padding:.62rem .8rem;min-block-size:44px}
.gz-q{flex:1 1 320px}
.gz-n{flex:0 0 110px;inline-size:110px}
.gz-search input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.gz-go{font:inherit;font-weight:700;color:#fff;background:var(--lx-accent-shade,var(--accent));border:0;
  border-radius:var(--r);padding:.62rem 1.4rem;min-block-size:44px;cursor:pointer}
.gz-go:hover{filter:brightness(1.08)}

.gz-layout{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:1rem;align-items:start}
.gz-side,.gz-view{background:var(--card);border:1px solid var(--hair);border-radius:var(--r);
  box-shadow:var(--shadow);min-inline-size:0}
.gz-side{display:flex;flex-direction:column;block-size:calc(100vh - 10rem);min-block-size:420px;position:sticky;inset-block-start:5.4rem;
  background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.gz-tabs{display:flex;gap:.25rem;padding:.4rem .4rem 0;border-block-end:1px solid var(--hair)}
.gz-tabs button{font:inherit;font-weight:700;font-size:.9rem;background:none;border:0;color:var(--muted);
  padding:.55rem .9rem;cursor:pointer;border-block-end:2px solid transparent;margin-block-end:-1px}
.gz-tabs button.is-on{color:var(--ink);border-block-end-color:var(--accent)}
.gz-tree,.gz-found{overflow:auto;padding:.5rem .4rem 1rem;flex:1;overscroll-behavior:contain}
.gz-note{color:var(--muted);padding:.8rem;margin:0}

/* the tree */
.gz ul{list-style:none;margin:0;padding:0}
.gz ul ul{margin-inline-start:.9rem;border-inline-start:1px solid var(--hair);padding-inline-start:.35rem}
.gz-row{display:flex;align-items:flex-start;gap:.35rem;inline-size:100%;text-align:start;font:inherit;
  font-size:.92rem;line-height:1.5;color:var(--ink);background:none;border:0;border-radius:var(--r-sm);
  padding:.32rem .45rem;cursor:pointer}
.gz-row:hover{background:rgba(var(--lx-accent-rgb),.07)}
.gz-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.gz-row .ic{flex:0 0 auto;inline-size:1em;color:var(--muted);transition:transform .15s}
li[aria-expanded="true"]>.gz-row .ic{transform:rotate(90deg)}
[dir="rtl"] .gz-row .ic{transform:scaleX(-1)}
[dir="rtl"] li[aria-expanded="true"]>.gz-row .ic{transform:scaleX(-1) rotate(90deg)}
.gz-row .tx{flex:1;min-inline-size:0;overflow-wrap:anywhere}
.gz-row.is-file .ic{color:var(--accent)}
.gz-row.is-file{font-size:.88rem}
.gz-row.is-cur{background:rgba(var(--lx-accent-rgb),.13);font-weight:700}
.gz-wait,.gz-err{color:var(--muted);font-size:.85rem;padding:.3rem .6rem}
.gz-err{color:#9b1c1c}

/* results */
.gz-sum{padding:.5rem .7rem;color:var(--muted);font-size:.88rem}
.gz-grp{margin:.4rem 0 0;padding:.5rem .7rem .2rem;font-size:.82rem;font-weight:800;color:var(--accent-dark);
  letter-spacing:.02em}
.gz-hit{display:block;inline-size:100%;text-align:start;font:inherit;font-size:.9rem;line-height:1.55;
  color:var(--ink);background:none;border:0;border-block-end:1px solid var(--hair);padding:.6rem .7rem;cursor:pointer}
.gz-hit:hover{background:rgba(var(--lx-accent-rgb),.06)}
.gz-hit small{display:block;color:var(--muted);font-size:.78rem}
.gz-hit.is-cur{background:rgba(var(--lx-accent-rgb),.13)}
.gz-hit--doc{text-decoration:none}
.gz-more{display:block;padding:.7rem;color:var(--accent-dark);font-weight:700;font-size:.88rem}

.gz-snip{display:block;margin-block-start:.3rem;color:var(--muted);font-size:.82rem;line-height:1.65}
.gz-lockn{margin:.1rem .7rem .3rem;font-size:.8rem;color:var(--muted)}
.gz-lockn a{color:var(--accent-dark);font-weight:700}

/* the PDF pane */
.gz-view{display:flex;flex-direction:column;block-size:calc(100vh - 10rem);min-block-size:420px;position:sticky;inset-block-start:5.4rem;overflow:hidden}
.gz-bar{display:flex;align-items:center;gap:.8rem;padding:.5rem .8rem;border-block-end:1px solid var(--hair);background:#faf8f5}
.gz-bar__t{flex:1;min-inline-size:0;font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gz-bar__a{font-size:.85rem;color:var(--accent-dark);font-weight:700;white-space:nowrap}
.gz-bar__x{font:inherit;font-size:1.3rem;line-height:1;background:none;border:0;color:var(--muted);cursor:pointer;
  min-inline-size:36px;min-block-size:36px;display:none}
.gz-frame{flex:1;inline-size:100%;border:0;background:#fff}
.gz-empty{margin:auto;text-align:center;color:var(--muted);padding:2rem;max-inline-size:34ch}
.gz-empty__t{font-weight:800;color:var(--ink);font-size:1.1rem;margin:0 0 .3rem}

/* phones: the pane opens over the page, the tree is the page */
@media (max-width:900px){
  .gz-layout{grid-template-columns:1fr}
  .gz-side{position:static;block-size:auto;max-block-size:70vh}
  .gz-view{position:fixed;inset:0;z-index:1500;block-size:auto;min-block-size:0;border-radius:0;display:none}
  .gz.is-open .gz-view{display:flex}
  .gz-empty{display:none}
  .gz-bar__x{display:block}
  .gz-n{flex:1 1 100px}
}
@media (prefers-reduced-motion:reduce){.gz-row .ic{transition:none}}

/* the hidden attribute must win over the display rules above */
.gz [hidden]{display:none !important}
