.woocommerce ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 -15px !important; /* Adjust for spacing */
}
.woocommerce ul.products li.product {
    width: 33.33% !important; /* For 3 columns; use 25% for 4, 50% for 2 */
    padding: 0 15px !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    white-space: normal !important; /* Prevent forced single-line */
    overflow: visible !important;
    height: auto !important;
    min-height: 3em; /* Helps equal height if needed */
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product {
        width: 50% !important; /* 2 columns on tablet/mobile */
    }
}
@media (max-width: 480px) {
    .woocommerce ul.products li.product {
        width: 100% !important; /* Stack on small phones */
    }
}

/* ================================================================
   GRIEFBITES REDESIGN — Additional CSS v2.0
   Revenue-focused layout system
   ================================================================ */

:root {
  --gb-cream:    #F5F0E8;
  --gb-brown:    #3D2314;
  --gb-teal:     #3A6B5F;
  --gb-gold:     #B8922A;
  --gb-gold-lt:  #D4AA4A;
  --gb-text:     #2C1A0E;
  --gb-muted:    #6B5744;
  --gb-white:    #FFFFFF;
  --gb-border:   #E0D8CC;
  --gb-warm:     #f0ebe0;
}

/* ── PAGE HERO ── */
.gb-page-hero {
  background: linear-gradient(135deg, var(--gb-brown) 0%, #5C3520 50%, var(--gb-teal) 100%);
  padding: 70px 24px; text-align: center;
}
.gb-page-hero h1 { font-family:'Playfair Display',serif; font-size:2.6rem; color:#fff; margin-bottom:14px; line-height:1.2; }
.gb-page-hero p  { font-size:1.1rem; color:rgba(255,255,255,.85); max-width:640px; margin:0 auto 24px; }

/* ── SECTION SCAFFOLDING ── */
.gb-section       { padding:80px 24px; }
.gb-section-cream { background:var(--gb-cream); }
.gb-section-white { background:var(--gb-white); }
.gb-section-brown { background:var(--gb-brown); }
.gb-section-teal  { background:var(--gb-teal); }
.gb-section-warm  { background:var(--gb-warm); border-top:3px solid var(--gb-gold); }
.gb-inner         { max-width:1200px; margin:0 auto; }
.gb-inner-narrow  { max-width:860px;  margin:0 auto; }
.gb-inner-med     { max-width:1000px; margin:0 auto; }

.gb-section-header          { text-align:center; margin-bottom:52px; }
.gb-section-header h2       { font-family:'Playfair Display',serif; font-size:2.3rem; color:var(--gb-brown); margin-bottom:12px; }
.gb-section-header.on-dark h2 { color:#fff; }
.gb-section-header p        { font-size:1rem; color:var(--gb-muted); max-width:580px; margin:12px auto 0; }
.gb-section-header.on-dark p  { color:rgba(255,255,255,.75); }

/* ── BADGES ── */
.gb-badge { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:4px 14px; border-radius:20px; margin-bottom:14px; }
.gb-badge-gold  { background:var(--gb-gold-lt); color:#fff; }
.gb-badge-teal  { background:var(--gb-teal);    color:#fff; }
.gb-badge-cream { background:var(--gb-cream); color:var(--gb-gold); border:1px solid var(--gb-gold); }
.gb-badge-dark  { background:rgba(255,255,255,.15); color:var(--gb-gold-lt); border:1px solid rgba(255,255,255,.3); }

/* ── BUTTONS ── */
.gb-btn { display:inline-block; font-family:'Lato',sans-serif; font-weight:700; border-radius:4px; text-decoration:none; cursor:pointer; transition:all .2s; border:none; letter-spacing:.03em; }
.gb-btn-primary       { background:var(--gb-gold);   color:#fff; padding:15px 30px; font-size:.98rem; }
.gb-btn-primary:hover { background:var(--gb-gold-lt); color:#fff; text-decoration:none; }
.gb-btn-teal          { background:var(--gb-teal);   color:#fff; padding:13px 26px; font-size:.93rem; }
.gb-btn-teal:hover    { background:#2d5548; color:#fff; text-decoration:none; }
.gb-btn-gold          { background:var(--gb-gold);   color:#fff; padding:13px 26px; font-size:.93rem; }
.gb-btn-gold:hover    { background:var(--gb-gold-lt); color:#fff; text-decoration:none; }
.gb-btn-outline       { background:transparent; border:2px solid rgba(255,255,255,.65); color:#fff; padding:13px 26px; font-size:.93rem; }
.gb-btn-outline:hover { background:rgba(255,255,255,.1); color:#fff; text-decoration:none; }
.gb-btn-outline-dark  { background:transparent; border:2px solid var(--gb-brown); color:var(--gb-brown); padding:11px 22px; font-size:.9rem; }
.gb-btn-outline-dark:hover { background:var(--gb-brown); color:#fff; text-decoration:none; }
.gb-btn-full { width:100%; text-align:center; display:block; }

/* ── THREE PATHWAYS ── */
.gb-pathway-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.gb-pathway-card { background:var(--gb-white); border:1.5px solid var(--gb-border); border-radius:10px; padding:32px 26px; position:relative; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.gb-pathway-card:hover { transform:translateY(-5px); box-shadow:0 14px 40px rgba(0,0,0,.1); }
.gb-pathway-card.gb-featured { border-color:var(--gb-gold); box-shadow:0 4px 20px rgba(184,146,42,.18); }
.gb-pathway-card.gb-featured::after { content:'PRIMARY'; position:absolute; top:16px; right:-24px; background:var(--gb-gold); color:#fff; font-size:.62rem; font-weight:700; letter-spacing:.1em; padding:4px 36px; transform:rotate(45deg); }
.gb-pathway-icon { font-size:2.2rem; margin-bottom:14px; }
.gb-pathway-card h3 { font-family:'Playfair Display',serif; font-size:1.35rem; color:var(--gb-brown); margin-bottom:6px; }
.gb-pathway-who { font-size:.78rem; color:var(--gb-gold); font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.gb-pathway-card > p { font-size:.88rem; color:var(--gb-muted); margin-bottom:16px; line-height:1.6; }
.gb-pathway-list { list-style:none; padding:0; margin-bottom:22px; }
.gb-pathway-list li { font-size:.86rem; color:var(--gb-text); padding:5px 0 5px 20px; position:relative; }
.gb-pathway-list li::before { content:'→'; position:absolute; left:0; color:var(--gb-teal); font-weight:700; }

/* ── RESTORE STEPS ── */
.gb-restore-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; margin-bottom:44px; }
.gb-restore-step { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:8px; padding:18px 8px; text-align:center; }
.gb-rl { font-family:'Playfair Display',serif; font-size:1.9rem; color:var(--gb-gold-lt); display:block; }
.gb-rw { font-size:.78rem; color:#fff; font-weight:700; display:block; margin-top:6px; text-transform:uppercase; letter-spacing:.06em; }
.gb-rd { font-size:.7rem; color:rgba(255,255,255,.6); margin-top:6px; line-height:1.4; }

/* ── PRICE CARDS ── */
.gb-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:820px; margin:0 auto; }
.gb-price-card { background:var(--gb-white); border:1.5px solid var(--gb-border); border-radius:10px; padding:34px 28px; text-align:center; }
.gb-price-card.gb-price-featured { border-color:var(--gb-gold); box-shadow:0 8px 30px rgba(184,146,42,.18); position:relative; }
.gb-price-card.gb-price-featured::before { content:'MOST POPULAR'; position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--gb-gold); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.12em; padding:4px 18px; border-radius:20px; }
.gb-price-name   { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--gb-brown); margin-bottom:6px; }
.gb-price-amount { font-family:'Playfair Display',serif; font-size:2.8rem; color:var(--gb-teal); margin-bottom:4px; line-height:1; }
.gb-price-amount span { font-size:1rem; color:var(--gb-muted); }
.gb-price-alt    { font-size:.82rem; color:var(--gb-gold); font-weight:700; margin-bottom:18px; }
.gb-price-features { list-style:none; padding:0; margin-bottom:24px; text-align:left; }
.gb-price-features li { font-size:.88rem; color:var(--gb-text); padding:7px 0 7px 22px; position:relative; border-bottom:1px solid var(--gb-border); }
.gb-price-features li:last-child { border-bottom:none; }
.gb-price-features li::before { content:'✓'; position:absolute; left:0; color:var(--gb-teal); font-weight:700; }

/* ── TRAINING CARDS ── */
.gb-training-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.gb-training-card { background:var(--gb-white); border:1.5px solid var(--gb-border); border-radius:10px; padding:28px; position:relative; }
.gb-training-card.gb-tr-featured { border-color:var(--gb-teal); }
.gb-training-card.gb-tr-featured::before { content:'MOST POPULAR'; position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--gb-teal); color:#fff; font-size:.65rem; font-weight:700; letter-spacing:.1em; padding:3px 16px; border-radius:20px; }
.gb-training-card h3 { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--gb-brown); margin-bottom:6px; }
.gb-training-price { font-family:'Playfair Display',serif; font-size:2.2rem; color:var(--gb-teal); margin-bottom:14px; }
.gb-training-features { list-style:none; padding:0; margin-bottom:22px; }
.gb-training-features li { font-size:.87rem; color:var(--gb-text); padding:5px 0 5px 20px; position:relative; border-bottom:1px solid var(--gb-border); }
.gb-training-features li:last-child { border-bottom:none; }
.gb-training-features li::before { content:'✓'; position:absolute; left:0; color:var(--gb-teal); font-weight:700; }
.gb-training-ideal { font-size:.8rem; color:var(--gb-muted); font-style:italic; margin-top:14px; }

/* ── CERTIFICATIONS ── */
.gb-cert-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.gb-cert-card { background:rgba(255,255,255,.07); border:1.5px solid rgba(255,255,255,.18); border-radius:10px; padding:30px; text-align:center; }
.gb-cert-card.gb-cert-featured { border-color:var(--gb-gold-lt); background:rgba(212,170,74,.1); }
.gb-cert-card h3 { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--gb-gold-lt); margin-bottom:8px; }
.gb-cert-price { font-family:'Playfair Display',serif; font-size:2rem; color:#fff; margin-bottom:10px; }
.gb-cert-card p { font-size:.85rem; color:rgba(255,255,255,.75); margin-bottom:18px; }
.gb-cert-note { font-size:.82rem; color:rgba(255,255,255,.6); text-align:center; margin-top:22px; }

/* ── COMPARE TABLE ── */
.gb-compare-wrap { overflow-x:auto; }
.gb-compare-table { width:100%; border-collapse:collapse; background:var(--gb-white); border-radius:10px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.08); }
.gb-compare-table th { font-weight:700; padding:18px 20px; }
.gb-compare-table th:first-child { background:var(--gb-brown); color:#fff; text-align:left; }
.gb-compare-table th:nth-child(2) { background:var(--gb-cream); color:var(--gb-brown); text-align:center; }
.gb-compare-table th:nth-child(3) { background:var(--gb-teal); color:#fff; text-align:center; }
.gb-compare-table td { padding:13px 20px; border-bottom:1px solid var(--gb-border); font-size:.9rem; }
.gb-compare-table td:nth-child(2), .gb-compare-table td:nth-child(3) { text-align:center; font-size:1.1rem; font-weight:700; }
.gb-compare-table tr:last-child td { border-bottom:none; }
.gb-compare-table tr:hover td { background:#faf7f2; }
.gb-compare-table .check { color:var(--gb-teal); }
.gb-compare-table .dash  { color:var(--gb-border); }

/* ── FAQ ── */
.gb-faq { max-width:760px; margin:0 auto; }
.gb-faq-item { border-bottom:1px solid var(--gb-border); padding:20px 0; }
.gb-faq-q { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--gb-brown); margin-bottom:10px; }
.gb-faq-a { font-size:.9rem; color:var(--gb-muted); line-height:1.7; }

/* ── LEAD MAGNET ── */
.gb-lead-list { list-style:none; padding:0; margin-bottom:26px; }
.gb-lead-list li { font-size:.9rem; color:rgba(255,255,255,.9); padding:5px 0 5px 22px; position:relative; }
.gb-lead-list li::before { content:'✓'; position:absolute; left:0; color:var(--gb-gold-lt); font-weight:700; }
.gb-book-mockup { background:rgba(255,255,255,.1); border:2px solid rgba(255,255,255,.22); border-radius:12px; padding:32px; text-align:center; }
.gb-book-cover { background:var(--gb-brown); border-radius:8px; padding:28px 20px; margin-bottom:14px; box-shadow:6px 6px 0 rgba(0,0,0,.25); }
.gb-book-cover h3 { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--gb-gold-lt); margin-bottom:6px; }
.gb-book-cover p  { font-size:.82rem; color:rgba(255,255,255,.7); }
.gb-book-free { font-size:.8rem; color:rgba(255,255,255,.75); }
.gb-book-free strong { color:var(--gb-gold-lt); }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .gb-pathway-grid, .gb-cert-grid, .gb-training-grid { grid-template-columns:1fr; }
  .gb-price-grid { grid-template-columns:1fr; }
  .gb-restore-grid { grid-template-columns:repeat(4,1fr); }
  .gb-section { padding:56px 20px; }
  .gb-page-hero h1 { font-size:2rem; }
}
@media (max-width: 600px) {
  .gb-restore-grid { grid-template-columns:repeat(2,1fr); }
  .gb-page-hero h1 { font-size:1.75rem; }
}
