/* GGS listing + document pages (notices, events, news, gallery, disclosure). Loaded via $pageCss after base.css. */

.page--doc main{background:var(--surface);}
.page-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:18px;font-size:var(--meta);color:var(--muted);}
.page-head + .section{padding-top:40px;}
.breadcrumb{margin-bottom:4px;}

.filters{display:flex;flex-direction:column;gap:18px;margin-bottom:28px;}
.filters__chips{display:flex;flex-wrap:wrap;gap:8px;}
.filters__chips .chip{padding:9px 14px;min-height:36px;}
.chip--filter[aria-current="true"]{background:var(--ink);color:var(--on-ink);}
.filters__form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.filters__form .field{flex:1 1 180px;}
.filters__form .field--grow{flex:2 1 240px;}
.filters__form .btn{min-height:48px;}

.listing{display:flex;flex-direction:column;gap:14px;}
.listing + .listing{margin-top:36px;}
.month-head{position:sticky;top:var(--header-h-scrolled);z-index:5;margin:14px 0 0;padding:10px 0;background:var(--ground);border-bottom:1px solid var(--line-2);font-size:var(--eyebrow);font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);}
.month-head:first-child{margin-top:0;}
.notice-row__file--btn{padding:10px 14px;border-radius:12px;border:1.5px solid var(--line-2);min-height:44px;}
.notice-row__file--btn:hover{border-color:var(--teal);}

.article{max-width:760px;}
.article__meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:var(--meta);color:var(--muted);margin-top:18px;}
.article__meta strong{color:var(--ink);font-weight:500;}
.article h1{margin-top:18px;font-size:clamp(1.875rem,1.4rem + 2vw,2.75rem);max-width:24ch;}
.article__dek{margin-top:16px;}
.article__body{margin-top:32px;font-size:1.0625rem;}
.article__body h2{font-size:1.5rem;}
.article__body h3{font-size:1.25rem;}
.article__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line-2);}
.article__actions .btn-wa{background:var(--surface);color:var(--green);border-color:var(--green);}
.article__actions .btn-wa:hover{background:var(--green);color:var(--on-ink);}
.article__back{margin-top:28px;}
.article__attach{margin-top:28px;}
.event-hero{display:flex;align-items:flex-start;gap:24px;margin-top:18px;}
.event-hero .date-tile{width:88px;height:88px;}
.event-hero .date-tile__day{font-size:2rem;}
.event-hero__meta{display:grid;gap:6px;font-size:1rem;color:var(--text-2);}
.event-hero__meta strong{color:var(--ink);font-weight:500;}
.article__poster{margin-top:32px;border-radius:var(--r-img);overflow:hidden;}
.article__poster img{width:100%;height:auto;}

.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.news-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-card);}
.news-card__media{aspect-ratio:16 / 10;background:var(--ground-2);overflow:hidden;display:block;}
.news-card__media picture{display:block;width:100%;height:100%;}
.news-card__media img{width:100%;height:100%;object-fit:cover;}
.news-card__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.mt{margin-top:20px;}
.news-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;}
.news-card__title{font-size:1.25rem;font-weight:500;line-height:1.3;}
.news-card__title a:hover{color:var(--orange-hover);}
.news-card__text{font-size:0.9375rem;color:var(--text-2);}
.news-card__date{margin-top:auto;font-size:var(--meta);color:var(--muted);}

.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.album-card{overflow:hidden;border-radius:var(--r-card);}
.album-card__media{aspect-ratio:4 / 3;background:var(--ground-2);overflow:hidden;display:block;}
.album-card__media picture{display:block;width:100%;height:100%;}
.album-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-base) var(--ease-bloom);}
.album-card__body{padding:20px 22px 24px;}
.album-card__title{font-size:1.25rem;font-weight:500;line-height:1.3;}
.album-card__meta{font-size:var(--meta);color:var(--muted);margin-top:6px;}
.consent-note{font-size:var(--meta);color:var(--muted);margin-top:16px;}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.photo-grid a{display:block;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--ground-2);}
.photo-grid picture,.photo-grid img{width:100%;height:100%;}.photo-grid img{object-fit:cover;}
.lightbox{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;background:rgba(10,20,80,0.92);padding:16px;}
.lightbox:target{display:flex;}
.lightbox__figure{max-width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px;}
.lightbox a{color:var(--on-ink-link);}
.lightbox__figure img{max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;border-radius:12px;}
.lightbox__caption{color:var(--on-ink-2);font-size:var(--meta);text-align:center;}
.lightbox__btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;}
.lightbox__btn svg{width:20px;height:20px;}
.lightbox__prev{left:16px;}
.lightbox__next{right:16px;}
.lightbox__close{position:absolute;top:16px;right:16px;transform:none;}
/* Native dialog lightbox (JS). The :target fallback above stays for no-JS browsers. */
.lightbox-dialog{border:0;padding:0;margin:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;background:transparent;color:var(--on-ink-2);}
.lightbox-dialog::backdrop{background:rgba(10,20,80,0.92);}
.lightbox-dialog__panel{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:16px;}
.lightbox-dialog__figure{max-width:min(1200px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;}
.lightbox-dialog__img{max-width:100%;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);width:auto;height:auto;object-fit:contain;border-radius:12px;background:rgba(255,255,255,0.06);}
.lightbox-dialog__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:var(--meta);text-align:center;color:var(--on-ink-2);}
.lightbox-dialog__count{font-weight:600;color:var(--on-ink);}
.lightbox-dialog__full{color:var(--on-ink-link);text-decoration:underline;text-underline-offset:0.15em;}
.lightbox-dialog .lightbox__btn{border:0;cursor:pointer;}
.lightbox-dialog .lightbox__btn:disabled{opacity:0.35;cursor:default;}
.lightbox-dialog .lightbox__btn:focus-visible{box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--on-ink);}
body.lightbox-open{overflow:hidden;}

.doc{padding:40px 0 64px;}
.doc .breadcrumb{margin-bottom:20px;}
.doc__head{padding-bottom:28px;border-bottom:2px solid var(--ink);}
.doc__head h1{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.5rem);max-width:28ch;}
.doc__letterhead{font-size:var(--meta);color:var(--text-2);margin:0 0 10px;}
.doc__letterhead strong{font-weight:600;color:var(--ink);}
.doc__law{margin-top:12px;font-size:var(--meta);color:var(--text-2);max-width:70ch;}
.doc__stamp{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:1rem;color:var(--ink);}
.doc__stamp time{font-weight:600;}
.doc__head .status-pill{margin-top:16px;}
.doc-nav{position:sticky;top:var(--header-h-scrolled);z-index:10;background:var(--surface);border-bottom:1px solid var(--line-2);margin:0 0 8px;}
.doc-nav ul{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:8px 0;margin:0;list-style:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.doc-nav a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border-radius:10px;font-size:0.9375rem;font-weight:500;color:var(--ink);white-space:nowrap;}
.doc-nav a:hover,.doc-nav a[aria-current="page"]{background:var(--ground);color:var(--ink);}
.doc-nav a b{font-weight:700;color:var(--band);}
.doc-section{padding-top:40px;scroll-margin-top:120px;}
.doc-section__head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;}
.doc-section__head h2{font-size:1.5rem;}
.doc-section__head .code{font-family:var(--font-text);font-size:var(--eyebrow);font-weight:700;letter-spacing:0.1em;color:var(--band);border:1.5px solid var(--band);border-radius:8px;padding:4px 8px;}
.doc-section__note{font-size:0.9375rem;color:var(--text-2);margin-bottom:14px;max-width:80ch;}
.doc-section h3{font-family:var(--font-text);font-size:1.125rem;font-weight:600;margin:24px 0 10px;}
.doc .table-wrap{border-radius:8px;border-color:var(--line-2);}
.doc .table{font-size:0.9375rem;}
.doc .table th,.doc .table td{padding:12px 14px;}
.doc .table th{background:var(--ground);color:var(--ink);letter-spacing:0.06em;}
.doc .table td:first-child{white-space:normal;}
.doc .table tbody th{font-size:inherit;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);background:none;}
.doc .table td.row-code{width:64px;white-space:nowrap;}
.doc .table tr:target td{background:var(--chip-academics);}
.doc-file{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--sky-deep);text-decoration:underline;text-underline-offset:0.15em;}
.doc-file svg{width:16px;height:16px;flex:0 0 auto;}
.doc-file__meta{display:block;font-size:0.8125rem;color:var(--muted);font-weight:400;margin-top:2px;}
.doc-file__gap{display:block;height:8px;}
.doc-download{margin-top:24px;padding:20px 22px;border:1.5px solid var(--ink);border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;}
.doc-download .btn{margin:0;}
.doc-download__meta{font-size:0.9375rem;color:var(--text-2);max-width:60ch;}
.doc-download__meta strong{color:var(--ink);font-weight:600;}
.doc-download--pending{border-style:dashed;border-color:var(--line-2);}
.doc-list{margin:0 0 16px 20px;font-size:0.9375rem;color:var(--text-2);line-height:1.6;}
.doc-list li + li{margin-top:6px;}
.doc-keydates{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0 8px;}
.doc-keydates div{padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;font-size:0.9375rem;}
.doc-keydates time{display:block;font-weight:600;color:var(--ink);}
.doc-keydates span{color:var(--text-2);}
.doc-chip{display:inline-flex;align-items:center;gap:6px;font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-chip);white-space:nowrap;}
.doc-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.doc-chip--current{background:var(--chip-achievements);color:var(--green);}
.doc-chip--review{background:var(--chip-events);color:var(--warning);}
.doc-chip--overdue{background:var(--chip-notices);color:var(--error);}
.doc-chip--missing{background:var(--chip-notices);color:var(--error);}
.doc-chip--not-applicable{background:var(--chip-academics);color:var(--text-2);}
.doc-clause{margin-top:20px;padding:18px 20px;border:1px solid var(--line-2);border-left:4px solid var(--band);font-size:0.9375rem;line-height:1.6;color:var(--text);}
.doc-clause p + p{margin-top:10px;}
.doc-sign{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.doc-sign > div{border-top:1px solid var(--ink);padding-top:10px;font-size:0.9375rem;}
.doc-sign strong{display:block;color:var(--ink);}
.doc__foot{margin-top:48px;padding-top:20px;border-top:1px solid var(--line-2);font-size:var(--meta);color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;}
.doc-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.doc-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1.5px solid var(--line-2);border-radius:10px;font-weight:500;color:var(--ink);font-size:0.9375rem;}
.doc-links a:hover{border-color:var(--ink);}
.doc-committee{margin-top:32px;padding-top:28px;border-top:1px solid var(--line-2);scroll-margin-top:120px;}
.doc-committee h2{font-size:1.375rem;}
.doc-committee__basis{font-size:var(--meta);color:var(--muted);margin-top:6px;}
.doc-committee__rule{font-size:0.9375rem;color:var(--text-2);margin:10px 0 14px;max-width:80ch;}
.doc-committee .prose{font-size:0.9375rem;margin-top:14px;max-width:80ch;}
.doc-helplines{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.doc-helplines a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1.5px solid var(--ink);border-radius:12px;color:var(--ink);min-height:44px;}
.doc-helplines strong{font-size:1.5rem;font-family:var(--font-display);}
.doc-helplines span{font-size:var(--meta);color:var(--text-2);}
.doc-empty{padding:20px;border:1.5px dashed var(--line-2);border-radius:12px;font-size:0.9375rem;color:var(--text-2);}

@media (min-width:1024px) {
  .doc-nav ul{flex-wrap:wrap;overflow:visible;}
}
@media (max-width:1023px) {
  .news-grid,.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:767px) {
  .news-grid,.album-grid{grid-template-columns:1fr;gap:16px;}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .filters__form .btn{width:100%;}
  .event-hero{gap:16px;}
  .event-hero .date-tile{width:72px;height:72px;}
  .doc{padding-top:24px;}
  .doc-sign,.doc-helplines{grid-template-columns:1fr;}
  .lightbox__btn{width:44px;height:44px;}
  .lightbox__prev{left:8px;} .lightbox__next{right:8px;}
  .doc .table--stack,.doc .table--stack tbody,.doc .table--stack tr,.doc .table--stack td,.doc .table--stack tbody th{display:block;width:100%;}
  .doc .table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .doc .table--stack tr{border-bottom:6px solid var(--ground);}
  .doc .table--stack td{border-bottom:1px solid var(--line);padding:8px 14px;}
  .doc .table--stack td::before{content:attr(data-th);display:block;font-size:0.6875rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;}
  .doc .table--stack td.row-code{width:100%;background:var(--ground);color:var(--ink);}
  .doc .table--stack td.row-code::before{display:none;}
  .doc .table--stack td:has(> .cell-dash:only-child){display:none;}
  .month-head{top:64px;}
}

@media print {
  .filters,.pagination,.article__actions,.doc-nav,.lightbox,.lightbox-dialog,.breadcrumb,.article__back,.doc-links{display:none !important;}
  .doc{padding:0;}
  .doc .table-wrap{border:0;overflow:visible;}
  .doc .table th,.doc .table td{border:1px solid #999;padding:4px 6px;font-size:9pt;overflow-wrap:anywhere;}
  .doc .table--stack td:has(> .cell-dash:only-child){display:table-cell !important;}
  .doc-chip{font-size:7pt;padding:2px 6px;}
  .doc .table--stack{display:table;width:100%;}
  .doc .table--stack tbody{display:table-row-group;}
  .doc .table--stack thead{display:table-header-group;position:static;width:auto;height:auto;clip:auto;overflow:visible;}
  .doc .table--stack tr{display:table-row;border:0;}
  .doc .table--stack td,.doc .table--stack tbody th{display:table-cell;width:auto;}
  .doc .table--stack td::before{display:none;}
  .doc .table--stack td.row-code{background:none;width:56px;}
  .doc .table th{white-space:normal;overflow-wrap:normal;}
  .doc .table tbody th{width:26%;}
  .doc .table td:nth-child(3){width:36%;overflow-wrap:break-word;}
  .doc .table td time,.doc .table .doc-chip{white-space:nowrap;}
  .doc .table{table-layout:auto;}
  .doc-chip{border:1px solid #000;background:none !important;color:#000 !important;}
  .doc-section{break-inside:auto;}
  .doc-section__head,.doc .table tr{break-inside:avoid;page-break-inside:avoid;}
  .doc__head{break-after:avoid;}
  .doc-nav,.status-pill{display:none !important;}
  .article__body{font-size:11pt;}
}

/* Press cuttings: shown whole on a paper ground instead of cropped, so mixed shapes read as clippings */
.news-card--clipping .news-card__media{background:#F4EFE6;padding:14px;box-sizing:border-box;}
.news-card--clipping .news-card__media img{object-fit:contain;}
.article__poster--clipping{background:#F4EFE6;padding:28px;max-width:640px;margin-left:auto;margin-right:auto;}
.article__poster--clipping img{box-shadow:0 1px 2px rgba(0,34,70,.12),0 10px 28px -12px rgba(0,34,70,.3);}
.article__poster-cap{margin-top:12px;font-size:var(--meta);color:var(--muted);text-align:center;}
@media (max-width:640px){.article__poster--clipping{padding:16px;}}
