/*
Theme Name: GiveCause Fundraising Theme
Theme URI: https://givecause.online/
Author: GiveCause
Description: Lightweight, original, full-width responsive classic theme designed for the GiveCause Fundraising Platform.
Version: 1.1.8
Requires at least: 5.9
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: givecause-foundation
*/

:root{--gc-green:#177a43;--gc-green-dark:#0f5d33;--gc-green-soft:#edf8f1;--gc-ink:#17221c;--gc-muted:#657169;--gc-border:#dce7df;--gc-white:#fff;--gc-bg:#f7faf8;--gc-radius:16px;--gc-shadow:0 10px 32px rgba(17,49,31,.08);--gc-content:1180px}
*,:before,:after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;width:100%;max-width:100%;min-width:0;overflow-x:hidden;background:var(--gc-bg);color:var(--gc-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.6}
body.admin-bar .gc-header{top:32px}
a{color:var(--gc-green);text-decoration:none}a:hover{text-decoration:underline}
img,svg,video,iframe{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;max-width:100%}
button{cursor:pointer}

.gc-site{width:100%;max-width:100%;min-width:0;overflow-x:clip}
.gc-header{position:relative;z-index:100;width:100%;background:#fff;border-bottom:1px solid var(--gc-border);box-shadow:0 2px 12px rgba(0,0,0,.035)}
.gc-header-inner{width:min(100% - 32px,var(--gc-content));margin:0 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px}
.gc-brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--gc-ink);font-weight:800;font-size:20px;white-space:nowrap}
.gc-brand .custom-logo-link,.gc-brand-fallback{display:flex;align-items:center;gap:10px;min-width:0;color:var(--gc-ink);font-weight:800;font-size:20px;white-space:nowrap}.gc-brand .custom-logo-link:hover,.gc-brand-fallback:hover{text-decoration:none}.gc-brand:hover{text-decoration:none}.gc-brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--gc-green),#52a86f);display:grid;place-items:center;color:#fff;font-weight:900;flex:0 0 auto}.gc-brand-name{overflow:hidden;text-overflow:ellipsis}
.gc-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.gc-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.gc-nav li{margin:0;padding:0}.gc-nav a{display:block;padding:10px 12px;border-radius:10px;color:#26332b;font-weight:600;white-space:nowrap}.gc-nav a:hover,.gc-nav .current-menu-item>a{background:var(--gc-green-soft);color:var(--gc-green);text-decoration:none}
.gc-menu-toggle{display:none;border:1px solid var(--gc-border);background:#fff;color:var(--gc-green-dark);border-radius:10px;padding:8px 11px;font-size:20px;line-height:1}
.gc-main{width:100%;max-width:100%;min-width:0;display:block}
.gc-main-inner{width:min(100% - 32px,var(--gc-content));max-width:var(--gc-content);margin:0 auto;min-width:0;padding:28px 0 52px}
.gc-entry{width:100%;max-width:100%;min-width:0}
.gc-entry>*{max-width:100%}
.gc-entry img,.gc-entry video,.gc-entry iframe{max-width:100%}
.gc-entry table{width:100%;max-width:100%;display:block;overflow-x:auto}
.gc-footer{width:100%;background:#10251a;color:#e8f2eb;margin-top:auto}
.gc-footer-inner{width:min(100% - 32px,var(--gc-content));margin:0 auto;padding:44px 0 20px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;min-width:0}
.gc-footer h3{margin:0 0 12px;color:#fff;font-size:16px}.gc-footer p{margin:0;color:#bcd0c3}.gc-footer a{color:#e8f2eb}.gc-footer-nav ul{list-style:none;margin:0;padding:0}.gc-footer-nav li{margin:5px 0}.gc-footer-bottom{width:min(100% - 32px,var(--gc-content));margin:0 auto;border-top:1px solid rgba(255,255,255,.13);padding:16px 0 22px;color:#a9bdb0;font-size:13px}
.gc-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:#fff;color:#111;padding:8px 12px}.gc-skip:focus{left:8px}

/* GiveCause plugin compatibility: never recreate its internal presentation, only provide a clean viewport shell. */
.giv-wrap,.giv-state-section,.giv-public-wrap,.giv-dashboard-wrap{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.giv-wrap img,.giv-state-section img,.giv-public-wrap img,.giv-dashboard-wrap img{max-width:100%;height:auto}
.giv-wrap table{max-width:100%;overflow-x:auto}

@media (max-width: 900px){
 .gc-header-inner{min-height:68px}.gc-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.gc-nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:var(--gc-shadow);padding:8px}.gc-nav.is-open{display:block}.gc-nav ul{display:block}.gc-nav li{width:100%}.gc-nav a{padding:11px 12px}.gc-footer-inner{grid-template-columns:1fr 1fr;gap:24px}}
@media (max-width: 640px){
 body.admin-bar .gc-header{top:46px}.gc-header-inner{width:calc(100% - 24px);min-height:64px}.gc-main-inner{width:calc(100% - 24px);padding:18px 0 36px}.gc-footer-inner{width:calc(100% - 24px);grid-template-columns:1fr;padding:34px 0 18px}.gc-footer-bottom{width:calc(100% - 24px)}
 .gc-brand{font-size:18px}.gc-brand-mark{width:34px;height:34px;border-radius:10px}
}

/* GiveCause Foundation 1.1 navigation: deliberately independent of Astra/container rules. */
.gc-header-inner{width:min(100%,1240px);padding:0 24px;min-height:82px;gap:28px}
.gc-brand{flex:0 0 auto;max-width:340px}
.gc-brand .custom-logo-link,.gc-brand .custom-logo{display:block;max-width:100%;height:auto}
.gc-brand .custom-logo{max-height:72px;width:auto}
.gc-nav{flex:1 1 auto;min-width:0}
.gc-nav > div > ul,.gc-nav > ul{justify-content:flex-end;flex-wrap:nowrap;gap:2px}
.gc-nav li{position:relative}
.gc-nav a{font-size:14px;padding:9px 10px}
.gc-nav .sub-menu{position:absolute;left:0;top:100%;z-index:300;display:none;min-width:205px;padding:8px;margin:4px 0 0;background:#fff;border:1px solid var(--gc-border);border-radius:14px;box-shadow:0 14px 34px rgba(17,49,31,.12);flex-direction:column;gap:2px}
.gc-nav .menu-item-has-children:hover > .sub-menu,.gc-nav .menu-item-has-children:focus-within > .sub-menu{display:flex}
.gc-nav .sub-menu li{width:100%}.gc-nav .sub-menu a{white-space:normal;width:100%;padding:10px 12px}
.gc-nav .menu-item-has-children > a:after{content:'⌄';display:inline-block;margin-left:6px;font-size:12px;transition:transform .18s ease}
.gc-nav .menu-item-has-children.gc-sub-open > a:after{transform:rotate(180deg)}
.gc-mobile-actions{display:none}
.gc-menu-toggle span{display:grid;gap:4px}.gc-menu-toggle i{display:block;width:21px;height:2px;border-radius:2px;background:currentColor}

/* Never let a WordPress menu item named Sign Up create a second top-navigation CTA. */
.gc-nav .menu-item a[href*="sign-up"],.gc-nav .menu-item a[href*="signup"]{ }

@media (min-width:901px){
 .gc-nav .menu-item-has-children > .sub-menu{display:none}
 .gc-nav .menu-item-has-children:hover > .sub-menu,.gc-nav .menu-item-has-children:focus-within > .sub-menu{display:flex}
}
@media (max-width:1100px) and (min-width:901px){
 .gc-header-inner{padding:0 18px;gap:16px}.gc-brand{max-width:270px}.gc-nav a{padding-left:7px;padding-right:7px;font-size:13px}
}
@media (max-width:900px){
 .gc-header-inner{width:100%;padding:10px 16px;min-height:76px;gap:12px}
 .gc-brand{max-width:calc(100% - 60px)}
 .gc-brand .custom-logo{max-height:66px;max-width:100%}
 .gc-menu-toggle{flex:0 0 auto;width:48px;height:48px;padding:0;border-radius:14px}
 .gc-nav{left:12px;right:12px;top:calc(100% + 10px);padding:12px;border-radius:18px;max-height:calc(100vh - 96px);overflow-y:auto;overflow-x:hidden}
 .gc-nav > div > ul,.gc-nav > ul{display:block}
 .gc-nav li{width:100%}
 .gc-nav a{font-size:16px;font-weight:700;padding:13px 12px;border-radius:12px}
 .gc-nav .sub-menu{position:static;display:none;min-width:0;padding:2px 0 6px 14px;margin:0;border:0;box-shadow:none;background:transparent}
 .gc-nav .menu-item-has-children.gc-sub-open > .sub-menu{display:block}
 .gc-nav .sub-menu a{font-size:15px;font-weight:600;padding:10px 12px}
 .gc-nav .menu-item-has-children:hover > .sub-menu{display:none}
 .gc-nav .menu-item-has-children.gc-sub-open:hover > .sub-menu{display:block}
 .gc-mobile-actions{display:grid;gap:10px;margin:14px 0 2px;padding-top:12px;border-top:1px solid var(--gc-border)}
 .gc-mobile-action{display:flex!important;align-items:center;justify-content:center;text-align:center;min-height:54px!important;padding:14px 18px!important;border-radius:14px!important;font-size:17px!important;font-weight:800!important;text-decoration:none!important}
 .gc-mobile-action-primary{background:var(--gc-green);color:#fff!important;box-shadow:0 8px 20px rgba(23,122,67,.18)}
 .gc-mobile-action-secondary{background:var(--gc-green-soft);color:var(--gc-green-dark)!important;border:1px solid #b9ddc7}
}
@media (max-width:640px){
 .gc-header-inner{padding-left:12px;padding-right:12px}.gc-brand .custom-logo{max-height:62px}.gc-nav{left:8px;right:8px}
}

/* v1.1.1 GiveCause plugin compatibility and partnership footer */
.gc-footer-partnership{font-size:13px;line-height:1.65;color:#e7efe8}.gc-footer-partnership strong{display:block;color:#fff;margin-top:5px}.gc-footer-partnership a{color:#c8edb7}.gc-footer-contact{overflow-wrap:anywhere}.giv-squad-modal,.giv-squad-modal *{box-sizing:border-box}.giv-squad-dialog iframe{width:100%;max-width:100%;border:1px solid var(--gc-border);border-radius:10px}.giv-donation-card,.giv-gateway-option,.giv-payment-brands{min-width:0;max-width:100%}.giv-gateway-option .giv-payment-brands{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.giv-gateway-option .giv-payment-brands img{height:22px;width:auto;max-width:100%;object-fit:contain}@media(max-width:700px){.gc-footer-inner{grid-template-columns:1fr!important;gap:20px}.gc-footer-partnership{font-size:12px}.giv-gateway-option .giv-payment-brands img{height:20px}}

/* GiveCause Foundation 1.1.5: responsive footer newsletter presentation. */
.gc-footer-newsletter{width:min(100% - 32px,var(--gc-content));margin:0 auto;padding:26px 28px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:28px;box-sizing:border-box}
.gc-footer-newsletter-copy{flex:1 1 45%;min-width:0}.gc-footer-newsletter-copy h3{margin:0 0 6px;color:#fff;font-size:20px}.gc-footer-newsletter-copy p{margin:0;color:#c5d6ca;font-size:14px;line-height:1.55}.gc-footer-newsletter-form{flex:1 1 55%;min-width:0}.gc-footer-newsletter-form .giv-reach-signup form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.gc-footer-newsletter-form input[type=email]{width:100%;min-width:0;min-height:46px;padding:11px 14px;border:1px solid #d5e1d8;border-radius:9px;background:#fff;color:#17221c;box-sizing:border-box}.gc-footer-newsletter-form button{min-height:46px;padding:10px 19px;border:0;border-radius:9px;background:#8bd19a;color:#10251a;font-weight:800}.gc-footer-newsletter-form .giv-reach-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:8px;color:#d4e0d7;font-size:12px;line-height:1.45}.gc-footer-newsletter-form .giv-reach-consent input{margin-top:3px;flex:0 0 auto}.gc-footer-newsletter-form .giv-reach-signup [role=status]{margin:10px 0 0;color:#fff;font-size:13px}.gc-footer-newsletter-form .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.gc-footer-newsletter{width:calc(100% - 24px);padding:22px 18px;display:block}.gc-footer-newsletter-copy{margin-bottom:16px}.gc-footer-newsletter-copy h3{font-size:18px}.gc-footer-newsletter-form .giv-reach-signup form{grid-template-columns:1fr}.gc-footer-newsletter-form button{width:100%}}

/* GiveCause plugin campaign/iframe compatibility: preserve fluid checkout width without horizontal overflow. */
.giv-campaign-viewport{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:clip}
.giv-campaign-viewport .giv-campaign-single,.giv-campaign-viewport .giv-donation-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.giv-campaign-viewport iframe{max-width:100%}


/* GiveCause Fundraising Theme 1.1.8 — restore the original large-brand header composition.
   Desktop: prominent logo at left with navigation alongside. Mobile: centered logo
   with the menu control at the right, matching the previous approved layout. */
@media (min-width: 901px) {
  .gc-header-inner {
    min-height: 300px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    gap: 28px !important;
  }
  .gc-brand { max-width: 360px !important; }
  .gc-brand .custom-logo-link { display: block; line-height: 0; }
  .gc-brand .custom-logo {
    display: block; width: auto; height: auto; max-width: 340px;
    max-height: 190px !important; object-fit: contain;
  }
  .gc-nav { align-self: center; }
}
@media (max-width: 900px) {
  .gc-header { min-height: 260px; }
  .gc-header-inner {
    position: relative; display: flex; justify-content: center; align-items: center;
    width: 100% !important; min-height: 260px !important; height: 260px;
    padding: 18px 76px !important; gap: 0 !important;
  }
  .gc-brand {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    display: flex; justify-content: center; align-items: center;
    width: calc(100% - 130px); max-width: 260px !important;
    max-height: 190px; margin: 0;
  }
  .gc-brand .custom-logo-link { display: block; line-height: 0; text-align: center; }
  .gc-brand .custom-logo {
    display: block; width: auto; height: auto; max-width: 100%;
    max-height: 150px !important; object-fit: contain; margin: 0 auto;
  }
  .gc-menu-toggle {
    position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; margin: 0;
  }
  .gc-nav { top: calc(100% - 8px) !important; z-index: 500; }
}
@media (max-width: 480px) {
  .gc-header, .gc-header-inner { min-height: 238px; height: 238px; }
  .gc-brand { width: calc(100% - 112px); max-width: 230px !important; }
  .gc-brand .custom-logo { max-height: 138px !important; }
  .gc-menu-toggle { right: 14px; width: 50px; height: 50px; }
}
