/* ---------- Statute reader (gz-statute): note + PDF, contents list, articles ---------- */

.gz.gz-statute,
.gz .gz-statute {
	--gz-statute-num: 4.6rem;
	--gz-statute-offset: 104px; /* sticky header + breathing room */
}

/* Note with the signed PDF */
.gz.gz-statute .gz-statute__note,
.gz .gz-statute .gz-statute__note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px 22px; padding: 22px 26px; margin-bottom: clamp(36px, 5vw, 56px); border-radius: var(--gz-radius); background: var(--gz-tint-blue); border-left: 4px solid var(--gz-blue); }
.gz .gz-statute__note-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--gz-radius-sm); background: #fff; color: var(--gz-blue); }
.gz .gz-statute__note-body { display: flex; flex-direction: column; gap: 6px; }
.gz .gz-statute__note-text { font-size: 16px; line-height: 1.6; color: var(--gz-body); max-width: 68ch; }
.gz .gz-statute__note-facts { font-size: 13px; line-height: 1.5; color: var(--gz-muted); font-variant-numeric: tabular-nums; }
.gz .gz-statute__note-action { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.gz .gz-statute__note-meta { font-size: 12px; color: var(--gz-muted); }

/* Two-column layout: sticky contents aside + text */
.gz .gz-statute__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; align-items: start; }

.gz .gz-statute__toc--aside { position: sticky; top: var(--gz-statute-offset); max-height: calc(100vh - var(--gz-statute-offset) - 24px); overflow-y: auto; overscroll-behavior: contain; padding: 4px 8px 4px 0; scrollbar-width: thin; }
.admin-bar .gz .gz-statute__toc--aside { top: calc(var(--gz-statute-offset) + 32px); max-height: calc(100vh - var(--gz-statute-offset) - 56px); }
.gz .gz-statute__toc-title-label { font-family: var(--gz-font-head); font-weight: 600; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gz-orange-text); margin-bottom: 12px; }
.gz ol.gz-statute__toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; border-left: 2px solid var(--gz-line); }
.gz .gz-statute__toc-list a { display: grid; grid-template-columns: 1.9em minmax(0, 1fr); gap: 6px; padding: 7px 10px 7px 12px; margin-left: -2px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; color: var(--gz-body); text-decoration: none; }
.gz .gz-statute__toc-list a:hover { color: var(--gz-blue); background: var(--gz-bg-muted); }
.gz .gz-statute__toc-list a[aria-current] { color: var(--gz-blue); border-left-color: var(--gz-orange); font-weight: 600; }
.gz .gz-statute__toc-num { font-weight: 600; color: var(--gz-slate); font-variant-numeric: tabular-nums; }
.gz .gz-statute__toc-list a[aria-current] .gz-statute__toc-num { color: var(--gz-orange-text); }

.gz .gz-statute__toc--drawer { display: none; }

/* Text */
.gz .gz-statute__body { font-family: var(--gz-font-serif); font-size: 18px; line-height: 1.72; color: var(--gz-ink); max-width: 46rem; display: flex; flex-direction: column; gap: clamp(40px, 5vw, 56px); }
.gz .gz-statute__article { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: var(--gz-statute-offset); }
.gz .gz-statute__article + .gz-statute__article { padding-top: clamp(32px, 4vw, 44px); border-top: 1px solid var(--gz-line); }
.gz .gz-statute__h2 { display: flex; flex-direction: column; gap: 4px; margin-bottom: 6px; font-size: clamp(22px, 2.4vw, 27px); line-height: 1.25; color: var(--gz-blue); }
.gz .gz-statute__kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gz-orange-text); }
.gz .gz-statute__h3,
.gz .gz-statute__h4 { font-size: 18px; line-height: 1.35; color: var(--gz-navy); margin-top: 14px; scroll-margin-top: var(--gz-statute-offset); }
.gz .gz-statute__h3 .gz-statute__num,
.gz .gz-statute__h4 .gz-statute__num { color: var(--gz-blue); margin-right: 4px; }

.gz .gz-statute__body > .gz-statute__article > :is(p, ul, ol) { padding-left: var(--gz-statute-num); }
.gz .gz-statute__clause { position: relative; scroll-margin-top: var(--gz-statute-offset); border-radius: 8px; transition: background-color .6s ease; }
.gz .gz-statute__clause > .gz-statute__num { position: absolute; left: 0; top: 0.28em; width: calc(var(--gz-statute-num) - 14px); font-family: var(--gz-font-body); font-size: 14px; line-height: 1.6; font-weight: 600; text-align: right; color: var(--gz-slate); font-variant-numeric: tabular-nums; }
.gz .gz-statute__num { text-decoration: none; }
.gz .gz-statute__num:hover { color: var(--gz-blue); text-decoration: underline; }
.gz .gz-statute__clause:target,
.gz .gz-statute__h3:target { background: var(--gz-tint-orange); box-shadow: 0 0 0 8px var(--gz-tint-orange); }
.gz .gz-statute__clause:target > .gz-statute__num { color: var(--gz-orange-text); }
.gz .gz-statute__body strong { font-weight: 600; color: var(--gz-navy); }
.gz :is(ul, ol).gz-statute__list { margin-left: 1.3em; display: flex; flex-direction: column; gap: 4px; }
.gz ol.gz-statute__list { list-style: decimal; }
.gz ul.gz-statute__list { list-style: disc; }

/* Narrow screens: one column, collapsible sticky contents list */
@media (max-width: 1024px) {
	.gz .gz-statute__layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.gz .gz-statute__toc--aside { display: none; }
	.gz .gz-statute__toc--drawer { display: block; position: sticky; top: 77px; z-index: 20; margin-inline: calc(-1 * var(--gz-gutter)); background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(8px); border-bottom: 1px solid var(--gz-line); }
	.admin-bar .gz .gz-statute__toc--drawer { top: calc(77px + 32px); }
	.gz .gz-statute__toc--drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 var(--gz-gutter); cursor: pointer; list-style: none; font-family: var(--gz-font-head); font-weight: 600; font-size: 15px; color: var(--gz-navy); }
	.gz .gz-statute__toc--drawer > summary::-webkit-details-marker { display: none; }
	.gz .gz-statute__toc--drawer > summary .gz-icon { transition: transform .2s ease; color: var(--gz-blue); }
	.gz .gz-statute__toc--drawer[open] > summary .gz-icon { transform: rotate(180deg); }
	.gz .gz-statute__toc--drawer nav { max-height: 60vh; overflow-y: auto; overscroll-behavior: contain; padding: 4px var(--gz-gutter) 16px; }
	.gz.gz-statute,
	.gz .gz-statute { --gz-statute-offset: 140px; }
}
@media (max-width: 782px) {
	.admin-bar .gz .gz-statute__toc--drawer { top: calc(77px + 46px); }
}
@media (max-width: 640px) {
	.gz.gz-statute,
	.gz .gz-statute { --gz-statute-num: 0px; }
	.gz.gz-statute .gz-statute__note,
	.gz .gz-statute .gz-statute__note { grid-template-columns: minmax(0, 1fr); padding: 20px; }
	.gz .gz-statute__note-icon { display: none; }
	.gz .gz-statute__note-action { align-items: stretch; }
	.gz .gz-statute__note-action .gz-btn { width: 100%; }
	.gz .gz-statute__body { font-size: 17px; line-height: 1.7; }
	.gz .gz-statute__clause > .gz-statute__num { position: static; display: inline; width: auto; margin-right: 6px; font-size: 14px; text-align: left; color: var(--gz-blue); }
}

@media print {
	.gz .gz-statute__toc,
	.gz .gz-statute__note-action { display: none !important; }
	.gz .gz-statute__layout { display: block; }
	.gz .gz-statute__body { max-width: none; font-size: 11pt; }
}
