.ag-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-inline: 24px;
  border-radius: var(--ag-radius-btn);
  border: 1px solid transparent;
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform var(--ag-motion-ui) var(--ag-ease-premium), background-color var(--ag-motion-ui) var(--ag-ease-premium), border-color var(--ag-motion-ui) var(--ag-ease-premium), color var(--ag-motion-ui) var(--ag-ease-premium), box-shadow var(--ag-motion-ui) var(--ag-ease-premium);
}
.ag-btn:hover { transform: translateY(-2px); }
.ag-btn:active { transform: translateY(0) scale(.985); }
.ag-btn--primary { background: var(--ag-primary); color: var(--ag-white) !important; box-shadow: 0 8px 22px rgba(var(--ag-primary-rgb),.15); }
.ag-btn--primary:hover { background: var(--ag-forest); color: var(--ag-white) !important; }
.ag-btn--secondary { background: transparent; border-color: var(--ag-border); color: var(--ag-forest) !important; }
.ag-btn--block { width: 100%; }

.ag-card {
  background: var(--ag-white);
  border: 1px solid var(--ag-border);
  border-radius: var(--ag-radius-card);
  box-shadow: 0 0 0 rgba(0,0,0,0);
  overflow: clip;
  transition: transform var(--ag-motion-card) var(--ag-ease-premium), box-shadow var(--ag-motion-card) var(--ag-ease-premium), border-color var(--ag-motion-card) var(--ag-ease-premium);
}
.ag-card:hover { transform: translateY(-4px); box-shadow: var(--ag-shadow-soft); border-color: rgba(var(--ag-primary-rgb),.20); }
.ag-media { position: relative; overflow: hidden; border-radius: var(--ag-radius-media); background: var(--ag-sage); }
.ag-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--ag-motion-card) var(--ag-ease-premium); }
.ag-card:hover .ag-media img { transform: scale(1.025); }
.ag-badge { display: inline-flex; align-items: center; min-height: 30px; padding-inline: 12px; border-radius: 999px; background: var(--ag-sage); color: var(--ag-forest); font-size: 13px; font-weight: 650; }
