/*
Theme Name: GriefBites
Theme URI: https://griefbites.org
Author: Dr. Bobby Bressman
Author URI: https://griefbites.org
Description: A warm, faith-centered theme for the GriefBites Grief2Growth Foundation.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: griefbites
Tags: woocommerce, nonprofit, blog, faith
*/

:root {
  --gb-cream: #FAF6F1;
  --gb-warm-white: #FFFFFF;
  --gb-brown: #5C3D2E;
  --gb-brown-light: #7A5C4A;
  --gb-gold: #C8963E;
  --gb-gold-light: #E8B96A;
  --gb-teal: #3A7D6E;
  --gb-teal-light: #5FA898;
  --gb-text: #2D2017;
  --gb-text-muted: #6B5744;
  --gb-border: #DDD0C0;
  --gb-shadow: 0 4px 20px rgba(92,61,46,0.10);
  --gb-radius: 12px;
  --gb-radius-sm: 6px;
  --gb-font-heading: 'Playfair Display', Georgia, serif;
  --gb-font-body: 'Lato', 'Helvetica Neue', sans-serif;
  --gb-max-width: 1160px;
  --gb-transition: 0.25s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--gb-font-body);font-size:16px;line-height:1.75;color:var(--gb-text);background:var(--gb-cream)}
img{max-width:100%;height:auto;display:block}
a{color:var(--gb-teal);text-decoration:none;transition:color var(--gb-transition)}
a:hover{color:var(--gb-brown)}
h1,h2,h3,h4,h5,h6{font-family:var(--gb-font-heading);color:var(--gb-brown);line-height:1.25;margin-bottom:0.5em}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}
h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}
h4{font-size:1.2rem}
p{margin-bottom:1.25rem;color:var(--gb-text-muted)}
ul,ol{padding-left:1.5rem;margin-bottom:1rem}
.gb-container{max-width:var(--gb-max-width);margin:0 auto;padding:0 24px}
.gb-section{padding:80px 0}
.gb-section--alt{background:#F0EAE0}
.gb-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.gb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.gb-center{text-align:center}
.gb-badge{display:inline-block;background:var(--gb-gold-light);color:var(--gb-brown);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:12px}
.gb-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-block;padding:13px 32px;border-radius:var(--gb-radius-sm);font-family:var(--gb-font-body);font-size:.95rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all var(--gb-transition);border:2px solid transparent;text-decoration:none}
.gb-btn--primary,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--gb-teal);color:#fff;border-color:var(--gb-teal)}
.gb-btn--primary:hover{background:var(--gb-teal-light);border-color:var(--gb-teal-light);color:#fff}
.gb-btn--gold{background:var(--gb-gold);color:#fff;border-color:var(--gb-gold)}
.gb-btn--gold:hover{background:var(--gb-gold-light);color:#fff}
.gb-btn--outline{background:transparent;color:var(--gb-brown);border-color:var(--gb-brown)}
.gb-btn--outline:hover{background:var(--gb-brown);color:#fff}
.gb-btn--white{background:#fff;color:var(--gb-brown);border-color:#fff}
.gb-btn--white:hover{background:var(--gb-cream)}
.gb-header{background:var(--gb-warm-white);border-bottom:1px solid var(--gb-border);position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,0.07)}
.gb-header__inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--gb-max-width);margin:0 auto}
.gb-logo{font-family:var(--gb-font-heading);font-size:1.5rem;font-weight:700;color:var(--gb-brown);text-decoration:none;display:flex;align-items:center;gap:10px}
.gb-logo span{color:var(--gb-teal)}
.gb-nav{display:flex;align-items:center;gap:28px}
.gb-nav a{font-size:.9rem;font-weight:600;color:var(--gb-text);text-transform:uppercase;letter-spacing:.06em;transition:color var(--gb-transition)}
.gb-nav a:hover{color:var(--gb-teal)}
.gb-nav .gb-nav__donate{background:var(--gb-gold);color:#fff;padding:9px 20px;border-radius:var(--gb-radius-sm)}
.gb-nav .gb-nav__donate:hover{background:var(--gb-gold-light);color:#fff}
.gb-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
.gb-hamburger span{width:24px;height:2px;background:var(--gb-brown);display:block;transition:all var(--gb-transition)}
.gb-hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#3A2010 0%,#5C3D2E 50%,#3A7D6E 100%)}
.gb-hero__overlay{position:absolute;inset:0;background:url('https://griefbites.org/wp-content/uploads/2025/11/image.jpg.jpg') center/cover no-repeat;opacity:.25}
.gb-hero__content{position:relative;z-index:2;margin:0 auto;padding:80px 24px;max-width:680px}
.gb-hero__title{font-size:clamp(2.4rem,6vw,4rem);color:#fff;margin-bottom:12px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.gb-hero__tagline{font-size:1.2rem;color:var(--gb-gold-light);font-style:italic;margin-bottom:16px}
.gb-hero__description{font-size:1.05rem;color:rgba(255,255,255,.88);margin-bottom:32px;max-width:560px}
.gb-hero__actions{display:flex;gap:16px;flex-wrap:wrap}
.gb-scripture{background:var(--gb-brown);color:#fff;text-align:center;padding:28px 24px}
.gb-scripture blockquote{font-family:var(--gb-font-heading);font-size:1.1rem;font-style:italic;margin:0 auto;max-width:700px;opacity:.95}
.gb-scripture cite{display:block;font-size:.85rem;margin-top:8px;color:var(--gb-gold-light);font-style:normal;font-weight:600;letter-spacing:.08em}
.gb-resource-card{background:var(--gb-warm-white);border-radius:var(--gb-radius);overflow:hidden;box-shadow:var(--gb-shadow);transition:transform var(--gb-transition),box-shadow var(--gb-transition)}
.gb-resource-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(92,61,46,.18)}
.gb-resource-card__img{width:100%;height:220px;object-fit:cover}
.gb-resource-card__body{padding:24px}
.gb-resource-card__title{font-size:1.25rem;margin-bottom:8px}
.gb-resource-card__text{font-size:.9rem;margin-bottom:16px}
.gb-post-card{background:var(--gb-warm-white);border-radius:var(--gb-radius);overflow:hidden;box-shadow:var(--gb-shadow);display:flex;flex-direction:column}
.gb-post-card__img{width:100%;height:200px;object-fit:cover}
.gb-post-card__body{padding:24px;flex:1;display:flex;flex-direction:column}
.gb-post-card__date{font-size:.78rem;color:var(--gb-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.gb-post-card__title{font-size:1.1rem;margin-bottom:10px}
.gb-post-card__excerpt{font-size:.9rem;flex:1}
.gb-post-card__link{margin-top:16px;font-weight:700;font-size:.88rem;color:var(--gb-teal)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;gap:28px!important;list-style:none!important;padding:0!important;margin:0!important}
.woocommerce ul.products li.product{background:var(--gb-warm-white)!important;border-radius:var(--gb-radius)!important;overflow:hidden!important;box-shadow:var(--gb-shadow)!important;transition:transform var(--gb-transition),box-shadow var(--gb-transition)!important;padding:0 0 20px!important}
.woocommerce ul.products li.product:hover{transform:translateY(-4px)!important;box-shadow:0 8px 32px rgba(92,61,46,.18)!important}
.gb-donate-cta{background:linear-gradient(135deg,var(--gb-teal) 0%,var(--gb-brown) 100%);color:#fff;text-align:center;padding:80px 24px}
.gb-donate-cta h2{color:#fff}
.gb-donate-cta p{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:580px;margin:0 auto 32px}
.gb-restore{background:var(--gb-warm-white)}
.gb-restore__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:40px}
.gb-restore__step{text-align:center;padding:28px 20px;background:var(--gb-cream);border-radius:var(--gb-radius);border-top:4px solid var(--gb-gold)}
.gb-restore__step-num{font-family:var(--gb-font-heading);font-size:2rem;color:var(--gb-gold);display:block;margin-bottom:8px}
.gb-restore__step p{font-size:.88rem;margin:0}
.gb-testimonials{background:var(--gb-cream)}
.gb-testimonial-card{background:var(--gb-warm-white);border-radius:var(--gb-radius);padding:32px;box-shadow:var(--gb-shadow);border-left:4px solid var(--gb-teal)}
.gb-testimonial-card blockquote{font-family:var(--gb-font-heading);font-style:italic;font-size:1.05rem;color:var(--gb-text);margin:0 0 16px}
.gb-testimonial-card cite{font-size:.85rem;font-weight:700;color:var(--gb-text-muted);font-style:normal}
.gb-newsletter{background:var(--gb-brown);text-align:center;padding:60px 24px}
.gb-newsletter h2{color:#fff;margin-bottom:10px}
.gb-newsletter p{color:rgba(255,255,255,.8);margin-bottom:24px}
.gb-newsletter__form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.gb-newsletter__form input[type="email"]{flex:1;min-width:200px;padding:13px 20px;border:none;border-radius:var(--gb-radius-sm);font-size:.95rem}
.gb-footer{background:var(--gb-text);color:rgba(255,255,255,.75);padding:64px 0 0}
.gb-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:var(--gb-max-width);margin:0 auto;padding:0 24px}
.gb-footer__brand .gb-logo{color:#fff}
.gb-footer__brand .gb-logo span{color:var(--gb-gold-light)}
.gb-footer__brand p{font-size:.88rem;margin-top:12px;max-width:260px}
.gb-footer__col h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.gb-footer__col ul{list-style:none;padding:0}
.gb-footer__col ul li{margin-bottom:8px}
.gb-footer__col ul li a{color:rgba(255,255,255,.7);font-size:.88rem;transition:color var(--gb-transition)}
.gb-footer__col ul li a:hover{color:var(--gb-gold-light)}
.gb-footer__contact p{font-size:.88rem;margin-bottom:6px}
.gb-footer__social{display:flex;gap:12px;margin-top:16px}
.gb-footer__social a{width:36px;height:36px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;transition:background var(--gb-transition)}
.gb-footer__social a:hover{background:var(--gb-gold)}
.gb-footer__bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;max-width:var(--gb-max-width);margin-left:auto;margin-right:auto;flex-wrap:wrap;gap:12px;font-size:.82rem}
.gb-single-post{max-width:780px;margin:60px auto;padding:0 24px}
.gb-single-post__meta{font-size:.82rem;color:var(--gb-text-muted);margin-bottom:12px}
.gb-single-post__thumbnail{border-radius:var(--gb-radius);margin-bottom:36px;width:100%;max-height:420px;object-fit:cover}
.gb-page-header{background:linear-gradient(to right,var(--gb-brown),var(--gb-teal));padding:60px 24px;text-align:center}
.gb-page-header h1{color:#fff}
.gb-page-header p{color:rgba(255,255,255,.85);max-width:600px;margin:0 auto}
.gb-404{text-align:center;padding:100px 24px}
.gb-404 h1{font-size:8rem;color:var(--gb-border);line-height:1}
@media(max-width:1024px){.gb-grid-4{grid-template-columns:repeat(2,1fr)}.gb-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.gb-grid-2,.gb-grid-3{grid-template-columns:1fr}.gb-nav{display:none;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px 24px;box-shadow:0 8px 20px rgba(0,0,0,.1);gap:16px}.gb-nav.is-open{display:flex}.gb-hamburger{display:flex}.gb-hero__actions{flex-direction:column;align-items:flex-start}.gb-footer__grid{grid-template-columns:1fr}.gb-footer__bottom{flex-direction:column;text-align:center}}
@media(max-width:480px){.gb-grid-4{grid-template-columns:1fr}.gb-section{padding:48px 0}}