/* =====================================================================
   GlowStrong — Shop by Goal styles (Module 3)
   Loaded on goal landing pages and on pages using the goal shortcodes.
   Inherits design tokens from global.css.
   ===================================================================== */

/* ---------- Goal hero ---------- */
.gs-goal-hero {
    padding-block: var(--gs-space-9) var(--gs-space-7);
    background:
        radial-gradient(120% 120% at 85% 0%, var(--gs-glow-soft) 0%, transparent 45%),
        radial-gradient(120% 120% at 0% 100%, rgba(94,139,126,0.18) 0%, transparent 50%),
        var(--gs-canvas);
}
.gs-goal-hero__title { font-size: var(--gs-fs-display); margin-bottom: var(--gs-space-4); }
.gs-goal-hero__subtitle { font-size: var(--gs-fs-lg); color: var(--gs-text-muted); }
.gs-goal-hero .gs-hero__actions { margin-top: var(--gs-space-6); }

/* ---------- Intro ---------- */
.gs-goal-intro h2 { margin-bottom: var(--gs-space-4); }

/* ---------- Goals grid (shortcode) ---------- */
.gs-goals-grid .gs-goal { display: flex; flex-direction: column; gap: var(--gs-space-1); }
.gs-goals-grid .gs-goal__meta { line-height: var(--gs-lh-snug); }

/* ---------- Goal CTA panel reuse ---------- */
.gs-goal-cta { text-align: center; }

/* ---------- Product loop inside goal page (match Woo grid) ---------- */
.gs-goal-page ul.products {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gs-space-5);
    list-style: none; margin: 0; padding: 0;
}
@media (min-width: 768px) { .gs-goal-page ul.products { grid-template-columns: repeat(4, 1fr); } }
.gs-goal-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important;
    background: var(--gs-white); border: 1px solid var(--gs-border); border-radius: var(--gs-radius-lg);
    padding: var(--gs-space-4); }
.gs-goal-page ul.products li.product img { border-radius: var(--gs-radius); margin-bottom: var(--gs-space-3); }

@media (min-width: 900px) {
    .gs-stack-grid { grid-template-columns: repeat(4, 1fr); }
}
