﻿/* Mobile slide-in drawer menu (ported from acacia_habitants, recoloured to the AHGCC logo) */
.mobile-menu-btn{display:none}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(6,30,18,.62);z-index:2000;opacity:0;transition:opacity .3s;backdrop-filter:blur(3px)}
.sidebar-overlay.active{display:block;opacity:1}
.mobile-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width,320px);max-width:86vw;height:100vh;height:100dvh;background:linear-gradient(180deg,#0a2a1a 0%,#0b4a2a 100%);z-index:2100;overflow:hidden;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:none;flex-direction:column}
.mobile-sidebar::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#f4b43c 0%,#f4b43c 70%,#00a848 90%,#0e5a66 100%);pointer-events:none}
.mobile-sidebar.open{transform:translateX(0);box-shadow:10px 0 44px rgba(0,0,0,.4)}
.mobile-sidebar-header{background:linear-gradient(135deg,#0b5d33 0%,#d9930a 140%);padding:20px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:3px solid var(--c-gold);position:relative}
.mobile-sidebar-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.mobile-sidebar-logo{width:48px;height:48px;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.mobile-sidebar-logo img{width:100%;height:100%;object-fit:contain}
.mobile-sidebar-title{font-family:'Playfair Display',serif;font-weight:700;font-size:.98rem;color:#fff;line-height:1.2}
.mobile-sidebar-sub{font-size:.62rem;color:rgba(255,255,255,.8);font-weight:500;letter-spacing:.03em;line-height:1.25;margin-top:2px}
.sidebar-close-btn{background:rgba(255,255,255,.18);border:0;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;flex-shrink:0;transition:.25s}
.sidebar-close-btn:hover{background:rgba(255,255,255,.35);transform:rotate(90deg)}
.mobile-sidebar-nav{flex:1;padding:10px 0;overflow-y:auto;overscroll-behavior:contain}
.mobile-sidebar-nav .nav-section-label{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);padding:14px 18px 6px}
.mobile-sidebar-nav>a{display:flex;align-items:center;gap:12px;padding:12px 18px;color:rgba(255,255,255,.85);font-size:.9rem;font-weight:500;transition:.2s;border-left:4px solid transparent}
.mobile-sidebar-nav>a:hover{background:rgba(255,255,255,.07);color:#fff;padding-left:22px}
.mobile-sidebar-nav>a.active{background:linear-gradient(90deg,rgba(244,180,60,.28),rgba(244,180,60,.04));color:#ffd873;border-left-color:#f4b43c}
.mobile-sidebar-nav>a i{width:24px;text-align:center;font-size:.95rem;color:#f4b43c}
.mobile-sidebar-nav .mobile-divider{height:1px;background:rgba(255,255,255,.08);margin:.5rem 1rem}
.mobile-sidebar-nav .sub-toggle .arrow{margin-left:auto;font-size:.7rem;transition:transform .25s;color:rgba(255,255,255,.4)}
.mobile-sidebar-nav .sub-toggle .arrow i{color:inherit;width:auto}
.mobile-sidebar-nav .sub-toggle.open .arrow{transform:rotate(90deg);color:#f4b43c}
.mobile-sidebar-nav .sub-menu{display:none;flex-direction:column;background:rgba(0,0,0,.22);margin:0 12px 6px 30px;border-left:2px solid rgba(244,180,60,.5);border-radius:0 0 10px 0;padding:6px 0}
.mobile-sidebar-nav .sub-menu.show{display:flex;animation:livelyRise .3s ease both}
.mobile-sidebar-nav .sub-menu a{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 16px;font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.35;transition:.2s}
.mobile-sidebar-nav .sub-menu a:hover{background:rgba(255,255,255,.07);color:#fff}
.mobile-sidebar-nav .sub-menu a i{width:16px;text-align:center;font-size:.6rem;color:#f4b43c;flex-shrink:0}
.mobile-sidebar-footer{padding:14px 18px 16px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;background:rgba(0,0,0,.18)}
.mobile-sidebar-footer>a{display:block;text-align:center;background:linear-gradient(135deg,#ffd873,#f4b43c 50%,#e29a0f);color:#2b1b00;padding:12px;border-radius:30px;font-weight:700;font-size:.9rem;box-shadow:0 8px 20px rgba(226,154,15,.45)}
.mobile-contact{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.mobile-contact a{color:rgba(255,255,255,.72);font-size:.75rem}
.mobile-contact a i{width:18px;color:#f4b43c}
.mobile-social{display:flex;gap:8px;margin-top:10px;justify-content:center}
.mobile-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;transition:.2s}
.mobile-social a:hover{background:#f4b43c;color:#2b1b00;transform:translateY(-2px)}
body.sidebar-open{overflow:hidden}
.floating-give{position:fixed;left:16px;bottom:20px;z-index:1500;background:linear-gradient(135deg,#ffd873,#f4b43c 50%,#e29a0f);color:#2b1b00!important;padding:11px 20px;border-radius:30px;font-weight:700;font-size:.85rem;box-shadow:0 8px 24px rgba(226,154,15,.5);animation:livelyPulse 2.4s infinite}
.floating-give:hover{transform:translateY(-2px)}
@media(max-width:991.98px){
  .mobile-sidebar{display:flex}
  .nav-links,.nav-toggle{display:none!important}
  .mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd873,#f4b43c 55%,#e29a0f);border:0;color:#2b1b00;width:44px;height:44px;border-radius:12px;font-size:1.2rem;cursor:pointer;box-shadow:0 6px 16px rgba(226,154,15,.45);transition:.2s}
  .mobile-menu-btn:active{transform:scale(.92)}
  .site-nav{padding:6px 0}
  .brand b{font-size:1rem}
}
@media(min-width:992px){.mobile-sidebar,.sidebar-overlay,.floating-give{display:none!important}}



/* Prevent horizontal page scroll on mobile */
html{overflow-x:hidden;max-width:100%}
body{overflow-x:hidden;max-width:100%;position:relative}
@supports(overflow:clip){html,body{overflow-x:clip}}
main,section,footer{max-width:100%}
img,video,iframe{max-width:100%}
@media(max-width:991.98px){.about-img::after{right:-8px;bottom:-8px}.about-img{margin-right:8px;margin-bottom:8px}}
