/* LOHIS public website: landscape page reader only. Portal remains unchanged. */
.lohis-visitor-reader{width:min(1210px,calc(100% - 28px));margin:20px auto 34px}
.lohis-reader-tools,.lohis-reader-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #dbe5f0;border-radius:16px;padding:12px 17px}
.lohis-reader-tools{margin-bottom:12px;flex-wrap:wrap}
.lohis-reader-tools label{font-size:13px;font-weight:750;color:#071d49}
.lohis-reader-tools select{max-width:100%;padding:10px;border:1px solid #acc4dc;border-radius:9px;background:#fff}
.lohis-reader-tools p{margin:0;font-size:12px;color:#536a86}
.lohis-reader-controls{margin-top:12px;position:sticky;bottom:7px;z-index:10;box-shadow:0 8px 28px #071d4921}
.lohis-reader-controls button{border:1px solid #a9bdd6;border-radius:11px;padding:11px 17px;background:#071d49;color:#fff;font-weight:800;min-height:44px;cursor:pointer}
.lohis-reader-controls button:disabled{opacity:.46;cursor:not-allowed}
.lohis-reader-controls [role=status]{font-size:13px;color:#213e65;font-weight:750;text-align:center}
.lohis-visitor-reader .lohis-reader-stage{position:relative;isolation:isolate;height:clamp(410px,70svh,710px);aspect-ratio:16/10;max-height:710px;border:1px solid #d9e3f1;border-radius:18px;background:#f5f8fc;box-shadow:0 12px 42px #071d4920;overflow:hidden;perspective:1500px}
.lohis-visitor-reader .lohis-reader-page{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#fff;scrollbar-color:#bacbe1 #f5f8fc}
.lohis-visitor-reader .lohis-reader-page[hidden]{display:none!important}
.lohis-visitor-reader .lohis-reader-page > section{padding:30px 0}
.lohis-visitor-reader .lohis-reader-page > .hero{padding:0}
.lohis-visitor-reader .lohis-reader-page .hero-grid{padding:40px 0}
.lohis-visitor-reader .lohis-reader-page > .stats{margin:12px auto 30px}
.lohis-visitor-reader .lohis-reader-page .cta{padding:35px 0}
.lohis-visitor-reader .lohis-reader-page .contact-box{max-width:100%}
.lohis-visitor-reader .lohis-reader-page .wrap{width:min(1100px,calc(100% - 38px))}
.lohis-visitor-reader .lohis-reader-page:focus-visible{outline:3px solid #1565c0;outline-offset:-4px}
.lohis-visitor-reader .lohis-reader-page.is-active[data-direction="next"]{animation:lohis-page-next .28s ease-out}
.lohis-visitor-reader .lohis-reader-page.is-active[data-direction="previous"]{animation:lohis-page-prev .28s ease-out}
@keyframes lohis-page-next{from{opacity:.7;transform:translateX(18px) rotateY(-3deg)}to{opacity:1;transform:none}}
@keyframes lohis-page-prev{from{opacity:.7;transform:translateX(-18px) rotateY(3deg)}to{opacity:1;transform:none}}
.lohis-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin:20px auto}
.lohis-gallery-item{margin:0;border-radius:14px;overflow:hidden;border:1px solid #dbe5f0;background:#fff}
.lohis-gallery-item img,.lohis-gallery-item video{width:100%;height:215px;object-fit:contain;background:#eef4fc}
.lohis-gallery-item figcaption{padding:12px;font-size:13px;color:#334967}
.lohis-gallery-item a{color:#145bb0}
.lohis-gallery-note{padding:14px 18px;border:1px solid #dbe5f0;background:#f6faff;border-radius:14px;color:#536b85;font-size:13px}
.lohis-public-login-link{white-space:nowrap}
@media(max-width:920px){.lohis-visitor-reader .lohis-reader-stage{height:clamp(380px,67svh,650px)}}
@media(max-width:620px){html,body,main{max-width:100vw;overflow-x:clip;min-width:0}.lohis-visitor-reader{width:calc(100vw - 14px);max-width:calc(100vw - 14px);min-width:0;margin:11px auto;padding-bottom:82px}
 .lohis-visitor-reader .lohis-reader-stage{height:clamp(420px,69svh,630px);aspect-ratio:4/3}
 .lohis-visitor-reader .lohis-reader-page > section{padding:18px 0}
 .lohis-visitor-reader .lohis-reader-page .hero-grid{padding:18px 0}
 .lohis-visitor-reader .lohis-reader-page .wrap{width:calc(100% - 24px)}
 .lohis-reader-controls{position:fixed;left:0;right:0;bottom:0;width:100vw;max-width:100vw;z-index:9999;padding:9px 10px calc(9px + env(safe-area-inset-bottom));gap:6px;flex-wrap:wrap;isolation:isolate;border-radius:12px 12px 0 0;background:#fff}
 .lohis-reader-controls button{font-size:12px;padding:10px;flex:1}
 .lohis-reader-controls [role=status]{order:-1;width:100%}}
@media(prefers-reduced-motion:reduce){.lohis-visitor-reader .lohis-reader-page.is-active{animation:none!important}}
@media print{.lohis-reader-tools,.lohis-reader-controls{display:none!important}
 .lohis-visitor-reader .lohis-reader-stage{height:auto;max-height:none;overflow:visible;border:0;box-shadow:none}
 .lohis-visitor-reader .lohis-reader-page{position:static;display:block!important;overflow:visible;break-after:page;animation:none!important}}

/* Official Facebook Page is an external source, separate from approved school gallery assets. */
.lohis-facebook-source{margin-top:20px;padding:20px;border:1px solid #dbe5f0;border-radius:16px;background:#f6f9ff}
.lohis-facebook-source strong{display:block;color:#071d49;font-size:16px}
.lohis-facebook-source p{color:#536a86;margin:8px 0 14px;max-width:800px}
.lohis-facebook-embed{background:#fff;border:1px solid #dbe5f0;border-radius:14px;padding:16px;margin:16px 0}
.lohis-facebook-embed p{margin:0 0 12px;max-width:600px}
.lohis-facebook-embed .btn{border-radius:12px;min-height:44px;color:#fff}
.lohis-facebook-embed-frame{width:min(100%,500px);margin:14px auto 0;min-width:0}
.lohis-facebook-embed-frame iframe{display:block;max-width:100%;width:100%;height:650px;border:0;background:#f3f6fb}
.lohis-facebook-source-links{display:flex;gap:10px;flex-wrap:wrap}
.lohis-facebook-source-links .btn{min-height:44px;border-radius:12px;font-size:13px}
@media(max-width:620px){.lohis-facebook-source{padding:15px}.lohis-facebook-source-links{flex-direction:column}.lohis-facebook-source-links .btn{width:100%;text-align:center}}
