/*
Theme Name: Greater Me
Theme URI: https://www.robscripts.com
Author: Robert Murdock
Author URI: https://www.robmurdock.com
Description: A professional wellness, outdoors, achievement, and self-improvement WordPress theme built for the WP Badge System.
Version: 1.1.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: greater-me
*/

:root{
  --gm-forest:#234236;
  --gm-sage:#6f8f72;
  --gm-moss:#93a267;
  --gm-sun:#f3b958;
  --gm-cream:#fbf7ed;
  --gm-ink:#1f2a27;
  --gm-muted:#64746f;
  --gm-white:#ffffff;
  --gm-line:#e4e0d4;
  --gm-shadow:0 14px 34px rgba(26,43,37,.12);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  color:var(--gm-ink);
  background:var(--gm-cream);
  line-height:1.6;
}
a{color:var(--gm-forest);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.gm-container{width:min(1160px,calc(100% - 40px));margin:0 auto}

.site-header{
  background:rgba(251,247,237,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gm-line);
  position:sticky;
  top:0;
  z-index:20;
}
.gm-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 0;
}
.site-branding{display:flex;align-items:center;gap:12px}
.site-branding img{width:56px;height:56px}
.site-title{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;margin:0}
.site-description{font-size:.85rem;color:var(--gm-muted);margin:0}
.main-navigation ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;align-items:center}
.main-navigation a{font-weight:700;color:var(--gm-ink)}
.menu-toggle{display:none}

.gm-hero{
  position:relative;
  overflow:hidden;
  padding:90px 0 70px;
  background:
    radial-gradient(circle at 80% 20%,rgba(243,185,88,.34),transparent 28%),
    linear-gradient(135deg,#fdf8ec 0%,#edf3e9 52%,#dfeadd 100%);
}
.gm-hero:before{
  content:"";
  position:absolute;inset:auto -10% -35% -10%;
  height:360px;
  background:linear-gradient(135deg,rgba(35,66,54,.12),rgba(111,143,114,.16));
  border-radius:50% 50% 0 0;
}
.gm-hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.gm-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--gm-forest);font-weight:800;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(35,66,54,.12);
  padding:8px 12px;border-radius:999px;
}
.gm-hero h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:.95;letter-spacing:-.07em;margin:18px 0;color:var(--gm-forest)}
.gm-hero p{font-size:1.18rem;color:#42534d;max-width:620px;margin:0 0 26px}
.gm-actions{display:flex;gap:12px;flex-wrap:wrap}
.gm-button,.button,.wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;
  padding:13px 20px;
  background:var(--gm-forest);
  color:#fff!important;
  font-weight:800;
  border:0;
  box-shadow:0 8px 18px rgba(35,66,54,.18);
}
.gm-button:hover,.button:hover{text-decoration:none;transform:translateY(-1px)}
.gm-button.secondary{
  background:#fff;
  color:var(--gm-forest)!important;
  border:1px solid rgba(35,66,54,.15);
}
.gm-hero-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(35,66,54,.12);
  border-radius:30px;
  padding:26px;
  box-shadow:var(--gm-shadow);
}
.gm-progress-ring{
  width:180px;height:180px;border-radius:50%;
  display:grid;place-items:center;margin:0 auto 20px;
  background:conic-gradient(var(--gm-sun) 0 72%,#e6eadf 72% 100%);
}
.gm-progress-ring span{
  width:132px;height:132px;border-radius:50%;
  background:#fff;display:grid;place-items:center;
  color:var(--gm-forest);font-weight:900;font-size:2.2rem;
}
.gm-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gm-mini-stat{background:#f8faf5;border-radius:16px;padding:14px;text-align:center}
.gm-mini-stat strong{display:block;color:var(--gm-forest);font-size:1.35rem}
.gm-mini-stat span{font-size:.8rem;color:var(--gm-muted)}

.gm-section{padding:70px 0}
.gm-section h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.05em;margin:0 0 16px;color:var(--gm-forest)}
.gm-section-lead{color:var(--gm-muted);max-width:760px;font-size:1.1rem;margin:0 0 30px}
.gm-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gm-card{
  background:#fff;border:1px solid var(--gm-line);border-radius:24px;
  padding:24px;box-shadow:0 8px 24px rgba(26,43,37,.06);
}
.gm-card-icon{font-size:2.2rem}
.gm-card h3{margin:12px 0 8px;color:var(--gm-forest);font-size:1.35rem}
.gm-card p{color:var(--gm-muted);margin:0}

.gm-band{background:var(--gm-forest);color:#fff;border-radius:34px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.gm-band h2{color:#fff;margin:0 0 10px}
.gm-band p{color:rgba(255,255,255,.82);margin:0}
.gm-band .gm-button{background:var(--gm-sun);color:#2b2618!important}

.site-main{padding:52px 0}
.gm-content-card,.post,.page .entry-content{
  background:#fff;border:1px solid var(--gm-line);border-radius:24px;
  padding:30px;box-shadow:0 8px 24px rgba(26,43,37,.06);
}
.entry-title{color:var(--gm-forest);letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:0 0 20px}
.entry-meta{color:var(--gm-muted);font-size:.9rem;margin-bottom:20px}
.posts-list{display:grid;gap:24px}
.post{margin:0}
.post .entry-title{font-size:2rem}

.site-footer{
  background:#182d25;color:rgba(255,255,255,.82);
  padding:42px 0;margin-top:60px;
}
.site-footer a{color:#fff}
.gm-footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}
.gm-footer-brand{display:flex;gap:12px;align-items:center}
.gm-footer-brand img{width:42px;height:42px}

.wpbs-public-category,.wpbs-badge-card,.wpbs-achievement-row,.wpbs-leaderboard{
  border-radius:22px!important;
}
.wpbs-public-category{box-shadow:0 10px 24px rgba(26,43,37,.08)!important}

@media (max-width: 820px){
  .gm-hero-grid,.gm-card-grid,.gm-band{grid-template-columns:1fr}
  .main-navigation ul{display:none}
  .menu-toggle{display:inline-flex}
  .gm-footer-inner{flex-direction:column;align-items:flex-start}
}

/* Greater Me v1.0.1 challenge archive polish */
.gm-section .wpbs-current-challenge{max-width:900px}

/* Greater Me v1.1.0 Launch Polish */
.gm-hero{min-height:640px;display:flex;align-items:center}
.gm-hero-card{transform:rotate(1deg)}
.gm-hero-card:hover{transform:rotate(0deg) translateY(-2px);transition:.2s ease}
.gm-card,.gm-band,.gm-content-card{transition:transform .18s ease, box-shadow .18s ease}
.gm-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(26,43,37,.10)}
.gm-launch-strip{background:#fff;border-top:1px solid var(--gm-line);border-bottom:1px solid var(--gm-line);padding:18px 0}
.gm-launch-strip .gm-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;text-align:center}
.gm-launch-strip strong{display:block;color:var(--gm-forest);font-size:1.5rem}
.gm-launch-strip span{color:var(--gm-muted);font-weight:700}
