/* ============ SCHOOL HERO ============ */
.school-hero{background:var(--black); color:var(--white); position:relative; overflow:hidden; padding-top:78px;}
.school-hero .halftone{opacity:.18;}
.school-hero-inner{position:relative; z-index:2; text-align:center; max-width:760px; margin:0 auto; padding:70px 0 90px;}
.eyebrow-light{color:var(--green-bright);}
.eyebrow-light::before{background:var(--green-bright);}
.school-name{margin-top:18px; color:var(--white);}
.school-hero-copy{color:#c9c8bf; font-size:16px; max-width:560px; margin:22px auto 0;}
.trust-row-center{justify-content:center;}

/* ============ GAUGE CTA (school page) ============ */
.gauge-cta{margin-top:30px;}

/* ============ SHOP ============ */
.shop{background:var(--paper);}
.shop-filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:40px;}
.filter-chip{
  border:1.5px solid var(--line); background:var(--white); color:var(--black); padding:10px 20px;
  border-radius:100px; font-size:13px; font-weight:800; letter-spacing:.03em; text-transform:uppercase;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.filter-chip:hover{border-color:var(--green);}
.filter-chip.active{background:var(--black); color:var(--white); border-color:var(--black);}
.product-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
@media(max-width:1080px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.product-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.product-grid{grid-template-columns:1fr;}}
.product-card{
  background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius); padding:22px;
  display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-card.hidden{display:none;}
.product-card:hover{transform:translateY(-5px); box-shadow:0 14px 28px rgba(0,0,0,.08); border-color:var(--green);}
.product-visual{
  width:100%; aspect-ratio:1; border-radius:12px; background:var(--paper); border:1.5px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-size:44px; margin-bottom:16px;
}
.product-tag{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--green-deep); font-weight:800; margin-bottom:6px;}
.product-card h4{font-size:14.5px; margin-bottom:12px; letter-spacing:.01em; text-transform:none; font-family:var(--font-body); font-weight:800;}
.product-price-row{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
.product-price{font-family:var(--font-display); font-size:17px;}
.product-earn{font-size:11px; font-weight:800; color:var(--green-deep); background:rgba(139,197,63,.12); padding:4px 9px; border-radius:100px;}
.product-btn{margin-top:auto; font-size:12px !important; padding:12px 18px !important;}
.shop-note{text-align:center; color:var(--gray); font-size:13px; margin-top:36px;}

/* ============ NEW PROGRAM SECTION ============ */
.new-program{background:var(--white);}

/* ============ QR SHARE ============ */
.qr-share{background:var(--paper);}
.qr-share-inner{display:grid; grid-template-columns:.85fr 1.15fr; gap:52px; align-items:center;}
@media(max-width:900px){.qr-share-inner{grid-template-columns:1fr; text-align:center;}}
.qr-share-visual{display:flex; flex-direction:column; align-items:center; gap:14px;}
.qr-share-visual .qr-visual{width:100%; max-width:240px; aspect-ratio:1; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-hard);}
.qr-share-visual .qr-visual svg{width:100%; height:100%; display:block;}
.qr-school-label{font-family:var(--font-display); font-size:16px; letter-spacing:.02em; margin-top:4px;}
.qr-url{font-size:13px; color:var(--gray); font-weight:700;}
.qr-share-copy p{color:var(--gray); margin-top:16px; font-size:15px; max-width:480px;}
@media(max-width:900px){.qr-share-copy p{margin-left:auto; margin-right:auto;}}
.qr-btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
@media(max-width:900px){.qr-btn-row{justify-content:center;}}

/* ============ DONATE MODAL ============ */
.donate-modal{
  position:fixed; inset:0; background:rgba(6,6,4,.85); display:none; align-items:center; justify-content:center;
  z-index:300; padding:24px; overflow-y:auto;
}
.donate-modal.open{display:flex;}
.donate-modal-inner{
  width:100%; max-width:460px; background:var(--black); color:var(--white); border-radius:20px; padding:36px;
  position:relative; margin:auto;
}
.donate-modal-inner .sub{color:#a8a79d; font-size:13.5px; margin-top:8px; margin-bottom:22px;}
.donate-modal-inner .field label{color:#c9c8bf;}
.amount-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px;}
.amount-chip{
  border:1.5px solid #33322b; background:#141410; color:var(--white); padding:12px 6px; border-radius:9px;
  font-family:var(--font-display); font-size:15px; transition:border-color .2s ease, background .2s ease;
}
.amount-chip:hover{border-color:var(--green);}
.amount-chip.active{background:var(--green); color:var(--black); border-color:var(--green);}
.donate-modal .confirm-box{padding:20px 6px;}

@media(max-width:520px){
  .donate-modal-inner{padding:26px 22px;}
}
