/* BETHORAHZAN / V4.0 — The Commonwealth interface
   Universal responsive, edge-to-edge system for public, member and admin views.
   All visual treatments are CSS; forms, checkout and server navigation remain native. */
:root {
  --boz-v4-ink:#0b1d2c;
  --boz-v4-navy:#0d2333;
  --boz-v4-glass:#163347;
  --boz-v4-gold:#e9b57b;
  --boz-v4-copper:#ca7048;
  --boz-v4-muted:#718596;
  --boz-v4-panel:#fcfaf6;
  --boz-v4-hairline:rgba(171,127,85,.25);
  --boz-v4-gutter:clamp(18px,3vw,64px);
}
html,body.institution-app { min-width:320px;max-width:100%; margin:0; }
body.institution-app {background:#eef0ef;}
body.institution-app .app-shell, body.institution-app .institution-content,
body.institution-app .institution-content>main, body.institution-app .institution-content>main>section,
body.institution-app .institution-content>main>.admin-shell,
body.institution-app .site-footer {max-width:100%;min-width:0;}
body.institution-app .institution-content {flex:1 1 auto;width:0;}
body.institution-app .site-container { width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:var(--boz-v4-gutter)!important; }
body.institution-app .institution-content>main {width:100%;overflow-x:clip;}
body.institution-app .row>* {min-width:0;}
body.institution-app img {max-width:100%;}
/* Tiny circuit coordinates and ceremonial pinstripe, carried by every content header. */
body.institution-app .page-hero {
  isolation:isolate;position:relative;min-height:315px;display:flex;align-items:center;
  padding-block:clamp(55px,6vw,104px);border-bottom:1px solid rgba(230,170,108,.36);
  background:#0a1a28;overflow:hidden;
}
body.institution-app .page-hero:before {
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(95deg,rgba(7,22,34,.98) 0%,rgba(7,22,34,.92) 42%,rgba(7,22,34,.7) 68%,rgba(7,22,34,.5) 100%),
    url('../img/hero-institution.webp') right 41% / cover no-repeat;
}
body.institution-app .site-route-impact .page-hero:before,
body.institution-app .site-route-giving .page-hero:before,
body.institution-app .site-route-contact .page-hero:before {
  background:linear-gradient(100deg,#071622f5 3%,#071622e0 49%,#0716226e 100%),url('../img/impact-network.webp') center / cover no-repeat;
}
body.institution-app .site-route-shop .page-hero:before,
body.institution-app .site-route-teachings .page-hero:before,
body.institution-app .site-route-appointments .page-hero:before {
  background:linear-gradient(100deg,#071622fa 4%,#071622ed 48%,#0716227f 100%),url('../img/mission-landscape.webp') center 45% / cover no-repeat;
}
body.institution-app .page-hero:after {
  content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;
  background:
    radial-gradient(circle at 79% 28%,rgba(234,171,99,.21) 0 1px,transparent 2px),
    linear-gradient(90deg,transparent calc(100% - 1px),rgba(240,189,129,.065) 100%),
    linear-gradient(0deg,transparent calc(100% - 1px),rgba(240,189,129,.05) 100%),
    radial-gradient(ellipse at 89% 58%,rgba(236,150,86,.17),transparent 37%);
  background-size:auto,64px 64px,64px 64px,auto;opacity:.92;
}
body.institution-app .page-hero>.site-container{position:relative;z-index:1;}
body.institution-app .page-hero>.site-container:after{
  content:"III";position:absolute;right:var(--boz-v4-gutter);bottom:0;
  color:rgba(243,183,116,.095);font:400 clamp(70px,15vw,230px)/.85 "Times New Roman",serif;
  pointer-events:none;letter-spacing:-.09em;
}
body.institution-app .page-hero h1 {font-size:clamp(38px,4.8vw,78px);line-height:1.07;letter-spacing:-.035em;max-width:min(1100px,80%);margin:17px 0 12px;overflow-wrap:break-word;}
body.institution-app .page-hero h1 em {color:var(--boz-v4-gold);}
body.institution-app .page-hero p {font:400 clamp(16px,1.35vw,21px)/1.55 "Times New Roman",Times,serif;max-width:min(750px,75%);margin:18px 0 0;color:#c7d5dc;}
body.institution-app .page-hero .eyebrow,
body.institution-app .page-hero .breadcrumb-line{position:relative;color:#e9bd90;letter-spacing:.2em;}
body.institution-app .page-hero .eyebrow:before{content:"";display:inline-block;width:7px;height:7px;margin-right:12px;transform:rotate(45deg);background:#e3a773;box-shadow:0 0 12px rgba(235,177,105,.5);}
/* Every inner page occupies the available viewport width: decorative bleed, readable *inside* gutters. */
body.institution-app section.inner-section {
  position:relative;isolation:isolate;padding-block:clamp(42px,4.6vw,76px);margin:0;border:0;
  background:
    radial-gradient(ellipse at 95% 9%,rgba(208,139,89,.085),transparent 37%),
    linear-gradient(180deg,#f5f3ee 0%,#eeefed 100%);
}
body.institution-app section.inner-section:before {
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background-image:linear-gradient(90deg,#14354b09 1px,transparent 1px),linear-gradient(#14354b07 1px,transparent 1px);
  background-size:82px 82px;mask-image:linear-gradient(90deg,transparent 12%,#000 100%);
}
body.institution-app section.inner-section>.site-container{position:relative;z-index:1;}
body.institution-app section.inner-section>.site-container:before {
  content:"BETHORAHZAN  /  GROWTH IN 3 DIMENSIONS";
  display:block;width:max-content;max-width:100%;margin-bottom:clamp(14px,2vw,26px);
  color:#8b6d59;font:800 9px/1.5 'Manrope',sans-serif;letter-spacing:.19em;
}
body.institution-app .section-title,body.institution-app .display-heading{letter-spacing:-.028em;line-height:1.08;}
body.institution-app .section-label,body.institution-app .meta-label,
body.institution-app .chapter-number{letter-spacing:.16em;}
body.institution-app .section-label:before{content:'◆';margin-right:9px;color:#ce8459;font-size:8px;vertical-align:2px;}
/* Ivory glass + gold micro-frame for public cards, resources, care forms and member panels. */
body.institution-app .info-card,body.institution-app .list-card,
body.institution-app .form-panel,body.institution-app .admin-stat,
body.institution-app .event-card {
  position:relative;isolation:isolate;border-radius:12px;border:1px solid #cfc9be;
  background:linear-gradient(145deg,#fffdf9,#f5f2ec 72%,#eeeae3);
  box-shadow:0 9px 34px rgba(17,36,51,.055),inset 0 1px 0 #fff;
  transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}
body.institution-app .info-card:before,body.institution-app .list-card:before,
body.institution-app .form-panel:before,body.institution-app .admin-stat:before {
  content:"";position:absolute;left:0;top:0;width:65px;height:2px;
  background:linear-gradient(90deg,#bc6947,#edb87b,transparent);z-index:2;pointer-events:none;
}
body.institution-app .list-card:hover,body.institution-app .info-card:hover,
body.institution-app .admin-stat:hover {
  transform:translateY(-4px);border-color:#d6a57e;
  box-shadow:0 19px 46px rgba(16,38,52,.14),inset 0 1px 0 #fff;
}
body.institution-app .info-card,body.institution-app .admin-stat{padding:clamp(20px,2vw,34px);}
body.institution-app .info-card h3,body.institution-app .list-card h3 {color:#163244;line-height:1.16;font-size:clamp(22px,2.2vw,34px);}
body.institution-app .info-card p,body.institution-app .list-card p {color:#536d7c;font-size:clamp(15px,1.12vw,18px);line-height:1.55;}
body.institution-app .info-card>i {display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border:1px solid #d6b497;border-radius:11px;background:#fbefe3;color:#b76a44;font-size:25px;}
body.institution-app .list-card .card-link {color:#a65135;letter-spacing:.12em;}
body.institution-app .product-art{min-height:190px;background:radial-gradient(ellipse at 40% 15%,#f6ddba,#e6e2d7 62%,#d6dfe3);}
body.institution-app .product-art:before{content:"";position:absolute;inset:13px;border:1px solid #c79e783c;border-radius:80% 10% 70% 20%;pointer-events:none;}
body.institution-app .product-art>i{filter:drop-shadow(0 10px 17px #654f4335)}
body.institution-app .product-card .product-info{padding:clamp(18px,2.2vw,29px)}
body.institution-app .event-card{overflow:hidden;}
/* Scoped accent only on forms — standard browser validation, CSRF and Stripe untouched. */
body.institution-app .form-panel {padding:clamp(20px,3.3vw,44px);}
body.institution-app .form-control,body.institution-app .form-select {
  width:100%;max-width:100%;border-radius:8px;border-color:#cbbfb0;
  background:#fffefa;padding:12px 15px;transition:border-color .2s,box-shadow .2s;
}
body.institution-app .form-control:focus,body.institution-app .form-select:focus {
  border-color:#b97b53;box-shadow:0 0 0 3px rgba(194,128,79,.17);outline:0;
}
body.institution-app .form-panel input[type=checkbox],body.institution-app .form-panel input[type=radio]{accent-color:#bf744a;}
body.institution-app .btn,body.institution-app .tag {white-space:normal;text-align:center;}
body.institution-app .btn {box-shadow:0 4px 12px #05182812;}
body.institution-app .btn-copper {background:linear-gradient(105deg,#bf613d,#dd9460);}
body.institution-app .btn-copper:hover{background:linear-gradient(105deg,#a84b31,#c9774c);}
body.institution-app .text-link{color:#ae5837;}
body.institution-app .empty-state{background:linear-gradient(130deg,#fefaf4,#eeeae2);border:1px dashed #c8b9a5;border-radius:12px;padding:clamp(32px,5vw,66px);}
body.institution-app .notice{border-left:4px solid #d28b5b;background:linear-gradient(90deg,#f5e6d8,#f7f3ee);border-radius:0 9px 9px 0;}
body.institution-app .dark-info,body.institution-app .slab{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(130deg,#112f40,#071b29);border:1px solid #b891634b;border-radius:12px;
  box-shadow:0 16px 38px #1025341f;
}
body.institution-app .dark-info:before,body.institution-app .slab:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:repeating-linear-gradient(90deg,transparent 0 80px,rgba(238,198,141,.065) 80px 81px),radial-gradient(ellipse at 90% 0%,#d9955d3a,transparent 45%);
}
/* Admin pages inherit the same edge-to-edge visual language without hiding data. */
body.institution-app .admin-shell{display:grid;grid-template-columns:minmax(205px,235px) minmax(0,1fr);width:100%;background:#f0f1ed;gap:0;}
body.institution-app .admin-sidebar{
  background:linear-gradient(180deg,#0d2636,#081724);border-right:1px solid rgba(215,162,103,.35);
  padding:clamp(18px,2vw,28px) 13px;min-width:0;
}
body.institution-app .admin-sidebar>span{padding:0 12px 11px;color:#e8b480;}
body.institution-app .admin-sidebar a {padding:12px 13px;border:1px solid transparent;border-radius:8px;color:#d3e0e6;transition:background .2s,border-color .2s,transform .2s;}
body.institution-app .admin-sidebar a:hover,body.institution-app .admin-sidebar a.is-active {
  color:#fff;background:linear-gradient(100deg,#7e513b73,#344f613a);border-color:#e7aa6d57;transform:translateX(2px);
}
body.institution-app .admin-sidebar a.is-active i{color:#f6c18a;}
body.institution-app .admin-main{min-width:0;overflow-x:clip;padding:clamp(23px,3vw,50px) var(--boz-v4-gutter);background:
  radial-gradient(ellipse at 90% 0%,#d7a67618,transparent 38%),
  linear-gradient(90deg,#244d6208 1px,transparent 1px),#f2f1ec;background-size:auto,92px 92px,auto;
}
body.institution-app .admin-main>div:first-child h1{font-size:clamp(31px,3.3vw,54px);}
body.institution-app .admin-stat strong{font-family:"Times New Roman",Times,serif;font-size:clamp(34px,3vw,49px);color:#17344b;}
body.institution-app .admin-stat i{color:#c17f50;font-size:22px;}
body.institution-app .admin-main .table-responsive,
body.institution-app .inner-section .table-responsive{max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c9976b #f3eee8;border:1px solid #e1d5c9;border-radius:10px;}
body.institution-app .table-modern{width:100%;min-width:560px;margin-bottom:0;}
body.institution-app .table-modern tbody tr:hover{background:#f9ecdd;}
body.institution-app .portal-nav{background:#e5e8e6;border:1px solid #bdc8c7;border-left:3px solid #c78251;border-radius:10px;gap:8px;padding:11px;}
body.institution-app .portal-nav a{border-radius:6px;}
/* Footer and header bleed fully with the content column on ultrawide displays. */
body.institution-app .site-footer{margin:0;border-top:1px solid #b78758;background:
  radial-gradient(circle at 8% 1%,rgba(192,110,75,.14),transparent 30%),
  linear-gradient(0deg,#06131e,#0b2131);}
body.institution-app .site-footer .footer-grid{padding-block:clamp(34px,4vw,69px);}
body.institution-app .site-footer .footer-bottom{padding-bottom:clamp(16px,2vw,26px);}
body.institution-app .institution-topbar{padding-inline:var(--boz-v4-gutter);}
body.institution-app .sidebar-label:before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#d59358;box-shadow:0 0 12px #d5935892;margin-right:4px;}
/* Optional, non-blocking scroll progress + accessible back-to-top. */
.boz-back-top{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(16px,2.2vw,30px);z-index:990;display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #dca975;background:rgba(11,32,48,.95);color:#f8c48e;border-radius:50%;box-shadow:0 9px 25px #0004;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility .25s;}
.boz-back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.boz-back-top:hover{background:#c2774c;color:#fff;}
/* Deliberate depth without hiding the page if scripts fail. */
body.boz-page-motion .boz-enter{opacity:0;transform:translateY(18px);transition:opacity .62s ease,transform .62s cubic-bezier(.18,.68,.22,1);}
body.boz-page-motion .boz-enter.boz-in{opacity:1;transform:none;}
body.institution-app .boz-glow-card{--glow-x:50%;--glow-y:50%;}
@media (hover:hover) and (pointer:fine){
 body.institution-app .boz-glow-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(260px circle at var(--glow-x) var(--glow-y),rgba(228,156,95,.12),transparent 70%);transition:opacity .3s;z-index:0;}
 body.institution-app .boz-glow-card:hover:after{opacity:1;}
}
/* Breakpoints: content padding is internal, outer surfaces remain flush to viewport edges. */
@media (max-width:1199.98px){
  body.institution-app .page-hero h1{max-width:90%;}
  body.institution-app .page-hero p{max-width:80%;}
  body.institution-app .admin-shell{grid-template-columns:minmax(188px,205px) minmax(0,1fr);}
  body.institution-app .admin-main{padding-inline:clamp(18px,2.8vw,36px);}
}
@media (max-width:991.98px){
  body.institution-app .admin-shell{display:block;}
  body.institution-app .admin-sidebar{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:12px 14px;scrollbar-width:thin;}
  body.institution-app .admin-sidebar>span{flex:0 0 auto;margin:0;padding:0 14px 0 0;white-space:nowrap;}
  body.institution-app .admin-sidebar a{flex:0 0 auto;margin:0;white-space:nowrap;scroll-snap-align:start;padding:9px 12px;}
  body.institution-app .admin-sidebar a:hover{transform:none;}
  body.institution-app .admin-main{padding:clamp(22px,3vw,40px) var(--boz-v4-gutter);}
  body.institution-app .page-hero h1{max-width:100%;}
  body.institution-app .page-hero p{max-width:85%;}
  body.institution-app .page-hero>.site-container:after{font-size:90px;opacity:.55;}
}
@media (max-width:767.98px){
  :root{--boz-v4-gutter:clamp(15px,4vw,24px);}
  body.institution-app .page-hero{min-height:260px;padding-block:45px;}
  body.institution-app .page-hero h1{font-size:clamp(34px,8vw,53px);line-height:1.12;max-width:100%;margin-block:14px;}
  body.institution-app .page-hero p{font-size:16px;max-width:100%;line-height:1.55;margin-top:13px;}
  body.institution-app .page-hero>.site-container:after{display:none;}
  body.institution-app .page-hero:before{background:linear-gradient(100deg,#071622f7,#071622db 75%,#071622b0),url('../img/hero-institution.webp') center / cover no-repeat;}
  body.institution-app .site-route-impact .page-hero:before,body.institution-app .site-route-giving .page-hero:before,body.institution-app .site-route-contact .page-hero:before{background:linear-gradient(90deg,#071622f9,#071622bc),url('../img/impact-network.webp') center / cover no-repeat;}
  body.institution-app section.inner-section{padding-block:38px;}
  body.institution-app .section-title{font-size:clamp(29px,7vw,43px);}
  body.institution-app .site-footer .footer-grid{gap:20px;}
  body.institution-app .admin-main>div:first-child h1{font-size:34px;}
  body.institution-app .form-panel{padding:18px;}
  body.institution-app .admin-stat{padding:19px;}
  body.institution-app .info-card{padding:21px;}
  body.institution-app .portal-nav{flex-wrap:nowrap;overflow-x:auto;}
  body.institution-app .portal-nav a{flex:0 0 auto;white-space:nowrap;}
  body.institution-app .inner-section .row.g-5{--bs-gutter-y:1.7rem;}
  .boz-back-top{right:13px;bottom:13px;width:38px;height:38px;}
}
@media (max-width:420px){
  body.institution-app .page-hero h1{font-size:clamp(31px,8.5vw,39px);}
  body.institution-app .form-panel{padding:17px;}
  body.institution-app .page-hero .eyebrow{font-size:8px;letter-spacing:.12em;}
  body.institution-app .table-modern{min-width:470px;}
  body.institution-app .section-title{font-size:32px;}
}
@media (prefers-reduced-motion:reduce){
  body.boz-page-motion .boz-enter{opacity:1!important;transform:none!important;transition:none!important;}
  .boz-back-top{transition:none;}
  body.institution-app .info-card,body.institution-app .list-card,body.institution-app .admin-stat{transition:none;}
}

/* Individual gathering: show the uploaded event image at full clarity.
   No institutional hero art, overlaid headings, filters or decorative marks. */
body.institution-app .site-route-event_detail .event-detail-image {
  width:100%;
  margin:0;
  padding:0;
  background:#071521;
  overflow:hidden;
}
body.institution-app .site-route-event_detail .event-detail-image img {
  display:block;
  width:100%;
  height:auto;
  max-height:780px;
  margin:0 auto;
  object-fit:contain;
  object-position:center;
  opacity:1;
  filter:none;
}
body.institution-app .site-route-event_detail .event-detail-breadcrumb {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:23px;
  font-size:12px;
  color:#657684;
}
body.institution-app .site-route-event_detail .event-detail-breadcrumb a {
  color:#a56643;
  text-decoration:none;
}
body.institution-app .site-route-event_detail .event-detail-breadcrumb a:hover,
body.institution-app .site-route-event_detail .event-detail-breadcrumb a:focus-visible {
  text-decoration:underline;
}
body.institution-app .site-route-event_detail .event-detail-breadcrumb i {
  font-size:10px;
}
@media (max-width:767.98px) {
  body.institution-app .site-route-event_detail .event-detail-image img {
    max-height:none;
  }
}
