/* ===== G-Force Common Styles ===== */
:root {
  --gf-black:#0b0b0d;--gf-dark:#141418;--gf-dark2:#1c1c22;--gf-dark3:#24242c;
  --gf-gray:#3a3a48;--gf-gray-light:#6e6e82;--gf-text:#c8c8d8;--gf-text-bright:#eeeef4;--gf-white:#f8f8fc;
  --gf-accent:#e8a838;--gf-accent-light:#f0c060;--gf-accent-dark:#c08020;
  --gf-teal:#38c8b0;--gf-red:#e85050;
  --gf-font-display:'Outfit','Noto Sans JP',sans-serif;
  --gf-font-body:'Noto Sans JP',sans-serif;
  --gf-font-serif:'DM Serif Display',serif;
}

/* Override SWELL body for dark theme */
body { background:var(--gf-black)!important; color:var(--gf-text)!important; font-family:var(--gf-font-body)!important; }

/* Icon base */
.gf-icon { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px; }
.gf-icon svg { width:100%;height:100%; }

/* Container */
.gf-container { max-width:1200px;margin:0 auto;padding:0 24px; }
.gf-center { text-align:center; }

/* Buttons */
.gf-btn-primary {
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gf-accent);color:var(--gf-black);
  font-size:16px;font-weight:800;padding:16px 36px;border-radius:8px;
  border:none;cursor:pointer;transition:all 0.25s;font-family:var(--gf-font-body);
  text-decoration:none;
}
.gf-btn-primary:hover { background:var(--gf-accent-light);transform:translateY(-2px);box-shadow:0 8px 32px rgba(232,168,56,0.3);color:var(--gf-black); }
.gf-btn-primary--lg { font-size:18px;padding:20px 48px; }
.gf-btn-primary .arrow { transition:transform 0.2s; }
.gf-btn-primary:hover .arrow { transform:translateX(4px); }

.gf-btn-secondary {
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--gf-white);
  font-size:15px;font-weight:600;padding:16px 28px;border-radius:8px;
  border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.25s;
  font-family:var(--gf-font-body);text-decoration:none;
}
.gf-btn-secondary:hover { border-color:var(--gf-accent);color:var(--gf-accent);background:rgba(232,168,56,0.05); }

/* Section headers */
.gf-section-header { margin-bottom:48px; }
.gf-section-num { font-family:var(--gf-font-serif);font-size:48px;color:rgba(232,168,56,0.15);line-height:1;margin-bottom:-8px; }
.gf-section-title { font-family:var(--gf-font-display);font-size:clamp(24px,4vw,36px);font-weight:800;color:var(--gf-white);line-height:1.3; }
.gf-section-title em { font-style:normal;color:var(--gf-accent); }
.gf-section-desc { font-size:15px;color:var(--gf-gray-light);margin-top:12px;max-width:600px; }

/* Fade animation */
.gf-fade { opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease; }
.gf-fade.is-visible { opacity:1;transform:translateY(0); }

/* CTA block (shortcode) */
.gf-cta-block { text-align:center;padding:20px 0; }
.gf-cta-sub { display:flex;justify-content:center;gap:20px;margin-top:14px; }
.gf-cta-link { font-size:13px;color:var(--gf-gray-light);border-bottom:1px dashed var(--gf-gray);padding-bottom:2px;transition:color 0.2s;display:flex;align-items:center;gap:4px;text-decoration:none; }
.gf-cta-link:hover { color:var(--gf-accent);border-color:var(--gf-accent); }

/* Flow (shortcode) */
.gf-flow { max-width:700px;margin:0 auto; }
.gf-flow-steps { position:relative;padding-left:40px; }
.gf-flow-steps::before { content:'';position:absolute;top:24px;bottom:24px;left:15px;width:2px;background:linear-gradient(to bottom,var(--gf-accent),var(--gf-teal)); }
.gf-flow-step { position:relative;margin-bottom:32px; }
.gf-flow-step:last-child { margin-bottom:0; }
.gf-flow-dot { position:absolute;left:-40px;top:4px;width:30px;height:30px;background:var(--gf-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--gf-font-display);font-size:14px;font-weight:900;color:var(--gf-black);box-shadow:0 0 0 4px var(--gf-black),0 0 0 6px rgba(232,168,56,0.3); }
.gf-flow-dot--2 { background:var(--gf-accent-light); }
.gf-flow-dot--3 { background:var(--gf-teal); }
.gf-flow-step h3 { font-size:17px;font-weight:800;color:var(--gf-white);margin-bottom:6px; }
.gf-flow-step p { font-size:13px;color:var(--gf-gray-light);line-height:1.7; }
.gf-flow-tag { display:inline-block;margin-top:6px;font-size:11px;font-weight:700;color:var(--gf-teal);background:rgba(56,200,176,0.08);border:1px solid rgba(56,200,176,0.2);padding:3px 10px;border-radius:4px; }

/* Conditions (shortcode) */
.gf-cond-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px; }
.gf-cond-card { background:var(--gf-dark2);border:1px solid rgba(255,255,255,0.04);border-radius:10px;padding:20px;display:flex;align-items:flex-start;gap:14px; }
.gf-cond-icon { flex-shrink:0;width:40px;height:40px;background:rgba(232,168,56,0.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gf-accent); }
.gf-cond-icon .gf-icon { width:20px;height:20px; }
.gf-cond-info h4 { font-size:12px;color:var(--gf-gray-light);font-weight:500;margin-bottom:2px; }
.gf-cond-value { font-family:var(--gf-font-display);font-size:18px;font-weight:800;color:var(--gf-white); }
.gf-cond-value small { font-size:12px;font-weight:500;color:var(--gf-gray-light); }
.gf-cond-note { text-align:center;margin-top:16px;font-size:11px;color:var(--gf-gray); }

/* LP footer (shortcode) */
.gf-lp-footer { padding:32px 0;background:var(--gf-black);border-top:1px solid rgba(255,255,255,0.04);text-align:center; }
.gf-lp-footer p { font-size:11px;color:var(--gf-gray);margin-bottom:4px; }
.gf-lp-footer-links { margin-top:8px; }
.gf-lp-footer-links a { color:var(--gf-gray-light);font-size:11px;margin:0 8px;text-decoration:none; }
.gf-lp-footer-links a:hover { color:var(--gf-white); }

/* No-posts fallback */
.gf-no-posts { text-align:center;color:var(--gf-gray-light);font-size:14px;padding:40px; }

@media(max-width:768px) {
  .gf-cond-grid { grid-template-columns:1fr; }
  .gf-btn-primary,.gf-btn-secondary { width:100%;justify-content:center; }
  .gf-cta-sub { flex-direction:column;align-items:center;gap:10px; }
}
