/** * CMS Component: Buttons * Overrides Bootstrap buttons to match CMS design language */ .btn { border-radius: var(--border-radius); font-weight: var(--font-weight-medium); padding: 0.5rem 1.25rem; transition: var(--transition-base); display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; height: 42px; /* Standardize height */ } .btn-sm { padding: 0.25rem 0.75rem; font-size: var(--font-size-sm); height: 32px; } .btn-lg { padding: 0.75rem 1.5rem; font-size: var(--font-size-lg); height: 52px; } /* Primary Button */ .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); color: var(--text-white); } .btn-primary:hover, .btn-primary:focus { background-color: var(--primary-dark); border-color: var(--primary-dark); color: var(--text-white); transform: translateY(-1px); box-shadow: var(--shadow-md); } /* Outline Primary */ .btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); } .btn-outline-primary:hover { background-color: var(--primary-color); color: var(--text-white); } /* White / Icon Button */ .btn-white { background-color: var(--bg-card); border: 1px solid var(--border-color); color: var(--text-main); } .btn-white:hover { background-color: #f8f9fa; border-color: #dee2e6; box-shadow: var(--shadow-sm); } /* Special Button Effects (Shine effect from main.ejs) */ .btn-shine { position: relative; overflow: hidden; } .btn-shine::after { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: all 0.5s ease; } .btn-shine:hover::after { left: 100%; } /* Action Button Group (Like Topbar screenshot) */ .btn-group-action { background-color: #fff; border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-sm); overflow: hidden; display: inline-flex; } .btn-group-action .btn { border: none; border-radius: 0; padding: 0.5rem 0.85rem; background: transparent; height: 38px; width: 42px; } .btn-group-action .btn:not(:last-child) { border-right: 1px solid var(--border-color); } .btn-group-action .btn:hover { background-color: #f8f9fa; transform: none; box-shadow: none; } /* Icon alignment inside buttons */ .btn i { font-size: 0.9em; } /* Icon specific colors for actions */ .text-action-add { color: #0d6efd !important; } .text-action-edit { color: #ffc107 !important; } .text-action-delete { color: #dc3545 !important; }