:root{--color-green:#20430c;--color-green-dk:#0a2d2a;--color-gold:#e4c340;--color-brown:#554918;--color-blue:#0e3451;--color-lt-gray:#f2f2f2;--color-text:#111;--color-text-muted:#4c4c4c;--color-surface:#fff;--color-divider:#e5e7eb;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--radius-sm:6px;--radius-md:10px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000001f;--img-box-shadow:10px 10px 5px grey;--font-body:"Abel", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--bs-font-sans-serif:var(--font-body);--font-display:"Permanent Marker", cursive;--fs-100:.875rem;--fs-200:1rem;--fs-300:1.125rem;--fs-400:1.25rem;--fs-500:1.5rem;--fs-600:1.75rem;--fs-700:2rem}html,body{height:100%}html{-webkit-text-size-adjust:100%}body{color:var(--color-text);background:var(--color-surface);font-family:var(--font-body);font-size:var(--fs-300);margin:0;line-height:1.6;overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,.h1,.h2,.h3{color:var(--color-green);line-height:1.25;font-family:var(--font-display);margin:0 0 .5em}h1,.h1{font-size:var(--fs-700)}h2,.h2{font-size:var(--fs-600)}h3,.h3{font-size:var(--fs-500)}p{margin:0 0 1em}p.bio{color:var(--color-text-muted);font-size:var(--fs-300)}@media (width>=640px){:root{--fs-300:1.2rem;--fs-400:1.35rem;--fs-500:1.75rem;--fs-600:2rem;--fs-700:2.5rem}}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-content{padding-top:var(--space-6);flex:1}.container{max-width:1100px;padding:0 var(--space-4);margin:0 auto}.flow>*+*{margin-top:var(--space-4)}.text-center{text-align:center}#galleriesGrid{--gap:28px;gap:var(--gap);grid-template-columns:repeat(auto-fill,220px);justify-content:start;display:grid}#galleryGrid{--gap:2.5em;gap:var(--gap);grid-template-columns:repeat(auto-fill, var(--short));max-width:calc((var(--short) * 5) + (var(--gap) * 4));justify-content:center;margin:0 auto;display:grid}.gallery-grid{gap:1rem;display:grid}@media (width<=639px){#galleryGrid{--short:160px}}@media (width>=640px) and (width<=1023px){#galleryGrid{--short:200px}}@media (width>=1024px){#galleryGrid{--short:240px}}.site-nav{background:var(--color-surface);border-bottom:1px solid var(--color-divider)}.site-nav .nav-inner{padding:var(--space-4);background:var(--color-lt-gray);justify-content:center;align-items:center;margin:0 auto;display:flex}.site-nav .nav-list{gap:var(--space-6);margin:0;padding:0;list-style:none;display:flex}.site-nav .site-nav-link{font-family:var(--font-body);font-size:var(--fs-400);color:var(--color-text);padding:.4rem 0;font-weight:400;text-decoration:none;position:relative}.site-nav .site-nav-link:after{content:"";background:var(--color-gold);transform-origin:0;width:100%;height:2px;transition:transform .18s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.site-nav .site-nav-link:hover:after,.site-nav .site-nav-link.is-active:after{transform:scaleX(1)}.auth-controls{font-size:var(--fs-200);font-variant:normal;font-style:normal;font-weight:400;font-family:var(--font-body);letter-spacing:normal;color:var(--color-text);margin-top:6px}.auth-user{margin-right:10px}.auth-logout{cursor:pointer;margin-left:8px}.auth-login{font-weight:500;text-decoration:none}.footer{width:100%}.section-label{margin:var(--space-7) auto var(--space-5);text-align:left;font-family:var(--font-body);font-size:var(--fs-100);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);padding:1.5em .75em;font-weight:400}.lightbox-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{max-width:90vw;max-height:90vh;position:relative}.lightbox-content img{max-width:100%;max-height:90vh;display:block}.lightbox-body{align-items:flex-start;gap:20px;display:flex}.lightbox-image{flex:2;max-height:80vh}.lightbox-image img{width:100%;height:auto;display:block}.lightbox-comments{background:#f8f8f8;flex:1;max-width:350px;max-height:80vh;padding:1rem;overflow-y:auto}.lightbox-close{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:2rem;display:flex;position:absolute;top:-36px;right:0}.lightbox-prev,.lightbox-next{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:6px;padding:10px 14px;font-size:2.5rem;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-prev{left:30px}.lightbox-next{right:30px}.lightbox-comments form{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.lightbox-comments input,.lightbox-comments textarea{border:1px solid #ccc;width:100%;padding:.4rem}.lightbox-comments button{align-self:flex-start}.lightbox-footer{color:#fff;justify-content:space-between;align-items:center;padding:0 15px;font-size:.9rem;display:flex;position:absolute;bottom:-36px;left:0;right:0}.lightbox-meta,.lightbox-counter{color:#fff;background:#00000080;border-radius:4px;padding:4px 8px}.show-desktop{display:block}.nav-toggle{display:none}#primaryNav{display:block!important}@media (width<=639.98px){.nav-inner{flex-direction:column}.show-desktop{display:none}.collapse.show{display:block}.nav-list{gap:var(--space-4);text-align:center;flex-direction:column}}.brand-band{background:linear-gradient(90deg, var(--color-green-dk) 0%, var(--color-surface) 100%);border-top:2px solid var(--color-gold);border-bottom:2px solid var(--color-gold);position:relative}.brand-band:after{content:"";height:2px;position:absolute;bottom:1.5rem;left:0;right:0}.brand-band .band-inner{align-items:center;gap:var(--space-4);display:flex}.brand-band .brand-left,.brand-band .brand-right{flex:100%}.stripe{background:linear-gradient(90deg, var(--color-green-dk) 0%, var(--color-surface) 100%);border-top:2px solid var(--color-gold);border-bottom:2px solid var(--color-gold);height:16px}.site-banner{border-top:2px solid var(--color-gold);border-bottom:2px solid var(--color-gold);background:linear-gradient(90deg,#173c3a 0%,#bfc7c7 100%)}.banner-inner{max-width:1200px;padding:var(--space-6) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-6);margin-inline:auto;display:flex}.banner-logo img{filter:drop-shadow(0 0 1px #eee7e7d9)drop-shadow(0 0 2px #eee7e799);width:auto;max-height:70px}.banner-scripture{text-align:right;letter-spacing:.03em;max-width:460px;margin-top:var(--space-5);text-align:right;font-family:Libre Baskerville,serif;font-variant-caps:small-caps;font-size:var(--fs-300);color:#fff;text-shadow:0 0 1px #000000e6,0 1px 1px #0009;flex-direction:column;align-items:flex-end;font-style:italic;display:flex}.banner-scripture span{white-space:nowrap}@media (width>=640px){.brand-band .brand-left{flex:0 0 33%}.brand-band .brand-right{text-align:right;flex:0 0 67%}}@media (width<=639.98px){.banner-inner{text-align:center;flex-direction:column;display:flex}.banner-scripture{text-align:center}.banner-logo{margin-bottom:var(--space-3)}}.comments-page{--c-bg:var(--color-surface);--c-muted:var(--color-text-muted);--c-border:var(--color-divider);--c-accent:var(--color-gold)}.comments-page .page-title{margin:var(--space-7) 0 var(--space-5);color:var(--color-green);font-family:var(--font-display)}.comments-page .comment-list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.comments-page .comment{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}.comments-page .comment__meta{gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-200);color:var(--c-muted);flex-wrap:wrap;display:flex}.comments-page .comment__author{color:var(--color-blue);font-weight:700}.comments-page .comment__body{font-size:var(--fs-300);margin-top:var(--space-2);line-height:1.6}.comments-page .comment--child{margin-left:var(--space-6);border-left:3px solid color-mix(in srgb, var(--c-accent) 50%, transparent);background:color-mix(in srgb, var(--c-bg) 90%, #000 2%);padding-left:var(--space-4)}.comments-page .comment-form{margin-top:var(--space-7);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}.comments-page .comment-form .form-row{gap:var(--space-4);display:grid}.comments-page #comments-list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.comments-page #comments-list>li{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}.comments-page .comment+.comment,.comments-page #comments-list>li+li{border-top:1px solid var(--c-border);padding-top:var(--space-4)}.comments-page #comments-loadmore{margin-top:var(--space-5);background:var(--color-blue);color:#fff;border:1px solid var(--color-blue);border-radius:var(--radius-sm);cursor:pointer;padding:.6rem 1rem;font-weight:700}.comments-page #comments-loadmore:hover{opacity:.9}.form-control{box-sizing:border-box;width:100%}.form-row{gap:var(--space-4);display:grid}.comments-page .comment-form .form-control{box-sizing:border-box;border:1px solid var(--c-border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-300);background:#fff;padding:.6rem .8rem}.comments-page .comment-form .form-control:focus{outline:2px solid var(--c-accent);outline-offset:2px;border-color:var(--c-accent)}.comments-page .comment-form .btn-submit{margin-top:var(--space-4);background:var(--color-blue);color:#fff;border:1px solid var(--color-blue);border-radius:var(--radius-sm);padding:.6rem 1rem;font-weight:700;transition:background .15s,opacity .15s}.comments-page .comment-form .btn-submit:hover{opacity:.9}@media (width>=640px){.comments-page .comment-form .form-row--two,.form-row--two{grid-template-columns:1fr 1fr}}.home-slideshow{justify-content:center;margin:2rem 0;display:flex}.home-slideshow-card{width:100%;max-width:900px;margin:0 auto;padding:1rem;position:relative}.home-slideshow-image{object-fit:contain;opacity:1;width:100%;max-height:60vh;transition:opacity .3s ease-in-out}.home-slideshow-image.fade-out{opacity:0}.home-slideshow-image.fade-in{opacity:1}.home-slideshow-image-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.home-slideshow-card .nav{color:#fff;cursor:pointer;background:#0006;border:none;border-radius:4px;padding:.5rem 1rem;font-size:2rem;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.home-slideshow-card .prev{left:20px}.home-slideshow-card .next{right:20px}.home-slideshow-title{text-align:center;margin-top:.5rem;font-size:.95rem}.gallery-header{justify-content:space-between;display:flex}.gallery-card{border:1px solid var(--color-divider);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:center;align-items:center;width:220px;padding:12px;display:flex}#galleryGrid .gallery-tile{width:var(--short);border:1px solid var(--color-divider);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:var(--color-surface);justify-content:center;align-items:center;padding:10px;display:flex}.gallery-tile{flex-direction:column}.gallery-tile img{width:100%;height:auto;display:block}.tile-actions{justify-content:space-between;margin-top:.5rem;display:flex}#galleryGrid .gallery-tile img{width:100%;height:auto;display:block}.gallery-tile--portrait img{max-width:80%;max-height:80%}.gallery-tile--landscape img{max-width:95%;max-height:90%}#galleryGrid .gallery-tile:hover img{opacity:.95}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:#f4f4f4;width:200px;padding:1rem}.admin-main{flex:1;padding:1rem}.admin-nav ul{padding:0;list-style:none}.admin-nav li{margin-bottom:10px}.admin-sidebar button{margin-top:20px}.admin-nav a{color:#000;padding:8px;text-decoration:none;display:block}.admin-nav a.active{color:#fff;background-color:#333;font-weight:700}.site-nav-link.admin-link{color:red;font-weight:600}.comments-page{padding:1rem}.comments-page h2{margin-bottom:10px}.comment-tabs{margin-bottom:1rem}.comment-tabs button{cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:4px;margin-right:8px;padding:6px 12px}.comment-tabs button.active{color:#fff;background:#333;font-weight:700}.comments-table{border-collapse:collapse;width:100%}.comments-table th{text-align:left;border-bottom:2px solid #ddd;padding:10px}.comments-table td{border-bottom:1px solid #eee;padding:10px}.comments-table tr:hover{background:#fafafa}.comment-actions button{cursor:pointer;border:none;border-radius:4px;margin-right:6px;padding:4px 8px}.btn-approve{color:#fff;background:#4caf50}.btn-spam{color:#fff;background:#ff9800}.btn-delete{color:#fff;background:#f44336}.status-badge{color:#fff;border-radius:12px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-block}.status-badge.pending{background-color:#777}.status-badge.approved{background-color:#4caf50}.status-badge.spam{background-color:#ff9800}
