/* ===== Programs and Photos page styles ===== */

.prog-tabs,.filter-bar{background:var(--crimson-deep);padding:0 1.5rem;}
.prog-tabs-inner,.filter-inner{max-width:var(--container);margin:0 auto;display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.prog-tabs-inner::-webkit-scrollbar,.filter-inner::-webkit-scrollbar{display:none;}
.tab-link,.filter-btn{color:rgba(249,240,227,0.7);font-family:var(--font-body);font-weight:600;font-size:0.88rem;padding:0.9rem 1.1rem;border:0;border-bottom:3px solid transparent;background:none;white-space:nowrap;transition:color 0.2s ease,border-color 0.2s ease;flex-shrink:0;cursor:pointer;}
.tab-link:hover,.filter-btn:hover{color:var(--cream);}
.tab-link.active,.filter-btn.active{color:var(--cream);border-color:var(--crimson-bright);}

.prog-block .eyebrow{color:var(--crimson);}
.prog-block h2{font-size:clamp(1.6rem,2.8vw,2.1rem);font-weight:800;margin-top:0.6rem;}
.prog-block h3{font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:800;margin-top:1rem;}
.prog-block p{color:var(--ink-soft);margin-top:1rem;font-size:1rem;line-height:1.75;}
.prog-block p+p{margin-top:0.8rem;}
.prog-block a{color:var(--crimson-deep);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.prog-block .thrust-tag{display:inline-block;background:var(--crimson);color:var(--cream);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:0.25rem 0.75rem;margin-top:0.8rem;}
.copy-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.65rem;}
.copy-list li{position:relative;color:var(--ink-soft);line-height:1.65;padding-left:1.15rem;}
.copy-list li::before{content:'';position:absolute;left:0;top:0.68em;width:0;height:0;border-left:0.34rem solid transparent;border-right:0.34rem solid transparent;border-bottom:0.55rem solid var(--crimson-deep);transform:translateY(-50%);}
.scholarship-box{background:var(--crimson);color:var(--cream);padding:clamp(1.4rem,3vw,2rem);margin-top:1.4rem;border-radius:var(--radius);}
.scholarship-box h3{font-size:1.3rem;font-weight:800;color:var(--cream);}
.scholarship-box p{color:rgba(249,240,227,0.88);margin-top:0.8rem;font-size:0.98rem;}
.scholarship-box a.schol-link{display:inline-block;margin-top:1.2rem;background:var(--cream);color:var(--crimson-deep);padding:0.6rem 1.4rem;font-weight:800;text-decoration:none;border-radius:var(--radius);}
.protected-email{font-weight:700;color:var(--crimson-deep);}

.scholarship-page .main-col{gap:2.4rem;}
.scholarship-intro{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(1.4rem,3vw,2.2rem);align-items:start;background:rgba(249,240,227,0.55);border:1px solid rgba(139,0,0,0.12);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.8rem);}
.scholarship-intro-media{background:var(--cream);border-radius:var(--radius);box-shadow:0 16px 36px rgba(26,26,26,0.08);}
.scholarship-intro-media img{width:100%;height:auto;border-radius:calc(var(--radius) - 1px);}
.scholarship-intro-copy h2{max-width:18ch;}
.scholarship-highlights li{color:var(--ink);}
.scholarship-status{background:var(--cream);border-left:5px solid var(--crimson-deep);padding:clamp(1.2rem,3vw,1.8rem);border-radius:var(--radius);box-shadow:0 16px 36px rgba(26,26,26,0.06);}
.scholarship-status h2{color:var(--crimson-deep);}
.scholarship-giving{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,0.28fr);gap:clamp(1.4rem,3vw,2rem);align-items:start;}
.scholarship-giving-copy{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,3vw,1.8rem);}
.scholarship-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.9rem 1rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(139,0,0,0.14);}
.scholarship-actions span{font-family:var(--font-display);font-weight:800;color:var(--crimson-deep);font-size:1.05rem;}
.scholarship-actions .schol-link{display:inline-flex;align-items:center;justify-content:center;background:var(--crimson-deep);color:var(--cream);padding:0.72rem 1.3rem;border-radius:var(--radius);font-weight:800;text-decoration:none;transition:background 0.2s ease,transform 0.2s ease;}
.scholarship-actions .schol-link:hover{background:var(--crimson);transform:translateY(-1px);}
.scholarship-qr{margin:0;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:0 16px 36px rgba(26,26,26,0.08);}
.scholarship-qr img{width:100%;height:auto;display:block;}
.scholarship-contact{max-width:var(--container);color:var(--ink-soft);}
.scholarship-contact a{color:var(--crimson-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px;}

.gallery-body{padding:var(--section-py) 1.5rem;max-width:var(--container);margin:0 auto;}
.gallery-count{font-size:0.88rem;color:var(--ink-soft);margin-bottom:1.4rem;}
.gallery-count span{font-weight:700;color:var(--ink);}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.photo-tile{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:var(--cream);border-radius:var(--radius);}
.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;display:block;}
.photo-tile:hover img{transform:scale(1.04);}
.photo-tile .overlay{position:absolute;inset:0;background:rgba(139,0,0,0);transition:background 0.25s ease;display:flex;align-items:center;justify-content:center;}
.photo-tile:hover .overlay{background:rgba(139,0,0,0.35);}
.overlay-icon{color:var(--cream);font-size:1.8rem;opacity:0;transition:opacity 0.25s ease;}
.photo-tile:hover .overlay-icon{opacity:1;}
.photo-tile.hidden{display:none;}

.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s ease;}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox-img{max-width:90vw;max-height:88vh;object-fit:contain;display:block;box-shadow:0 0 60px rgba(0,0,0,0.6);}
.lightbox-close{position:absolute;top:1.2rem;right:1.4rem;background:none;border:0;color:var(--cream);font-size:2rem;cursor:pointer;line-height:1;opacity:0.8;transition:opacity 0.2s ease;}
.lightbox-close:hover{opacity:1;}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(249,240,227,0.12);border:0;color:var(--cream);font-size:1.6rem;padding:0.9rem 1.1rem;cursor:pointer;transition:background 0.2s ease;}
.lightbox-prev{left:1rem;}
.lightbox-next{right:1rem;}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(249,240,227,0.25);}
.lightbox-counter{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);color:rgba(249,240,227,0.7);font-size:0.86rem;font-family:var(--font-body);}

@media(max-width:980px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.scholarship-intro,.scholarship-giving{grid-template-columns:1fr;}.scholarship-intro-media,.scholarship-qr{max-width:320px;}}
@media(max-width:720px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.lightbox-prev{left:0.3rem;}.lightbox-next{right:0.3rem;}.scholarship-actions{align-items:flex-start;flex-direction:column;}.scholarship-actions .schol-link{width:100%;}}
@media(prefers-reduced-motion:reduce){.photo-tile img,.photo-tile .overlay,.overlay-icon,.lightbox,.scholarship-actions .schol-link{transition:none!important;}}

/* ===== Cross-page responsive refinements ===== */
.social-row{display:grid;grid-template-columns:1fr;gap:0.65rem;margin-top:1rem;}
.social-link{display:flex;align-items:center;gap:0.7rem;min-width:0;color:var(--crimson-deep);font-weight:800;text-decoration:none;}
.social-link:hover{color:var(--crimson);}
.social-link .social-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;min-width:2rem;border:1px solid rgba(139,0,0,0.22);border-radius:999px;background:var(--cream);color:var(--crimson-deep);overflow:hidden;}
.social-link .social-icon svg{display:block;width:1rem;height:1rem;max-width:1rem;max-height:1rem;fill:currentColor;stroke:currentColor;stroke-width:0;}

.dcac-auth-message{margin:1rem 0 0;padding:0.85rem 1rem;border-radius:var(--radius);border:1px solid rgba(139,0,0,0.2);background:rgba(249,240,227,0.55);}
.dcac-auth-message p{margin:0!important;color:var(--ink);font-weight:700;}
.dcac-auth-error{border-left:4px solid var(--crimson-deep);}
.dcac-auth-success{border-left:4px solid #3f7b4a;}
.dcac-auth-links{grid-column:1/-1;margin:0!important;}
.dcac-auth-links a{color:var(--crimson-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px;}
.dcac-auth-form button#wp-submit{font-family:var(--font-display);}

body.home .slide{background-position:var(--slide-position,center top);background-size:var(--slide-size,cover);background-repeat:no-repeat;background-color:var(--crimson-deep);}
body.home .hero h1{font-size:clamp(2.15rem,4.7vw,3.55rem);font-weight:500!important;line-height:1.12;max-width:19ch;text-wrap:balance;text-shadow:0 2px 18px rgba(26,26,26,0.22);}
body.home .hero p.lede{font-size:clamp(0.98rem,1.35vw,1.05rem);font-weight:400;line-height:1.72;color:rgba(249,240,227,0.86);max-width:45ch;text-shadow:0 1px 12px rgba(26,26,26,0.2);}
body.home .hero .btn-solid{font-size:0.9rem;font-weight:700;padding:0.74rem 1.25rem;background:rgba(249,240,227,0.92);}
body.home .slider-dots{align-items:center;gap:0.55rem;z-index:5;}
body.home .slider-dot{width:0;height:0;padding:0;background:transparent;border:0;border-left:0.34rem solid transparent;border-right:0.34rem solid transparent;border-bottom:0.56rem solid rgba(249,240,227,0.58);border-radius:0;opacity:1;}
body.home .slider-dot.active{background:transparent;border-bottom-color:var(--cream);}

@media(max-width:980px){
  body.home .hero{min-height:clamp(560px,78svh,700px);background:var(--crimson-deep);}
  body.home .slide{background-image:none!important;background-color:var(--crimson-deep);background-position:var(--slide-position,center top);}
  body.home .slide::before{content:'';position:absolute;inset:-18px;background-image:linear-gradient(rgba(139,0,0,0.42),rgba(139,0,0,0.42)),var(--slide-image);background-size:100% 100%,cover;background-position:center,var(--slide-position,center top);background-repeat:no-repeat;filter:blur(16px);opacity:0.72;transform:scale(1.06);}
  body.home .slide::after{content:'';position:absolute;inset:0;background-image:linear-gradient(to right,rgba(139,0,0,0.78) 0%,rgba(139,0,0,0.6) 55%,rgba(139,0,0,0.42) 100%),var(--slide-image);background-size:100% 100%,var(--slide-size,contain);background-position:center,var(--slide-position,center top);background-repeat:no-repeat;}
  body.home .hero-inner{padding-top:clamp(2rem,6vw,3.25rem);padding-bottom:clamp(4.2rem,9vw,5.5rem);}
  body.home .slider-dots{display:flex;bottom:1.1rem;}
}

@media(max-width:720px){
  .social-row{gap:0.55rem;}
  .social-link{font-size:0.95rem;}
  .social-link .social-icon{width:1.85rem;height:1.85rem;min-width:1.85rem;}
  .social-link .social-icon svg{width:0.95rem;height:0.95rem;max-width:0.95rem;max-height:0.95rem;}
  body.home .hero{min-height:clamp(600px,82svh,720px);}
  body.home .hero h1{font-size:clamp(2rem,10.5vw,3rem);font-weight:500!important;max-width:11ch;}
  body.home .hero p.lede{font-size:1rem;line-height:1.65;max-width:31ch;color:rgba(249,240,227,0.84);}
  body.home .hero-actions{margin-top:1.35rem;}
  body.home .hero .btn-solid{font-size:0.88rem;padding:0.7rem 1.1rem;}
  body.home .slide::after{background-image:linear-gradient(to bottom,rgba(139,0,0,0.34) 0%,rgba(139,0,0,0.52) 44%,rgba(139,0,0,0.92) 100%),var(--slide-image);background-size:100% 100%,var(--slide-size,contain);background-position:center,var(--slide-position,center top);background-repeat:no-repeat;}
  body.home .slider-dots{bottom:1rem;}
  body.home .slider-dot{border-left-width:0.32rem;border-right-width:0.32rem;border-bottom-width:0.52rem;}
  body.home .slider-arrow{display:none;}
}