/* ================================================================
   Utilities - Helper Classes
   ================================================================ */

/* Spacing */
.pt-1 { padding-top: 0.25rem !important; }
.pt-2 { padding-top: 0.5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pt-5 { padding-top: 3rem !important; }

.pb-1 { padding-bottom: 0.25rem !important; }
.pb-2 { padding-bottom: 0.5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.pb-5 { padding-bottom: 3rem !important; }

.mb-1 { margin-bottom: 0.25rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }

/* Text */
.text-gradient { background: linear-gradient(135deg, var(--primary-green), var(--secondary-green)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.text-balance { text-wrap: balance; }
.font-heading { font-family: var(--font-heading); }
.font-body { font-family: var(--font-body); }

/* Glassmorphism */
.glass { background: rgba(255,255,255,0.72); backdrop-filter: saturate(140%) blur(16px); -webkit-backdrop-filter: saturate(140%) blur(16px); border: 1px solid rgba(255,255,255,0.35); }
.glass-dark { background: rgba(27, 67, 50, 0.75); backdrop-filter: saturate(140%) blur(16px); -webkit-backdrop-filter: saturate(140%) blur(16px); border: 1px solid rgba(255,255,255,0.08); }

/* Custom Buttons */
.btn-primary-custom { background: linear-gradient(135deg, var(--primary-green), var(--secondary-green)); color: #fff; border: none; border-radius: var(--radius-md); padding: 0.75rem 1.75rem; font-weight: 600; font-family: var(--font-heading); letter-spacing: 0.02em; box-shadow: 0 4px 15px rgba(46, 125, 50, 0.3); transition: all var(--transition-base); }
.btn-primary-custom:hover { background: linear-gradient(135deg, var(--primary-dark), var(--primary-green)); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(46, 125, 50, 0.4); }
.btn-outline-custom { background: transparent; color: var(--primary-green); border: 1.5px solid var(--primary-green); border-radius: var(--radius-md); padding: 0.75rem 1.75rem; font-weight: 600; font-family: var(--font-heading); letter-spacing: 0.02em; transition: all var(--transition-base); }
.btn-outline-custom:hover { background: var(--primary-green); color: #fff; }
