/* ZSEl Nr 2 — independent public school gallery V131 */
.zse131-wrap{width:min(1240px,calc(100% - 40px));margin:auto}.zse131-home{background:#eef4fa;padding:64px 0}.zse131-home .zse131-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;border-radius:23px;overflow:hidden;background:#09233e;color:#fff;box-shadow:0 18px 35px #0a243b22}.zse131-home img{width:100%;height:330px;object-fit:cover}.zse131-home-copy{padding:30px 38px 30px 8px}.zse131-overline{font-size:12px;font-weight:900;color:#b51e35;letter-spacing:.12em;text-transform:uppercase}.zse131-home .zse131-overline{color:#ff8090}.zse131-home h2{font-size:clamp(26px,3vw,38px);line-height:1.16;margin:8px 0 14px}.zse131-home p{opacity:.9}.zse131-button{display:inline-flex;background:#da233d;color:#fff!important;border-radius:12px;padding:12px 17px;font-weight:850;margin-top:12px;text-decoration:none!important}.zse131-button:hover{background:#bb1c34}.zse131-public{padding:52px 0 44px;background:#f7fafd;color:#132c45}.zse131-public h2{font-size:clamp(26px,3vw,38px);margin:7px 0 12px}.zse131-lead{color:#607488;margin:0 0 22px}.zse131-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.zse131-album{padding:0;border:1px solid #dce7ef;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 6px 22px #18345110;cursor:pointer;text-align:left;color:#122d47;transition:transform .15s}.zse131-album:hover{transform:translateY(-3px)}.zse131-album img{width:100%;height:205px;object-fit:cover}.zse131-album-copy{display:grid;gap:6px;padding:15px 17px}.zse131-album strong{font-size:19px}.zse131-album span{color:#ba1b38;font-weight:800;font-size:12px}.zse131-album small{color:#546b7c;font-size:13px}.zse131-none{border:1px solid #dce7ef;border-radius:13px;padding:18px;background:#fff;color:#546b7c}.zse131-drive{margin-top:38px;border-top:1px solid #d5e1ec;padding-top:18px}.zse131-drive h2{font-size:25px}.zse131-drive>p{color:#5a6c7d}.zse131-drive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.zse131-drive-card{display:grid;grid-template-columns:34px 1fr;gap:2px 7px;padding:15px;border:1px solid #b9d0e2;border-radius:12px;background:#fff;text-decoration:none!important;color:#153a58!important}.zse131-drive-icon{grid-row:span 2;font-size:25px;color:#b31d38}.zse131-drive-card strong{font-size:15px}.zse131-drive-card small{font-size:12px;color:#5f7180}.zse131-offline{padding:12px 18px;border:1px solid #d3e0eb;background:#f0f5f9}.zse131-lightbox[hidden]{display:none!important}.zse131-lightbox{position:fixed;inset:0;z-index:100008;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;background:rgba(3,10,21,.96);padding:65px 15px 35px;gap:12px;color:#fff}.zse131-lightbox button{color:#fff;background:#173854;border:1px solid #7690a5;border-radius:50%;width:50px;height:50px;cursor:pointer;font-size:33px}.zse131-lightbox button:hover{background:#365976}.zse131-close{position:absolute;right:22px;top:16px;width:45px!important;height:45px!important;font-size:23px!important}.zse131-stage{margin:0;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.zse131-stage img{display:block;object-fit:contain;max-width:100%;max-height:calc(100dvh - 140px)}.zse131-count{font-size:14px;color:#fff;line-height:1.4}.zse131-public :is(button,a):focus-visible,.zse131-home a:focus-visible,.zse131-lightbox button:focus-visible{outline:3px solid #eacb40;outline-offset:3px}@media(max-width:900px){.zse131-cards,.zse131-drive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zse131-home .zse131-wrap{grid-template-columns:1fr}.zse131-home img{height:260px}.zse131-home-copy{padding:0 24px 26px}}@media(max-width:600px){.zse131-cards,.zse131-drive-grid{grid-template-columns:1fr}.zse131-public,.zse131-home{padding:36px 0}.zse131-home img{height:200px}.zse131-album img{height:190px}.zse131-lightbox{grid-template-columns:38px minmax(0,1fr) 38px;gap:2px;padding:65px 5px 20px}.zse131-lightbox button{width:36px;height:38px;font-size:26px}.zse131-stage img{max-height:calc(100dvh - 190px)}}


/* V131.1 — row alignment: both gallery sections share the same layout grid.
   Restrict selectors to galeria.html: leave the homepage, header and CMS alone. */
body:has(main > .gallery-area) main > .zse131-public > .zse131-wrap,
body:has(main > .gallery-area) main > .gallery-area > .container {
  box-sizing: border-box;
  width: min(var(--wrap, 1240px), calc(100% - 40px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Both photo grids use equal gutters and consistent tile proportions. */
body:has(main > .gallery-area) main .zse131-cards,
body:has(main > .gallery-area) main .gallery-area .photos {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
}
body:has(main > .gallery-area) main .zse131-album img {
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media (max-width: 900px) {
  body:has(main > .gallery-area) main .zse131-cards,
  body:has(main > .gallery-area) main .gallery-area .photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  body:has(main > .gallery-area) main > .zse131-public > .zse131-wrap,
  body:has(main > .gallery-area) main > .gallery-area > .container {
    width: calc(100% - 24px) !important;
  }
  body:has(main > .gallery-area) main .zse131-cards,
  body:has(main > .gallery-area) main .gallery-area .photos {
    grid-template-columns: 1fr;
  }
}
